目录
一.三子棋介绍
三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏分为双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成一条线就视为胜利,而对方就算输了,但是三子棋在很多时候会出现和棋的局面。
二.代码思路
首先创建三个文件,分别是:
test.c //测试游戏的逻辑
game.c //游戏代码的实现 game.h //游戏代码的声明(函数声明,符号定义)
上述内容详细介绍请看本文:函数基础
要在游戏中实现以下几个目标:
开始菜单➡游戏实现➡输赢判断➡游戏优化(更多功能)
三.开始菜单
在开始菜单中要完成三个功能,分别是退出游戏,开始游戏和打印菜单
菜单打印自定义一个函数,代码如下:
void menu() {
printf("**************************\n");
printf("***** 1.play 0.exit *****\n");
printf("**************************\n");
}
//在test.c文件中
开始和退出游戏使用do-while语句(至少循环一次),退出条件可以是玩家输入值为0,代码如下:
int main() {
int input;
do {
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input) {
case 1:
game();
break;
case 0:
printf("退出游戏");
break;
default : printf("输入错误");
break;
}
} while (input);
return 0;
}
//在test.c文件中
使用switch语句来打印给玩家的提示,或者正式进入游戏
四.游戏实现
游戏实现要分为两步:1.棋盘打印与棋盘初始化、2.玩家和电脑比拼
1.棋盘打印与初始化:
在game.h文件中声明一个函数Initboard,在game.c文件定义该函数,实现棋盘的初始化,在test.c文件中使用该函数需要的棋盘效果如下图:
为实现该效果,可先定义一个二维数组,并在数组中赋初值空格(一定要,要不然就都是随机数了),并且每一个地址都要赋空格(一定要,要不然除了赋空格的地址以外其他位置初始化为0),并把该二维数组作为后续电脑与玩家对战的平台
定义完二维数组后,开始初始化整个棋盘&#