C语言初学者如何写出一个扫雷小游戏

本文仅帮助初学者提供一些小小的思路

首先,我们要先弄清楚扫雷这个游戏的规则,还有扫雷的游戏难度规格,思考棋盘的大小,并初步构思整个代码大概的写法,我们可以先找到扫雷的图像

从图像上我们可以看到,扫雷基础难度下,是一个9*9的棋盘方格,初步构思代码,1.我们可以创建一个9*9的二维数组,刚好就是这样一个棋盘方格,

2.然后我们在里面,通过rand()生成随机数的方式生成雷,并且放在创造的数组里面,需要搭配srand((unsigned int )time(NULL))

3.再输入两个坐标进行排雷,这里的坐标其实就是二维数组里面每个元素对应的下标,排完一次雷之后就把数组打印出来,并且,

4.按照扫雷的规则,如果排除的坐标不是雷,那么他将计算他所在九宫格的雷数,并且显示出来,此时可以写一个计算雷数的函数,再放进数组里面。

但是如果我们想要计算一个不是雷的九宫格的范围内雷的数量,假如我们看到一个输入的坐标是 第九行第九列的边界,此时无法正常计算,因为这是我们的数组边界,如果计算九宫格将会越界,那么我们可以重新创建数组的大小,将它改为11*11大小的数组, 此时,虽然是11*11的数组元素大小,但是通过下标我们可以只使用 9*9大小的数组元素,我们也不在最边界布置雷,这样也可以计算雷的数量。

此时我们可以初始化一下数组,不是雷的位置我们可以放 0 是雷的位置我们可以放数字1,先将数组元素全部初始化为零,再将随机数搭配生成的雷的数组位置换成1,但是不是雷的位置计算九宫格雷数返回数字时,和别的数字冲突了,又是2 或者又是1,看起来很乱也很奇怪,所以我们可以再创造一个二维数组,这里面同样是11*11的棋盘大小,我们可以把这个数组全部初始化为字符*,我们把九宫格计算的雷数字放在第二个数组里面 ,并且我们不再打印第一个数组,把第二个数组当做是玩家数组,玩家只能看见初始化后的字符*号棋盘,再输入一次坐标之后打印第二个初始化为字符*的二维数组,并且过程中会将计算好的雷数替换掉数组中输入坐标的字符*号,那么一个简易的扫雷就大功告成了。(每个位置对应的坐标可以通过下标的方式,打印出来,方便输入坐标)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值