一.扫雷介绍
它的基本规则是随便点一个小格子,就会出现一个小方块。上面显示的数字意味着周围的八个格子里会有几个地雷。例如,1表示周围只有一个矿。右键单击可以标记该网格,左键单击可以打开该网格。
扫雷规则是:首先点击顶部的一个小格子,会出现一个小方块。上面显示的数字代表了周围八个网格中的几个矿。只需要判断地雷植旗。找到所有地雷就是胜利。
二.游戏基本功能实现
1.初始化棋盘
void InitBoard(char board[ROWS][COLS], int rows, int cols, char set)
{
int i = 0;
for (i = 0; i < rows; i++)
{
int j = 0;
for (j = 0; j < cols; j++)
{
board[i][j] = set; //把mine数组初始化字符0,show数组初始化*
}
}
}
2.打印棋盘
void DisplayBoard(char board[ROWS][COLS], int row, int col)
{
int i = 0;
int j = 0;
printf("---------扫雷----------\n");
for (j = 0; j <= col; j++)
{
printf("%d ", j);//打印列号
}
printf("\n");
for (i = 1; i <= row; i++)
{
printf("%d ", i);
for (j = 1; j <= col; j++)
{
printf("%c ", board[i][j]);
}
printf("\n");
}
printf("---------扫雷----------\n");
}
3.布置雷
void SetMine(char mine[ROWS][COLS], int row, int col)
{
int count = easy_count;//设置10个雷
while (count)
{
int x = rand() % row + 1;
int y = rand() % col + 1;//生成随机坐标
if (mine[x][y] == '0')
{
mine[x][y] = '1';//为有效数组放置雷
count--;
}
}
}
4.排查雷
void Fine_Mine(char mine[ROWS][COLS],