前言
对于新手,前面学习了分支和循环语句、数组、函数的内容
我们可以自主编写一些有趣的游戏
本次我将编写一个n子棋游戏
因为编写游戏是一个比较大的工程,我们可以将任务拆分成
三个文件—>两个源文件和一个头文件
test.c(用来测试游戏的逻辑)
game.c(用来实现游戏代码)
game.h(用来实现游戏代码的声明,如:函数声明和符号定义)
1、test.c
1.1、游戏菜单menu()
1.2、游戏内容game()——>内容比较丰富,具体内容在game.c完成,test.c负责函数的调用和测试
先预览一遍游戏的测试源文件
在这里插入代码片#define _CRT_SECURE_NO_WARNINGS
//这个文件用来测试游戏的逻辑
#include "game.h"
void menu()
{
printf("*********************************************************\n");
printf("********************** 1、play ********************\n");
printf("********************** 0、exit ********************\n");
printf("*********************************************************\n");
}
void game()
{
char board[ROW][COL] = {
0 };
InitBoard(board,ROW, COL);//初始化棋盘的功能
DisplayBoard(board, ROW,COL);//打印棋盘,本质上是打印数组
//开始下棋
char ret = 0;
while (1)
{
PlayerMove(board, ROW, COL);
ret = IsWin(board, ROW, COL);
if (ret != 'C')
{
break;
}
DisplayBoard(board, ROW, COL);
ComputerMove(board, ROW, COL);
ret = IsWin(board, ROW, COL);
if (ret != 'C')
{
break;
}
DisplayBoard(board, ROW, COL);
}
if (ret == '*')
{
printf("玩家赢\n");
}
else if (ret == '#')
{
printf("电脑赢\n");
}
else
{
printf("平局\n");
}
DisplayBoard(board, ROW, COL);
}
int main()
{
srand((unsigned int)time(NULL));//设置随机数的生成起点,
int input = 0;
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();//确定玩这个游戏之后,在这里封装游戏
//printf("三子棋\n");
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
} while (input);
return 0;
}```
## 1.1、游戏菜单
> 有关于游戏的呈现:第一次进游戏的时候,提供play和exit的选项
> 第一次游戏结束之后可以选择exit进行游戏的退出。
```c
void menu()
{
printf("*********************************************************\n");
printf("********************** 1、play ********************\n");
printf("********************** 0、exit ********************\n");
printf("*********************************************************\n");
}
int main()
{
srand((unsigned int)time(NULL));//设置随机数的生成起点,
int input = 0;
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
//确定玩这个游戏之后,在这个case里封装游戏
printf("三子棋\n");
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");