VC++扫雷游戏的设计与实现(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

VC++扫雷游戏的设计与实现(3)


(2) 点击鼠标右键于未知区域,则将其置为有雷而不管是否真的有雷。在该位置再次点击右键则视为不确定,显示问号,点击第三次,取消设置,问号消失。
(3) 雷区上部左侧显示总雷数减被表明有雷区域的数目。
(4) 雷区上部中间位置显示一按钮用于开局和显示鼠标动作的结果。
(5) 雷区上部右侧显示扫雷的时间。
(6) 将雷全部扫清后,则出现一消息框显示游戏胜利。
3.3 系统流程分析
流程规划大致上可以分为三个部分,分别为:画面初始化、游戏者按下第一个方块和为非地雷方块时展开[6]。
画面初始时,以游戏者最后一次设定的地雷区大小为范围画出地雷区,当游戏者按下第一个方块时开始计时,然后如何判断按下的方块是非地雷时的处理,这也是整个游戏的技术核心,我们可以通过递归的观念来检查周边的方块是否含有地雷以及是否继续往外翻开,直到踩到雷或者游戏胜利为止。流程图如图1所示[7]:
 图1 扫雷游戏流程图
4.扫雷游戏的实现    
4.1 函数处理
把游戏的核心结构即内部数组赋值:首先把所有格子的位图及数目赋值为0,然后调用随机函数按设定的雷数赋值为-1,最后把不是雷的格子的雷数赋值为相应的值。
游戏的主要工作就是呈现不断变换的图形或动画,并按用户的输入交互进行显示,而Windows文档——视窗构架中的视窗的功能正是接受用户输入并负责显示,因此由View类来完成扫雷的大部分工作。在View中定义下列成员变量和成员函数记录相关操作的结果或对象的状态[8]: (责任编辑:qin)