学习目标:
如何运用C/C++语言实现三子棋这一经典的游戏呢?其实只要基本掌握C语言就可以实现。相信在这篇博文的详细讲解中,朋友们也一定可以做出属于自己的“三子棋小游戏”。
下面跟着我一起看看吧!
GAME思路
为了使读者通俗易懂,接下来我们先过一边游戏的整体思路:
1、 我们需要建立一个菜单,来让玩家选择开始游戏。(玩家选择1.开始游戏。玩家选择2.退出游戏。)
2、 玩家选择1开始游戏,我们需要在屏幕上打印出一个九宫格(在这一步之前我们需要做的是将九宫格初始化)
3、 我们选择让玩家开始下棋,然后电脑开始下棋。(这之间需要做的是判断输赢)
大致思路就是这样,接下来我们来实现它。为了逻辑更清晰,我们使用模块化来书写代码。
GAME 准备
我们需要建立三个文件
1. test.c //测试三子棋游戏运行的逻辑
2. game.c //游戏的实现
3. game.h //函数的声明
GAME三个文件的实现
test.c文件实现
书写一个主函数:
int main()
{
test();
return 0;
}
建立菜单界面:
void menu()
{
printf("##################\n");
printf("#####1. play #####\n");
printf("#####0. exit #####\n");
printf("##################\n");
}
void test()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu(); //打印菜单函数
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择\n");
}
} while (input);
}
GAME主体部分
void game()
{
char ret = '0';
//存放下棋的数据
char board[ROW][COL] = {
0 };
//初始化棋盘
InitBoard(board, ROW, COL);
//打印棋盘
DisplayBoard(board, ROW, COL);
while (1)
{
//玩家下棋
player_move(board, ROW, COL);
DisplayBoard(board, ROW, COL);
//判断输赢
ret = is_win(board,ROW,COL);
if (ret != 'C')