信息工程学院:扫雷游戏的功能模块设计及编码实现-985棋牌娱乐

 信息工程学院:扫雷游戏的功能模块设计及编码实现-985棋牌娱乐
当前位置: 985棋牌娱乐 >> 创新实践 >> 社会实践 >> 正文

信息工程学院:扫雷游戏的功能模块设计及编码实现

发布者:信息工程学院 [发表时间]:2019-08-04 [来源]:团委 [浏览次数]:

我校信息工程学院“扫雷少女101”团队根据功能模块对扫雷游戏的功能进行编码。

按照扫雷游戏的功能模块设计,信息工程学院扫雷少女101团队使用visual studio2017编程工具进行了程序编写,其中主要设计的类有三个: mainpaneminefield

main是主控窗体,负责项目的启动和关闭,并协调内部各个组建模块的协调工作。7月16-19日,团队进行了主窗体的搭建实现:界面设计:使用combobox下拉选择框控件设置难度,button控件用来设置开始和结束;以及代码实现:在开始控件中写入click方法,判断mainfield控件中是否有无pane控件,若无则初次初始化同时可选择相应难度;若有pane控件,表示游戏在进行中,此时重新初始化并选择相应难度。初始化过程调用init函数,并为不同难度设置相应参数。结束控件的click方法则只需使用mainfield的displayall()方法即可。

1:主控窗体设计

pane是一个方格的封装,是雷区的重要组建,表示一个方格的当前状态,以及是否布雷等信息。7月20-23日,“扫雷少女101”进行了方格的程序编码。

2pane主要实现方法

 

pane的封装主要考虑以上6个方面,首先在pane()方法中定义布尔类型的hasmine变量,int类型的aroundminecount方法,以及继承自panestate类型的状态方法,三个方法都带有get和set方法可调用或设置参数;并于open()函数中使用this关键字更为简便地确定当前点击的区域,通过hasmine方法判断是否有雷,作出周围区域的改变。

minefield是雷区的封装,是游戏的核心组建,负责方格的布局以及地雷的分布,并控制玩家的基本操作以及正确的响应。7月24-27日,“扫雷少女101”进行了雷区封装部分代码的编写。

3mainfield主要实现方法

init()初始化方法涉及到每行每列的方格数量和地雷总量,调用layoutpanes()方法和laymines()方法布置雷区大小以及地雷数。getaroundminecount使用list存储结构来存储数据并且使用foreach方法循环调用参数获得周围地雷数。minefield相对比较复杂,涉及到参数的相关计算和方法的相互调用,若出现偏差整个游戏就功亏一篑,功能的使用就会出现偏差。

4杜亦然同学在编写部分代码

 

经过十二日的组内分工与代码编写,扫雷少女101完成了最终的成品,运行结果如下:

5:扫雷游戏运行结果

日前扫雷游戏基本开发完成,实现了功能模块所有功能。但是由于在ui方面涉猎不足,最终只是在基本功能上与windows扫雷一致,仍有很大的改进空间,比如在美观、功能、趣味等方面还需加以改善。

 

摄影:张婷炜

文字编辑:张婷炜

网站地图