一、
首先先两个创建原文件和一个头文件
test.c 测试游戏的逻辑
game.c 游戏代码的实现
game.h 游戏代码的声明
先弄一个简易的菜单
switch分支语句中的case 1、case 0 分别对应菜单里的 1、play 和 0、exit
二、
我们需要一个数组来存储这些字符
其他没有符号的格子用空格来替代
board 用来存放字符,所以是char类型
IntBoard 初始棋盘的函数 (需要参数)
在头文件game.h 写函数声明
row 是棋盘的行数,col 是一行有多少个字符
InitBoard 函数的实现(需要参数)
DisplayBoard 打印棋盘
注:#include"game.h"是为了方便声明,不用每个文件都声明一遍
DisplayBoard 函数的声明
注:ROW 和 COL 是为了方便日后改进棋盘的行列数
DisplayBoard 函数的实现
if(j < col -1) 是为了让 | 少打一列
if(i < row -1) 让 --- 少打一行
三、
PlayMove 玩家移动
PlayMove 函数声明
PlayMove 函数实现
因为数组的下标是从0开始的,所以x 和 y 要分别-1
ComputerMove 电脑下棋
函数声明
使用rand函数产生0~2的随机值
rand函数所需的头文件
四、
IsWin 函数
四种情况
ret 接收到 * 玩家赢 接收到 # 电脑赢 接收到 c 继续循坏
最后一种情况棋盘满了,平局返回 Q
声明 IsWin函数 和 IsFull函数
IsFull函数是用来判断是否平局的,只要棋盘里还有空格就返回0,没有就返回1
IsWin是用来判断输赢的
分别从 行 列 对角线来判断
三子棋代码完成