关于编一个扫雷

栏目:游戏资讯  时间:2022-11-10
手机版

  今天是星期六,主要还是在忙于用C++写一个扫雷的小程序。

  不太想更新小说了

  所以来讲讲编写这个扫雷的一些东西吧。

  最开始先编辑了一个主菜单程序,虽然这个主菜单很简陋,但在这基础上想加入其它功能的话就会很简单,大概如下:

  1、开始游戏? ? 2、退出

  退出之后是一个简单的exit(0)用来直接结束程序

  此外选择开始,就会来到扫雷开始了。

  最开始我是用的默认9×9,10个地雷来进行初步构建

  本来打算用制表符绘制,但后来发现不太实用,所以直接采用了特殊符号里面的方块。

  随后建立一个类,类代表了每一个小方块

  一个小方块,私有量包括布尔型的翻开状态,是否为地雷,还有整型的周围雷的数量

  共有量则是一些必要的函数,比如把私有量进行return的函数,或者是get状态的函数

  随后利用c++惯用的时间随机法,进行随机埋雷,使特定数量的地雷被埋下。

  随后编写绘图函数,利用循环进行绘图,保证对未翻开,已翻开的空白,已翻开的数字进行表示

  但后来发现有些乱,所以加上了坐标轴的数字。

  然后是设置程序函数……

  怎么翻开,翻开之后会进行什么判定,怎么让空白的方块自己自动翻开……

  其实这一块才是程序的大头。

  也是我花时间最多的地方,毕竟各种bug和程序各种空间溢出的冲突简直让人抓狂。

  总之过了很久,总算完成了。

  接着考虑游戏结果,胜利和失败之后的内容,还有如何优雅不暴力地退出程序。

  (虽然最后还是用了比较暴力的一种方法。)

  然后就是结束之后的结果显示,拿之前绘图的代码复制粘贴改改就好了。

  最后还是考虑了一下自定义大小,又是整了半天,换了半天变量,最后总算是完成了对这一功能的实现。

  到最后一个比较简单的扫雷也就完成了,看以后还需不需要什么新的功能添加一下吧。

上一篇:官方正版《黎明杀机》手游终于来了!但这个画质是真实的吗?
下一篇:《光遇》