c语言实现简单的多子棋游戏# 系列文章目录
c语言实现简单的多子棋游戏
前言
*大家好呀!今天我们要探究怎么用c语言实现以三子棋为基础的五子棋、十子棋等等多子棋游戏。游戏对代码的要求不高,只需要学习c语言的输入输出、分支、循环、数组知识即可实现。
下面就让我们对代码抽丝剥茧,一层一层地进入多子棋的世界吧!
- test.c 测试游戏的逻辑
- game.c 游戏代码的实现
- game.h 游戏代码的申明(函数申明、符号定义)*
一、设计思路
1、打印菜单 menu()
2、三子棋函数实现 game()
1)初始化三行三列的棋盘 InitBoard()
2)打印棋盘 DisplayBoard()
3) 下棋
玩家下棋 PlayerMove()
判断输赢 IsWin()
a、玩家赢 *
b、电脑赢 #
c、平局 q
d、游戏继续 c
电脑下棋ComputerMove()
判断输赢
多子棋只需要将game.h文件中的
#define ROW 3
#define COL 3
改成对应的数字即可。
例:五子棋
#define ROW 5
#define COL 5
二、详细步骤
1.test.c
代码如下(示例):
#include "game.c"
void menu()
{
printf("-----------------------------------------------\n");
printf("----------------- 1 、play --------------------\n");
printf("----------------- 0 、exit --------------------\n");
printf("-----------------------------------------------\n");
}
void game()
{
char ret = 0;//初始化IsWin()函数返回值
char board[ROW][COL] = {
0 };//
InitBoard(board, ROW, COL);//初始化棋盘
DisplayBoard(board, ROW, COL);//打印棋盘
while (1)
{
PlayerMove(board, ROW, COL);//玩家下棋
ret=IsWin(board, ROW, COL);//判断输赢
if(ret != 'c')//ret接收IsWin()函数返回值,返回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");
}
if (ret=='#')//返回#,电脑赢
{
printf("电脑赢!\n");
}
if(ret=='q')//返回q,平局
{
printf("平局!\n");
}
DisplayBoard(board, ROW, COL);
}
int main()
{