QT 800行代码实现的几乎全功能扫雷

继上次写完控制台扫雷之后,突发奇想,决定好好实现扫雷这个小游戏,于是花两天学了下QT,又花了两天写了一个QT版扫雷!

源代码和打包好的window程序地址:
https://github.com/ChenDongyu-S/mineSweeping

代码可能写的有点乱,见谅!但是尽量多的打了注释。

先放部分游戏截图
初始画面:
在这里插入图片描述
在开始里面有三个选项
在这里插入图片描述
选项是可以选择默认难度和自定义难度的,默认初级难度,点击应用更新到地图,不关闭选项窗口,点击确认,更新到地图,关闭选项窗口;
窗口设置成模态窗口
在这里插入图片描述
点击一个数时,如果这个数为0,那么他会向外遍历,将所有旁边的格子打开,并判断,如果也是0,则递归深入执行这个过程。
在这里插入图片描述
右键可以设置旗子和问号;实现三者之间来回切换。
值得一说的是,真实的雷表,我是用一张int型的二维数组描述的,雷标志位-1;数字标志位显示的数字0-8;
因为只能先插旗子,再打问号,所以:
插旗子时将他们的值增加100倍,0设置为99,打问号时将值除以10,0设置为9
这样我们就能通过值来查询他们的状态,如果被翻开则设置为-2;这样设置在判断旗子,雷,左键,右键,双击,按下,弹起的逻辑时很有帮助!
在这里插入图片描述
双击可以遍历周围数组,如果没有雷,没有问号,可以直接翻开,按下的时候会有动画效果,显示在扫雷!
在这里插入图片描述
如果双击时,周围有雷,并且旗子差错了位置,就会输游戏失败!
在这里插入图片描述
然后为了沉浸是的体验,游戏中间的表情会随着按键不停的切换

正常情况
在这里插入图片描述
表情被按下
在这里插入图片描述
鼠标点击雷区或双击排雷时
在这里插入图片描述
游戏失败时,哭哭
在这里插入图片描述
游戏成功时,亲亲
在这里插入图片描述
写代码的时候也有很多坑,很多细节,在这就不一一细说了。
主要就是游戏算法的实现,和一些Qt类库的使用。
在游戏算法的实现方面对于各种情况都要花心思去思考。
对于不会用的类库,就查Qt帮助文档和百度就好啦!
最后通过windeployqt 把qt打包成window下可以运行的程序,这样就算没有qt环境的电脑也是可以运行的

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值