C井字棋
来源:互联网 发布:农大网络远程教育 编辑:程序博客网 时间:2024/06/06 12:37
#include <stdio.h>#include <stdbool.h>int main(){ char qipan[3][3] = {{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}}; int step = 0; int player = 0; int pos = 0; bool win = false; int i , j; //绘制棋盘 printf("|-------------|\n"); printf("| %c || %c || %c |\n", qipan[0][0],qipan[0][1],qipan[0][2]); printf("|-------------|\n"); printf("| %c || %c || %c |\n", qipan[1][0],qipan[1][1],qipan[1][2]); printf("|-------------|\n"); printf("| %c || %c || %c |\n", qipan[2][0],qipan[2][1],qipan[2][2]); printf("|-------------|"); while(step<9) { printf("\n请选手%d落子:",step%2+1); scanf("%d",&pos); pos = pos - 1; //判断落子是否合理 if(qipan[pos/3][pos%3]==' ') { qipan[pos/3][pos%3] = step%2 ? 'O' : 'X'; printf("|-------------|\n"); printf("| %c || %c || %c |\n", qipan[0][0],qipan[0][1],qipan[0][2]); printf("|-------------|\n"); printf("| %c || %c || %c |\n", qipan[1][0],qipan[1][1],qipan[1][2]); printf("|-------------|\n"); printf("| %c || %c || %c |\n", qipan[2][0],qipan[2][1],qipan[2][2]); printf("|-------------|"); } else { printf("落子位置错误!"); continue; } //判断是否胜利 for(i=0;i<3;i++) { if(qipan[i][0]==qipan[i][1]&&qipan[i][1]==qipan[i][2]&&qipan[i][0]!= ' ') win = true; if(qipan[0][i]==qipan[1][i]&&qipan[1][i]==qipan[2][i]&&qipan[0][i]!= ' ') win = true; } if(qipan[0][0]==qipan[1][1]&&qipan[1][1]==qipan[2][2]&&qipan[0][0]!= ' ') win = true; if(qipan[0][2]==qipan[1][1]&&qipan[1][1]==qipan[2][0]&&qipan[0][2]!= ' ') win = true; if (win) { printf("\n选手%d胜利\n",step%2+1); system("pause"); return 0; } else step++; } printf("\n平局\n"); system("pause"); return 0; }
0 0
- 【C++】井字棋
- C井字棋
- 井字棋C源码
- C语言井字棋
- C语言井字棋
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- C# IntPtr pVoid 转 Object
- 纯CSS3实现的8种Loading动画效果
- Matrix Power Series(矩阵快速幂+求幂和)
- Spring中属性注入的方式
- 拦截器、过滤器、监听器区别
- C井字棋
- 过山车
- 网站新手引导(js+jquery)
- 87. Scramble String
- Golomb 编码
- 64位CentOS6.5搭建LAMP环境详细步骤
- 【Lua】【2】Lua基本的函数和控制结构
- Android中访问HTML源码并解决编码问题
- hudson部署