该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
简单的五子棋代码,
#include
/*
struct judgeblack
{
char chess[15][15];
//int i,j;
}qipan;
*/
int i,j; //
int x,y;
int n = 4;
int flag = 1;
int exchange =0;
char chess[15][15];
void qiju() //定义一个函数,显示棋局布局
{
int i,j;
for(i = 0;i < 15;i ++)
{
for(j = 0;j < 15;j ++)
{
//struct judge_qipan;
chess[i][j] = '*';
//printf("%c ",qipan.chess[i][j]);
}//printf("\n");
}
}
void printqiju() //定义一个函数,打印棋盘布局
{
int i,j;
for(i = 0; i < 15;i ++)
{
for(j = 0; j <15;j ++)
{
printf("%c ",chess[i][j]);
}printf("\n");
system("color E"); //调用系统函数,改变字体颜色,可用可不用,用了会影响运行速度,占内存太多。
}
}
void gogame() // 游戏打印开始
{
printf("%20c*************************************\n\n",0);
printf("%25cWELCOME TO WUZIQI !\n",0);
printf("%30cGAME START!\n\n",0);
printf("%20c*************************************\n\n",0);
fflush(stdin);
//system("time 5");
}
void main()
{
/*
struct judgeWhite
{
char chess[15][15];
int i,j;
};
*/
gogame();
qiju(chess); //调用函数
printqiju(chess);
while(flag)
{
if(exchange == 0)
{
fflush(stdin);
printf("\n黑子下,请输入几行几列:");
scanf("%d,%d",&x,&y);
//system("cls");
chess[x-1][y-1] = '\002';
if(chess[x-1][y-1]=='\002')
{
if(chess[x-1][y-1]=='\002'
&&chess[(x-1)+1][y-1]=='\002'
&&chess[(x-1)+2][y-1]=='\002'
&&chess[(x-1)+3][y-1]=='\002'
&&chess[(x-1)+4][y-1]=='\002'
)
{
printf("黑子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\002'
&&chess[x-1][(y-1)+1]=='\002'
&&chess[x-1][(y-1)+2]=='\002'
&&chess[x-1][(y-1)+3]=='\002'
&&chess[x-1][(y-1)+4]=='\002'
)
{
printf("黑子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\002'
&&chess[(x-1)+1][(y-1)+1]=='\002'
&&chess[(x-1)+2][(y-1)+2]=='\002'
&&chess[(x-1)+3][(y-1)+3]=='\002'
&&chess[(x-1)+4][(y-1)+4]=='\002'
)
{
printf("黑子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\002'
&&chess[(x-1)-1][y-1]=='\002'
&&chess[(x-1)-2][y-1]=='\002'
&&chess[(x-1)-3][y-1]=='\002'
&&chess[(x-1)-4][y-1]=='\002'
) //开始倒序判断
{
printf("黑子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\002'
&&chess[x-1][(y-1)-1]=='\002'
&&chess[x-1][(y-1)-2]=='\002'
&&chess[x-1][(y-1)-3]=='\002'
&&chess[x-1][(y-1)-4]=='\002'
)
{
printf("黑子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\002'
&&chess[(x-1)-1][(y-1)-1]=='\002'
&&chess[(x-1)-2][(y-1)-2]=='\002'
&&chess[(x-1)-3][(y-1)-3]=='\002'
&&chess[(x-1)-4][(y-1)-4]=='\002'
)
{
printf("黑子胜利,游戏结束!\n");
break;//flag = 0;
}
}
exchange = 1;
}
system("cls");
printqiju(chess );
if(exchange == 1)
{
fflush(stdin);
printf("\n白子下,请输入几行几列:");
scanf("%d,%d",&x,&y);
chess[x-1][y-1] ='\004';
if(chess[x-1][y-1]=='\004')
{
if(chess[x-1][y-1]=='\004'
&&chess[(x-1)+1][y-1]=='\004'
&&chess[(x-1)+2][y-1]=='\004'
&&chess[(x-1)+3][y-1]=='\004'
&&chess[(x-1)+4][y-1]=='\004')
{
printf("白子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\004'
&&chess[x-1][(y-1)+1]=='\004'
&&chess[x-1][(y-1)+2]=='\004'
&&chess[x-1][(y-1)+3]=='\004'
&&chess[x-1][(y-1)+4]=='\004')
{
printf("白子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\004'
&&chess[(x-1)+1][(y-1)+1]=='\004'
&&chess[(x-1)+2][(y-1)+2]=='\004'
&&chess[(x-1)+3][(y-1)+3]=='\004'
&&chess[(x-1)+4][(y-1)+4]=='\004')
{
printf("白子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\004'
&&chess[(x-1)-1][y-1]=='\004'
&&chess[(x-1)-2][y-1]=='\004'
&&chess[(x-1)-3][y-1]=='\004'
&&chess[(x-1)-4][y-1]=='\004') //开始倒序判断
{
printf("白子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\004'
&&chess[x-1][(y-1)-1]=='\004'
&&chess[x-1][(y-1)-2]=='\004'
&&chess[x-1][(y-1)-3]=='\004'
&&chess[x-1][(y-1)-4]=='\004')
{
printf("白子胜利,游戏结束!\n");
break;//flag = 0;
}
if(chess[x-1][y-1]=='\004'
&&chess[(x-1)-1][(y-1)-1]=='\004'
&&chess[(x-1)-2][(y-1)-2]=='\004'
&&chess[(x-1)-3][(y-1)-3]=='\004'
&&chess[(x-1)-4][(y-1)-4]=='\004')
{
printf("白子胜利,游戏结束!\n");
break;//flag = 0;
}
}
exchange = 0;
}
system("cls");
printqiju(chess );
}
}