#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> char matrix[3][3]; //宏定义一个二维数组,表示棋盘 void init_matrix(void ) //初始化数组 { int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { matrix[i][j] = ' '; } } } void dis_matrix( ) //打印棋盘的格式 { int t; for (t = 0; t < 3; t++) { printf( " %c | %c | %c ", matrix[t][0], matrix[t][1], matrix[t][2]); if (t != 2) printf( "\n---|---|---\n"); } printf( "\n"); } void get_player_move(void ) //玩家下棋 { int x, y; printf( "请输入你要下棋的位置x和y: " ); scanf( "%d %d", &x, &y); x--; y--; if (matrix[x][y] != ' ' ) { printf( "请再一次输入:\n" ); get_player_move(); } else matrix[x][y] = 'X'; } void get_computer_move() //电脑下棋 { int i, j; for (i = 0; i < 3; i++) /*从(,)一直遍历到(,3), 有空格时电脑下棋*/ { for (j = 0; j < 3; j++) { if (matrix[i][j] == ' ' ) break; } if (matrix[i][j] == ' ' ) break; } if (i*j == 9) //判断棋盘是否下满 { printf( "draw\n"); exit(0); } else matrix[i][j] = '0'; } char check( ) //判断下棋输赢 { int i; for (i = 0; i < 3; i++) { if (matrix[i][0] == matrix[i][1] && matrix[i][1] == matrix[i][2]) return matrix[i][0]; } for (i = 0; i < 3; i++) { if (matrix[0][i] == matrix[1][i] && matrix[1][i] == matrix[2][i]) return matrix[0][i]; } if (matrix[0][0] == matrix[1][1] && matrix[1][1] == matrix[2][2]) return matrix[0][0]; if (matrix[0][2] == matrix[1][1] && matrix[1][1] == matrix[2][0]) return matrix[0][2]; return ' ' ; } int main() { char done=' '; printf( "请进入下棋游戏.\n" ); init_matrix(); do { dis_matrix(); get_player_move(); done = check(); if (done != ' ' ) break; get_computer_move(); done = check(); } while (done == ' ' ); if (done == 'X' ) printf( "player won !!!!\n"); else printf( "computer won!!!!\n"); dis_matrix(); system("pause"); return 0; }
棋盘游戏
原创举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
相关文章
-
HDOJ 1281 棋盘游戏
拆点二分图匹配 棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Me
sed #include i++ 数据 java -
HTML期末大作业~棋牌游戏静态网站(6个页面) HTML+CSS+JavaScript
HTML期末大作业~棋牌游戏静态网站(6个页面) HTML+CSS+JavaScript临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没有合适的模板?等等一系列问题。你想要解决的问题,在这篇博文中基本都能满足你的需求~原始HTML+CSS+JS页面设
个人设计web前端大作业 web课程设计网页规划与设计 游戏网页HTML HTML网页设计结课作业 游戏网页设计实现HTML
鹏哥C语言 2015-10-26
无心的执着 博主 回复了 鹏哥C语言 2015-10-29