扫雷游戏的设计与开发

扫雷游戏的设计与开发

ID:18800761

大小:130.00 KB

页数:13页

时间:2018-09-24

扫雷游戏的设计与开发_第1页
扫雷游戏的设计与开发_第2页
扫雷游戏的设计与开发_第3页
扫雷游戏的设计与开发_第4页
扫雷游戏的设计与开发_第5页
资源描述:

《扫雷游戏的设计与开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、扫雷游戏的设计与开发姓名:杨达班级:31031P学号:30手机:13770920651目录1流程规划2画面规划3鼠标使用4地雷及雷区表面探测情况5除去未靠近地雷的方块6游戏的调试7参考文献第1页共18页1.流程规划流程规划大致上可以分为三个部分,分别为:画面初始、游戏者按下第一个方块和为非地雷方块时展开。流程规划如图1所示:是是开始依照使用者初始设定等待按键左键键右键显示方块1.布置地图2.启动计时器显示分数结束延按下方块周围展开非地雷方块否否是是否是否第一次按下按下方块是否为地图第一次按下是否再玩图1整体流程规划图2.画面规划第11页共11页画面规划如图2所示

2、:④①⑦⑥⑤②③⑨⑧图2规划样图说明如下:①:游戏窗口(Form)。为了避免因改变窗口大小而造成画面呈现不美观,在这里将BorderStyle属性设定为3(双线固定对话框),即无法以窗口边缘进行窗口大小调整。②:地雷数显示区(PictureBox)。③:游戏状态(Image)。④:游戏时间显示区(PictureBox)。⑤:计数及状态区(PictureBox)。⑥:地图区图样(Image)。⑦:地雷区(PictureBox)。⑧:存储图片的组件,包括游戏状态图片、地雷区图片、地雷数及秒数数字图片(Imagelist)。⑨:秒数控制(Timer)。游戏的详细设计3

3、.游戏初始化当玩家开始游戏时,游戏画面如图3所示:第11页共11页地雷区计数及状态区图3游戏初始画面我们可以清楚的看到,游戏界面主要分为两个主要部分:1.计数及状态区;.地雷区。首先我利用PictureBox组件,PictureBox为容器类型的组件,因此可以加入其他组件在其内。在游戏中我利用了PictureBox组件的两个特性,分别为容器特性及立体框线,具体如下:(1)容器特性:只要容器本身显示的行为改变,在容器内的组件也会跟着改变。当游戏初始时,地雷区的显示组件会循环执行,逐一布置在画面上,但由于执行循环时多个Image组件要显示图形,造成分时系统执行频率显

4、示上会出现不流畅的情形,若在循环执行前,先将容器本身的Visable属性设为False,在循环执行完成后再将Visable属性设为Ture,则显示就会变得流畅许多。(2)立体框线:通过组件本身立体框线的属性设定,可以为游戏画面的显示上营造出层次感。然后再利用ImageList组件来存储游戏中将要使用的图片,我们可以将组件布置于窗体后编辑组件属性,如图4所示:图4通过InsertPicture和RemovePicture按钮即可编辑组件所存放的图片。第11页共11页利用ImageList集合对象的Picture方法,即可将ImageList组件内的图片指定给图形显

5、示组件,语法如下:Set图形组件.Picture=ImageList.ImageList(图片索引).Picture因为一个ImageList组件内必须存储大小相同的图片,所以在游戏中显示的图片共分为三个部分:1.数字计数图形;2.游戏状态图形;3.地雷区表示图形。所以我们使用了三个ImageList组件来存储不同大小的图片。接着便是对地雷区的初始化,这里我们利用Load及UnLoad指令,动态新增及删除组件。在游戏的地雷区,我们依照游戏者自定义的地图类型,来布置未探测地雷方块。假如设定的地图大小为20×30时,我们可以通过双循环For…Next及Load指令在

6、程序执行阶段动态加载表示方块的组件,程序片段如下:‘加载表示地图资料的图片Fory=0To20‘地雷区高Forx=0To30‘地雷区宽Load表示方块组件(index)‘设定组件位置……NextxNexty经过双循环的运算,程序就会产生20×30=600个组件,试想如果在程序设计阶段,就把600个组件布置在窗体上,那将是多么没有效率的事情,况且组件数量的多少,还要取决于游戏玩家设定的地雷区大小,所以利用Load指令对于大量加载同一组件的动作将有莫大的帮助。加载组件后必须将组件做适当的布置,我们可以通过Image组件的Move属性,将组件布置于预定的位置,Move

7、函数的原型如下:组件.MoveX坐标,[Y坐标],[组件宽度],[组件高度](其中括号内表示可以省略)再配合双循环的变量值,可以控制组件布置于窗体的方向及方式,例如以下程序片段:Fory=0To20‘地雷区高Forx=0To30‘地雷区宽Load表示方块组件(index)‘设定组件位置……组件(index).Movex*组件宽度,y*组件高度Nextx第11页共11页Nexty组件将呈现先由左至右,再由上至下布置。若将内循环改为y值,同样的Move指令,组件的布置方向将由上而下再由左至右。布置方向的不同,会关联到组件内含的索引值不同,相对在程序执行阶段存取组件时

8、,所定义的组件索引值就必

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。