扫雷第一个会是雷吗自己放雷又自己抢尾号一个,

C语言小程序————扫雷第一个會是雷吗

学习了一段时间的C语言写一个扫雷第一个会是雷吗小游戏练习一下!
大概思路是这样的:1.打印地图,2.埋雷3,排雷4.判断游戏結果。
首先打印地图:在这里用一个二维数组来表示我们的地图在这里我们创建两个二维数组,一个11 * 11用于埋雷和排雷只有在游戏结束後才对玩家显示该数组,一个9 * 9用于向玩家展示每一步操作后的结果.为什么要创建这样的两个数组呢?这和扫雷第一个会是雷吗的游戏规則有关游戏规则:玩家任意点开一个方框,若不是雷 则在这个方框上显示周围8个格子类雷的个数总和。
假如玩家点开标号为1的这个方格我们就要统计其周围8个格子里面的雷的个数。这必然会遇到数组越界的问题 因此我们创建一个1111的数组用于埋雷和排雷,这显然就巧妙的解决了这个问题然后将显示展示在99的数组上。
打印地图的代码如下:首先初始化这两个数组第一个用字符0初始化,第二个用*号初始化


  

第二步就是埋雷了:在这里我们采用随机数的方式进行埋雷,代码如下:

 

我们总共埋10个雷x,y的取值范围为1–9,我们在第一个数组里媔进行埋雷因为起初初始化为字符0,因此只要那个位置的元素是字符0我们就能 在此埋一个雷,同时雷数减减循环结束则已经成功布雷。
第三步;雷埋完之后就该玩家排雷了排雷的要求是第一次不能被炸死,而且可以实现雷区展开代码如下

 
 
 
 
 

怎样排雷呢?首先玩家输叺坐标判断玩家输入的坐标是否合法,不合法提醒玩家重新输入坐标合法后,判断是不是第一次输入且判断是不是第一次就遇到雷,如果是雷的话我们就调用移雷函数将这个雷移去其他地方 ,如果不是游戏继续然后呢对玩家每次输入的坐标进行判断,如果是雷則告诉玩家踩雷了,打印雷数组游戏结束如果地图上所剩的方格中*号的数目等于雷的数目的话则说明,排雷结束打印雷数组玩家胜利。


  

统计雷 的数目的函数代码:


  

递归实现雷区展开的函数代码:


}

我要回帖

更多关于 扫雷第一个会是雷吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信