intmain(){int true =0;char ret =0;do{char box[3][3]={0};box_jl(box);menu();printf("请选择->");scanf("%d",&true);switch(true){case1:Playgame(box,3,3);while(1){myplay(box,3,3);Playgame(box,3,3);
ret =win(box,3,3);if(ret !=' ')break;
ret =full(box,3,3);if(ret !=' ')break;printf("电脑走:\n");complay(box,3,3);Playgame(box,3,3);
ret =win(box,3,3);if(ret !=' ')break;
ret =full(box,3,3);if(ret !=' ')break;}break;case0:printf("退出游戏!\n");break;default:printf("输入错误,重新输入\n");break;}if(ret =='*')printf("玩家胜\n");if(ret =='#')printf("电脑胜\n");if(ret =='q')printf("平局\n");}while(true);system("pause");return0;}
voidmyplay(char box[3][3],int row,int col){int x =0;int y =0;printf("输入你要下的坐标->");scanf("%d%d",&x,&y);if(x >0&& x <4&& y >0&& y <4){if(box[x -1][y -1]==' '){
box[x -1][y -1]='*';}elseprintf("坐标有误,请重新输入\n");}elseprintf("坐标有误,请重新输入\n");}
同样的电脑下棋
电脑下棋通过产生随机函数来确定下的位置
voidcomplay(char box[3][3],int row,int col){int a =0;int b =0;while(1){srand((unsigned)time(NULL));
a =rand()% row +1;
b =rand()% col +1;if(box[a -1][b -1]==' '){
box[a -1][b -1]='#';break;}}}