扫雷的设计及实现(2)

本文详细介绍了使用C语言实现的一款简单扫雷游戏,包括初始化雷区(mine数组)、显示游戏界面(show数组)、设置雷(SetMine函数)、显示棋盘(DisplayBoard)和排查雷(FindMine函数)等关键步骤。
摘要由CSDN通过智能技术生成

一、game函数

首先我们要布置雷,mine数组就是,show数组是用来排查雷的,简而言之,show数组展示给玩家看,mine数组相当于内部人员看到的。

二、InitBoard函数是用来初始化数组的

我们将‘1’作为雷,‘0’是没有雷,‘*’是玩家开始游戏时,所看到的,其是未知的。

我们需要将mine数组全初始化为‘0’,show数组全初始化为‘*’

三、    SetMine函数

此时我们要布置雷了,因为是简单版的扫雷,所以我们布置10个雷。为了方便改变雷的数量时方便,我们定义一个宏

rand是一个1--32767的伪随机数,我们用9对它取余,它的结果是0--8,因此+1是1--9,我们的坐标也是1--9,当随机数的位置是‘0’时,代表这个地方没有雷,我们可以布置雷,因此让这个位置变为‘1’。

四、    DisplayBoard函数

首先,第一个for循环我们打印的是坐标

第二个for循环里打印了列号,里面嵌套的打印,让游戏有了一个雏形。

五、    FindMine函数

此函数是用来让玩家排查雷的。

我们一共是9x9=81个坐标,一共十个雷,因此我们要选71次才能获得胜利,因此while循环括号内是row*col-EASY_COUNT

里面有一个GetMineCount函数,因为我们选完坐标后,要显示出附近有多少雷,此函数就是用来计算的,我们将中间的坐标设为(x,y)其余就是简单的计算。

由ASCII码我们可知,‘1’与‘0’之间相差1,‘2’与‘0’之间相差2,我们要将字符转变为数字,因此每个都要减去‘0’,一共八个。

此时我们的扫雷游戏就完成了。

整体的代码如下

test.c中

game.c中

game.h中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值