圈叉游戏c语言,C语言圈叉棋练习.docx

C语言圈叉棋练习

要求:1、把棋盘清空2、显示棋盘3、使用循环进行游戏(每次放置一个心棋子),获得新棋子的行号(行号可能无效)获得新棋子的列号(列号可能无效)4、检查位置是否可用,放置新棋子,演示棋盘,判断输赢第一种只用主函数程序如下:#include int main() {char map[3][3] = {},palyer = 'O';int row = 0,col = 0;intnum = 0,num1 = 0;for (row = 0;row <= 2;row++) {for (col = 0;col <= 2;col++) {map[row][col] = '.';}}for (row = 0;row <= 2;row++) {for (col = 0;col <= 2;col++) {printf("%c ",map[row][col]);}printf("\n");}do {printf("请输入行号:");scanf("%d", &row);if (row < 1 || row > 3){continue;}printf("请输入列号:");scanf("%d", &col);if (col < 1 || col > 3){continue;}if (map[row -1][col - 1] != '.' ){continue;}map[row -1][col- 1] = palyer;palyer = 'X' - palyer + 'O';for (row = 0;row <= 2;row++) {for (col = 0;col <= 2;col++) {printf("%c ",map[row][col]);}printf("\n");}if (map[0][0] == map[0][1] && map[0][1] == map[0][2] && map[0][0] !='.') {printf("%c赢了\n",map[0][0]);break;}if (map[1][0] == map[1][1] && map[1][1] == map[1][2] && map[1][0] !='.') {printf("%c赢了\n",map[1][0]);break;}if (map[2][0] == map[2][1] && map[2][1] == map[2][2] && map[2][0] !='.') {printf("%c赢了\n",map[2][0]);break;}if (map[0][0] == map[1][0] && map[1][0] == map[2][0] && map[1][0] !='.') {printf("%c赢了\n",map[1][0]);break;}if (map[0][1] == map[1][1] && map[1][1] == map[2][1] && map[1][1] !='.') {printf("%c赢了\n",map[1][1]);break;}if (map[0][2] == map[1][2] && map[1][2] == map[2][2] && map[1][2] !='.') {printf("%c赢了\n",map[1][2]);break;}if (map[0][0] == map[1][1] && map[1][1] == map[2][2] && map[0][0] !='.') {printf("%c赢了\n",map[0][0]);break;}if (map[2][0] == map[1][1] && map[1][1] == map[0][2] && map[1][1] !='.') {printf("%c赢了\n",map[1][1]);break;}num++;} while (num < 9);if (num == 9) {printf("和棋\n");}return 0;}第二种方法:#include charg_Map[3][3];voidinit() {int row;int col;for (row = 0; row < 3; row++) {for (col = 0; col < 3; col++) {g_Map[row][col] = ' '; } }}voidshow_map() {printf("%c | %c | %c\n", g_Map[0][0], g_Map[0][1], g_Map[0][2]);printf("--+---+--\n");printf("%c | %c | %c\n", g_Map[1][0], g_Map[1][1], g_M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值