C语言实现简易扫雷小游戏语言实现简易扫雷小游戏
主要为大家详细介绍了C语言实现简易扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴
趣的小伙伴们可以参考一下
我们经常在电脑上面玩的扫雷游戏,很考验我们的判断能力,但是实现一个扫雷游戏并不是很困难,只要多注意一些细节就
好,就可以将一个简单的扫雷游戏写出来!
接下来先介绍扫雷游戏要实现的功能:
首先,要对雷阵进行初始化,在初始化的时候要注意要定义两个数组,一个是让我们扫雷的阵,另外一个就是显示某一个地方
的周围的雷的总个数的矩阵,在初始化的时候要注意为了避免传址的问题,我们把它写在主函数里面。
char mine[rows][cols];
char show[rows][cols];
int i = 0;
int j = 0;
for (i = 0; i < rows - 1; i++)
{
for (j = 0; j < cols - 1; j++)
{
mine[i][j] = '0';
show[i][j] = '*';
}
}
接下来就是电脑在随机布局雷阵的函数,这个函数要用到rand() 函数,来产生随机值,在雷阵里面随机布雷。
void set_mine(char mine[rows][cols])
{
int count = Count;
int x = 0;
int y = 0;
srand((unsigned)time(NULL));
while (count)
{
x = rand() % 9 + 1;
y = rand() % 9 + 1;
if (mine[x][y] == '0')
{
mine[x][y] = '1';
count--;
}
}
}
再有就是计算雷的个数的函数,要讲某一个坐标位置的周围8个位置的雷的个数算出来,并且将个数显示出来
int get_num(char mine[rows][cols], int x, int y)
{
int count = 0;
if (mine[x - 1][y - 1] == '1')//左上方
{
count++;
}
if (mine[x - 1][y] == '1')//左边
{
count++;
}
if (mine[x - 1][y + 1] == '1')//左下方
{
count++;
}
if (mine[x][y - 1] == '1')//上方
{
count++;
}
if (mine[x][y + 1] == '1')//下方
{
count++;
}
if (mine[x + 1][y - 1] == '1')//右上方
{
count++;
}
if (mine[x + 1][y] == '1')//右方
{