介绍
深入浅析C语言实现三子棋游戏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1。首先打印出菜单。
2。创建一个二维数组板用来储存三子棋的元素,并对其进行初始化。
空白Initboard (char(行)(COL), int, int)上校 { int i=0; int j=0; (我=0;我& lt;行;我+ +) { (j=0;j & lt;上校;j + +) { 董事会[我][j]=& # 39;& # 39;; } } }3。打印九宫格棋盘。
空白Displayboard (char(行)(COL), int, int)上校//打印棋盘 { int我; int j; (我=0;我& lt;行;我+ +) { (j=0;j & lt;上校;j + +) { printf (“% c“董事会[我][j]); 如果(j==col - 1) 继续; printf (“|”); } printf (“\ n"); 如果我& lt;行- 1) printf (“- - - - - - - - - - - - \ n"); } }4。使用Playermove和Computermove函数来对板数组进行更改,模拟玩家和电脑落子情况。
空白Playermove (char(行)(COL))//玩家输入坐标 { 而(1) { int x=0; int y=0; printf(“请玩家输入坐标“); scanf_s (“% d % d", x,, y); 如果(x & lt;=行,,x祝辞=1,,y & lt;=坳,,y祝辞=1)//判断输入的坐标是否越界 { 如果董事会[x - 1] [y - 1)==& # 39;& # 39;)//输入的坐标必须为空才可以落子 { 董事会(x - 1) (y - 1)=& # 39; * & # 39;; 打破; } 其他的 printf(“坐标被占用,请重新输入\ n"); } 其他的 printf(“坐标有误,请重新输入\ n"); } } 空白Computermove (char(行)(COL))//电脑输入坐标 { int x=0; int y=0; 而(1) { x=rand () % 3;//使用兰德函数生成随机数并取余得到电脑落子坐标 y=rand () % 3; 如果董事会[x] [y]==& # 39;& # 39;) { printf(“电脑输入坐标% d % d \ n", x + 1, y + 1); 董事会[x] [y]=& # 39; # & # 39;; 打破;//打印后跳出循环 } } }5。玩家和电脑每落一次子,就要进行一次判断是否获胜,根据返回值来进行判断游戏结果。
int Iswin (char(行)(COL), int, int坳)//判断谁获胜 { int我; int j;//1为玩家获胜0为电脑获胜2为平局 (我=0;我& lt;行;我+ +) { 如果板[我][0]==板[我][1],,板[我][1]==板[我][2],,董事会[我][1]==& # 39;* & # 39;)//判断同一行是否相等 返回1; else if(板[我][0]==板[我][1],,板[我][1]==板[我][2],,董事会[我][1]==& # 39;# & # 39;) 返回0; } (j=0;j & lt;上校;j + +) { 如果董事会[0][j]==董事会[1][j],,董事会委员会[1][j]==[2] [j],,董事会[1][j]==& # 39; * & # 39;)//判断同一列是否相等 返回1; else if(板[0][j]==板[1][j],,董事会委员会[1][j]==[2] [j],,董事会[1][j]==& # 39; # & # 39;) 返回0; } 如果董事会[0][0]==董事会[1][1],,董事会[1][1][2][2]==董事会,,董事会[1][1]==& # 39;* & # 39;)//判断左对角线是否相等 返回1; else if(板[0][0]==板[1][1],,董事会[1][1][2][2]==董事会,,董事会[1][1]==& # 39;# & # 39;) 返回0; 如果董事会[0][2]==董事会[1][1],,董事会[1][1][2][0]==董事会,,董事会[1][1]==& # 39;* & # 39;)//判断右对角线是否相等 返回1; else if(板[0][2]==板[1][1],,董事会[1][1][2][0]==董事会,,董事会[1][1]==& # 39;# & # 39;) 返回0; 如果(全(板、行、坳))//判断是否平局 返回2; 返回3;//返回3为继续进行游戏 }6。函数声明,宏定义,函数的定义实现,测试。
深入浅析C语言实现三子棋游戏