一.游戏简介
五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。
棋具与围棋通用,起源于中国上古时代的传统黑白棋种之一。主要流行于华人和汉字文化圈的国家以及欧美一些地区,是世界上最古老的棋。
容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。已在各个游戏平台有应用。
二.游戏的实现
实现本游戏有3个文件。test.c进行游戏逻辑的测试。game.h自定义头文件。
game.c游戏功能的实现。
三.玩法详解
1.最基本逻辑的实现
void test()
{
srand((unsigned int)time(NULL));
int input = 0;
do
{
menu();
printf("请输入你想选择的选项\n");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误请重新输入\n");
break;
}
} while (input);
}
int main()
{
test();
return 0;
}
2.打印菜单
void menu()
{
printf("*********************************\n");
printf("***** 1.play ****************\n");
printf("***** 0.exit ****************\n");
printf("*********************************\n");
}
3.棋盘初始化
void Initialize(char board[ROW][COL], int row, int col)
{
int i = 0;
int j = 0;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
board[i][j] = ' ';
}
}
}
4.棋盘的打印
void PrintBoard(char board[ROW][COL], int row, int col)
{
int i = 0;
for (i = 0; i < row; i++)
{
int j = 0;
for (j = 0; j < col; j++)
{
printf(" %c ", board[i][j]);
if (j < col - 1)
printf("|");
}
printf("\n");
if (i < row - 1)
{
int j = 0;
for (j = 0; j < col; j++)
{
printf("---");
if (j < col - 1)
printf("|");
}
printf("\n");
}
}
}
5.玩家下棋
void Play_move(char board[ROW][COL], int row, int col)
{
printf("玩家下棋\n");
while (1)
{
printf("请输入坐标:");
int x = 0;
int y = 0;
scanf("%d %d", &x, &y);
if (x >= 1 && x <=