三子棋,五子棋,无论多少子棋,其原理都是一样的。下面我用五子棋为例讲解用C语言多文件编程实现五子棋。
设计电脑和玩家两个作为下棋的两方,用键盘输入作为玩家的游戏操作。
1.效果图:
程序总的构架:
我们只要输入坐标就可以和电脑对弈了。
电脑的棋子用 ‘0’ 表示,玩家的棋子用 ‘x’ 表示。
2.打印菜单
可以根据自己的爱好设计各种风格的菜单,自己自然赏心悦目,让自己的游戏更加美观。
// 菜单
menu()
{
printf("\n");
printf("*******************************\n");
printf("**** 欢迎来到五子棋游戏! ****\n");
printf("**** 1.进入游戏 ****\n");
printf("**** 0.退出游戏 ****\n");
printf("*******************************\n");
}
3.初始化棋盘
ROW, COL 分别表示棋盘的宽度和高度(即是棋盘的 x 和 y)。
一开始先把棋盘初始化为 ' ' (空格)。
void InitBoard(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 DisplayBoard(char board[ROW][COL], int row, int col)
{
int i = 0;
int j = 0;
for (i = 0; i < row; i++)
{
printf(" %d ", i+1); //打印棋盘 x 轴坐标提示
}
printf("\n");
for (j = 0; j < col; j++)
{
printf("---|"); //打印第一行棋盘
}
printf("\n");
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
printf(" %c |", board[i][j]); //打印竖标
}
printf(" %d ", i+1); //打印棋盘 y 轴坐标提示
printf("\n");
for (j = 0; j < col; j++)
{
printf("---|"); //打印横标
}
printf("\n");
}
}
5.电脑下棋
我是利用函数 strand() 函数和 rand() 函数让电脑在棋盘上空的地方随机下棋,用一个循环判断就可以实现。也可以设计