目录
前言
扫雷,相信各位都不陌生,以前每台电脑上面都会自带这个小游戏。因此,它可以说是我们的童年回忆了,今天来用C语言实现简单的扫雷小游戏。
一、游戏思路
1、程序开始时出现菜单,让玩家选择开始游戏或者退出游戏。
2、玩家选择开始游戏后,出现雷盘,并且随机布置雷。
3、玩家进行排雷
二、游戏框架
1.菜单界面
1.菜单:
void menu()
{
printf("**************************\n");
printf("*****按 1 开 始 游 戏*****\n");
printf("*****按 0 退 出 游 戏*****\n");
printf("**************************\n");
}
2.菜单的选择:
int main()
{
int input = 0;
do
{
menu();
printf("做出你的选择:");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏~)\n");
break;
default:
printf("请重新选择\n");
break;
}
} while (input);
return 0;
}
3.实际效果:
2.游戏主体
1.初始化雷盘及展示界面
建立两个二维数组作为雷盘,一个用于初始化雷盘,即埋雷;另一个雷盘用于作展示界面,显示玩家的排雷过程。雷盘的数组大小为11*11,方便计算扫雷时周围雷的数量,并防止数组越界。展示界面的数组大小9*9即可。
void game()
{
char mine[ROWS][COLS] = { 0 }; //放置布置的雷的信息
char show[ROWS][COLS] = { 0 }; //放置排查出雷的信息
InitBoard(mine, ROWS, COLS, '0'); //初始化雷盘
InitBoard(show, ROWS, COLS, '*'); //初始化展示界面
DisplayBoard(show, ROW, COL); //打印展示界面
}
void InitBoard(char board[ROWS][COLS], int rows, int cols, char set)
{
int i = 0;
int j = 0;
for (i = 0; i < rows; i++)
{
for (j = 0; j < cols; j++)
board[i][j] = set;
}
}
void DisplayBoard(char board[ROWS][COLS], int row, int col)
{
int i = 0;
int j = 0;
for (i = 0; i <= col; i++)
{
printf("%d ", i);
}
printf("\n");
for (i = 1; i <= row; i++)
{
printf("%d ", i);
for (j = 1; j <= c