最近搞了一个qt的小游戏,现在在这里分享给大家,一起来学习一下。
一、功能简介:
1、鼠标左键翻开格子。若周围没有雷,则会爆出一大片,效果如图1所示。
2、右键插上红旗,表示有雷,效果如图2所示。
3、左上角的数字表示剩余雷数。当点击右键给格子插上红旗时,数字会自动减1。当减少到零时,游戏会自动提示扫雷成功或失败,效果如图3所示。
4、顶部的笑脸表示游戏继续,伤心表示游戏结束。当鼠标左键点击该位置时,表示重新开始游戏。
5、右上角的数字表示扫雷的时间(s)。当时间大于999s时,游戏会自动弹出超时提示框,并结束游戏。
![cfda63f9f7b0919458a1b725b2fab313.png](https://img-blog.csdnimg.cn/img_convert/cfda63f9f7b0919458a1b725b2fab313.png)
图1
![07d79413477fa1b5cbc403fa7bc6a28a.png](https://img-blog.csdnimg.cn/img_convert/07d79413477fa1b5cbc403fa7bc6a28a.png)
图2
![46eb65ba82228ccbe59cd5d37717b558.png](https://img-blog.csdnimg.cn/img_convert/46eb65ba82228ccbe59cd5d37717b558.png)
图3
二、原理描述:
1、每个格子都保存一位数字。0~8表示这一格周围8格子中的雷数;50~58表示格子插上红旗;99表示该格子为雷;当左键翻开后,将格子中的数加上100,保存新的数值,即——100~108表示该格子已翻开,并且不是雷(0~8加上100);150~158表示插有红旗的格子翻开(10~58+100);199表示埋雷的格子被翻开。。。
2、当左键翻开一个格子时,程序会自动检测其周围格子,并将不是雷的翻开。当遇到格子周围都没有雷的时候,程序会递归点击周围的8个格子。
3、当确定格子埋有雷的时候,可右键点击插上红旗作标注。
接下来教大家如何创建工程并用代码实现该游戏。
三、实现过程
1、创建工程
打开qt creator软件,然后点击New Project。
![132760f998db9c7d9dd29c2bd9960f7b.png](https://img-blog.csdnimg.cn/img_convert/132760f998db9c7d9dd29c2bd9960f7b.png)
图4
2、选择模板
模板选择Application -> Qt Widget Application,之后点击“Choose”。
![e0ea91ae2e5bf1d202698563048b6224.png](https://img-blog.csdnimg.cn/img_convert/e0ea91ae2e5bf1d202698563048b6224.png)
图5
3、项目名称和位置
给项目添加名称,并可以修改项目保存的位置,然后点击“下一步”。
![799914139cb3aaa8c077b323426c098e.png](https://img-blog.csdnimg.cn/img_convert/799914139cb3aaa8c077b323426c098e.png)
图6
3、类名
可修改类名。删掉“创建界面”的沟。
![425d57bfbefa3ac69d146dcb1d29b31e.png](https://img-blog.csdnimg.cn/img_convert/425d57bfbefa3ac69d146dcb1d29b31e.png)
图7
4、完成创建
直接点击“完成”即可。