五子棋
//5.完善五子棋程序
#include <stdio.h>
#define NR 8
void showBg(char bg[NR][NR]);
//能下返回真 不能下则返回假
int checkDown(char bg[NR][NR],int x,int y);
//如果发生胜负关系 则返回真 否则返回假
int checkWin(char bg[NR][NR],int x,int y,int flag);
int main(void)
{
char bg[NR][NR]={0};
int x,y,flag=1;//1:表示A方'#' -1表示B方'M'
showBg(bg);
while(1)
{
//提示某方下子
printf("[%s方下子]:",flag==1?"A":"B");
scanf("%d%d",&y,&x);
//检查yx处是否可下子
if(!checkDown(bg,x,y))
{
printf("\033[31m此处不可下子,请重下!\033[0m\n");
continue;
}
//能下则下
bg[y][x]=flag;
showBg(bg);
//检查胜负关系
if(checkWin(bg,x,y,flag))
{
printf("\033[32m恭喜 %s 方胜利!!!!!!!\033[0m\n",flag==1?"A":"B");
break;