棋盘样式为 :
根据之前做的猜数字游戏,可以知道用 do.while循环
标题2:main函数:
最基本的思路如下:
标题2:game函数
接下来完成game那块
1.要下哪一块,它的横纵坐标可知用二维数组
2.令人下的棋子为字符*,电脑下的为字符#,数组类型为字符型
test.c,game.c引用头文件的话,那么直接在game.h内引用#include<stdio.h>,如下
标题3:打印和初始化棋盘
然后是对棋盘的打印
从行看: | | 三个空格,一个竖线循环 ,除了最后一列没有竖线
---|---|--- 三个---,一个竖线循环,除了最后一列没有竖线
我们发现,第一行竖杠前又三个空格,有人说\0打印出来也看不见,我们来试一下
代码如下:
注意,我们发现第一行竖杠前就两个空格的距离
原因是我们这里初始化为0,没有占用位置
最简单的方法就是遍历数组,把它初始化为空格
我们发现,最后一行不需要---|---|---
如果把棋盘改成10*10的
原因是我们的列没有改,一直为3列
标题4:玩家下棋
接下来就是玩家下棋 为了更简单,我们把它改成3*3
我们要考虑几点:
1.玩家选的坐标超出了范围,若超出范围,重新输入,即需要用到while循环
2.玩家选的坐标已经被占用
3.玩家输入的坐标是从1开始的
标题5:电脑下棋
因为是随机性,就要用到rand,srand函数(不理解可看1-100猜数字游戏,里面详细介绍了它们)
标题6:判断输赢
结局有以下可能性:
1.玩家赢 返回 *
2.电脑赢 返回 #
3.平局 返回 Q
4.继续游戏 返回 C
当前函数写死了 不能动态判断三个元素是否相等。。目前没有拓展
标题7:结果