- 博客(0)
- 资源 (2)
- 收藏
- 关注
用c++编写的五子棋游戏
用c++编写的五子棋游戏
// Five.cpp: implementation of the CFive class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "gobang.h"
#include "Five.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
BOOL debugqian = false;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CFive::CFive()
{
}
CFive::~CFive()
{
}
BOOL CFive::has_five(int color)
{
//color = 1表示黑子,color = 2表示白子
//判断是否出现了5个子想连的情况
int m,n,i,j;
for(m=1;m<16;m++)
for(n=1;n<16;n++)
{
if(points[m][n]==color)
{
int p=1,s=1,zx=1,yx=1;
for( i=1;i<5;i++)
{if(n-i>=0&&points[m][n-i]==color)
p++;
else break;
}
for( i=1;i<5;i++)
{
if(n+i<16&&points[m][n+i]==color)
p++;
else break;
}
for( i=1;i<5;i++)
{
if(m-i>=0&&points[m-i][n]==color)
s++;
else break;
}
for( i=1;i<5;i++)
{
if(m+i<16&&points[m+i][n]==color)
s++;
else break;
}
for( i=1;i<5;i++)
{
if(m-i>=0&&n+i<16&&points[m-i][n+i]==color)
zx++;
else break;
}
for( i=1;i<5;i++)
{
if(n-i>=0&&m+i<16&&points[m+i][n-i]==color)
zx++;
else break;
}
for( i=1;i<5;i++)
{
if(m-i>=0&&n-i>=0&&points[m-i][n-i]==color)
yx++;
else break;
}
for( i=1;i<5;i++)
{
if(m+i<16&&n+i<16&&points[m+i][n+i]==color)
yx++;
else break;
}
if(p>=5||s>=5||zx>=5||yx>=5)
return true;
}
}
return false;
}
void CFive::Clear()
{
int i,j;
for(i=1;i<=15;i++)
for(j=1;j<=15;j++)
{
points[i][j] = 0;//先清空
}
}
2009-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人