前言
扫雷游戏就是在一个棋盘内放置一定的雷数,玩家可以不断地排除雷来实现扫雷,如果附近没有雷的话就可以排除附近一片附近没有雷的棋子,如果碰到雷了游戏就失败了,如果棋盘只剩下雷的话排雷就成功了。
如果没有玩过扫雷的话可以点击这里体验一下:扫雷
实现目标
最终实现的样式如下(可以根据自身需要进一步加以改进):
扫雷视屏演示
实现步骤
打印菜单
提供选项供玩家选择,是开始游戏还是退出游戏
void menu(void)
{
printf("***********************\n");
printf("***** 1、开始游戏 *****\n");
printf("***** 0、退出游戏 *****\n");
printf("***********************\n");
}
初始化棋盘
在布置棋盘的时候,我们需要创建两个棋盘也就是二维数组,因为我们在进行扫雷的时候需要将雷隐藏起来,不能让玩家看到,而且不能将雷的位置改变,所以我们创建两个棋盘,一个用来存放雷的位置(简称雷盘),一个用来展示。我们就可以根据雷盘的信息来打印棋盘。首先需要初始化棋盘将雷盘全部初始化为字符‘0’,将棋盘全部初始化为‘*’。
void init_board(char board[ROWS][COLS], int row, int col, char ch) //ch用来控制棋子的样式
{
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
board[i][j] = ch; //将二维数组里的全部元素都初始化为
}
}
}
布置雷
布置雷的时候需要使用随机数函数rand来实现雷的随机布置,在使用rand函数之前又需要调用函数srand,使用srand 的时候又需要使用时间戳函数time。这跟三子棋中电脑下棋是一样的。
void init_mine(