如何制作扫雷小游戏

扫雷游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。

其游戏界面如下:

 那么,如何来制作这个游戏呢?

大致思路为:

  • 游戏菜单制作
  • 游戏主体函数
  • 游戏实现

游戏菜单 

 

游戏主体函数

用C语言实现简单的扫雷,我们需要创建两个数组,一个数组存放雷的信息,另外一个数组存放排雷后结果的信息。

注:

在创建数组时候,需要注意的是数组需要大一圈,什么意思?举个例子,比如说我们实现的是9 ×9的扫雷,那么我们的数组就得创建10×10
原因是当我们在实现排雷功能的时候,需要位置某个位置的八个方向遍历一次,如果9×9的数组的话,在边上遍历的时候就会出现数组越界,因此我们需要在设计的时候大一圈,避免数组越界。

我们创建

  • 一个专门存放所有函数声明的文件,将其命名为game.h(头文件)
  • 一个来编写游戏的实现逻辑,将其命名为game.c(源文件)
  • 一个来编写游戏的测试逻辑,将其命名为test.c(源文件)

大致思路为:

  1. 初始化棋盘
  2. 打印棋盘
  3. 布置雷
  4. 排雷

1.初始化棋盘 

在test.c中创建

	//创建数组
	char mine[ROWS][COLS] = { 0 };//存放布置好的雷的信息
	char show[ROWS][COLS] = { 0 };//存放排查出的雷的信息

	//初始化mine数组为全‘0’
	InitBoard(mine, ROWS, COLS, '0');
	//初始化show数组为全‘*’
	InitBoard(show, ROWS, COLS, '*');

在game.c中实现

 

2.打印棋盘

在test.c中创建

//打印棋盘
	//DisplayBoard(mine, ROW, COL);
	//DisplayBoard(show, ROW, COL);

在game.c中实现

 

3.布置雷

在test.c创建

//布置雷
	SetMine(mine, ROW, COL);

在game.c中实现

 

4.排雷

在test.c中创建

//排雷
	FindMine();

在game.c中实现

 

 

注:上述所有函数的定义和声明以及引用的库函数等我们都在game.h中实现

 

游戏的实现

我们生成随机数进行测试

在test.c中创建

 

 运行效果如下:

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值