扫雷
当我们学习到了数组的时候,我们可以尝试写出三子棋(见前文)和扫雷这两个小游戏,今天我就带来如何用c语言写出一份扫雷来
(不得不说,作为一个C语言差点挂科的人,写完扫雷成就感十足好吧!)
那么就开始吧!
首先,通过写完这两个小游戏,我发现其实写个程序的第一步就是构建好框架,分成不同的函数,然后逐个攻坚,最后,你就发现,you get it!
和三子棋一样,将整个工程分为game.c,game.h和mine sweeping.c三个文件。如下图
另外,对于扫雷这个程序,还有几点需要提前注意
1 为了能计算不为雷的地方周围八个空有几个雷,我们要保证在边界的字符周围也有八个字符,我们需要采用在一个大数组里面输出一个小数组,像下图,输出绿色框里的数组
所以,我们需要定义几个数,如下图
#define ROW 9
#define COL 9
#define ROWS 11
#define COLS 11
2 在实现程序时,要考虑玩家,比如打印函数中要加上打印序列的功能,玩家认为的位置与其实际数组位置不同等
第一步
让我们先来看一下mine sweeping.c文件
#define _CRT_SECURE_NO_WARNINGS
#include"game.h"
int main()
{
srand((unsigned int)time(NULL));
int input = 0;
do
{
menu();//打印菜单函数
scanf("%d",&input);
switch (input)
{
case 1:
game();//游戏主函数
break;
case 0:
printf("Exit game\n");
default:
printf("Input error,please input again\n ");
}
} while (input);
}
这是一段很简单的代码,然后呢,大概框架写好后,我们就可以开始逐步实现game()函数了
第二步
先来简单看一下game中有些什么小函数及其作用。
void game()
{
char arr1[ROWS