VB410扫雷游戏的设计与开发.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB410扫雷游戏的设计与开发 P2.2 流程规划BR流程规划大致上可以分为三个部分,分别为:画面初始、游戏者按下第一个方块和为非地雷方块时展开。BR画面初始时,以游戏者最后一次设定的地雷区大小为范围画出地雷区,但此时并未产生地雷。当游戏者按下第一个方块时产生地雷资料并启动定时器,为何在游戏者按下第一个方块才产生地雷资料呢?其主要的用意在于不要让游戏者第一次就踩到地雷,这样在某种程度上可以提高游戏者游玩的气氛。接着就是如何判断按下的方块是非地雷时的处理,这也是整个游戏的技术核心,我们可以通过递归的观念来检查周边的方块是否含有地雷及是否继续往外翻开。BR流程规划如图1所示:/P Pnbsp;/P Pnbsp;/P PBRnbsp;BR图1整体流程规划图BR2.3画面规划BR画面规划如图2所示:/P Pnbsp;/P Pnbsp;/P Pnbsp;/P Pnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; BR图2规划样图BR说明如下:BR①:游戏窗口(Form)。为了避免因改变窗口大小而造成画面呈现不美观,在这里将BorderStyle属性设定为3(双线固定对话框),即无法以窗口边缘进行窗口大小调整。BR②:地雷数显示区(PictureBox)。BR③:游戏状态(Image)。BR④:游戏时间显示区(PictureBox)。BR⑤:计数及状态区(PictureBox)。BR⑥:地图区图样(Image)。BR⑦:地雷区(PictureBox)。BR⑧:存储图片的组件,包括游戏状态图片、地雷区图片、地雷数及秒数数字图片(Imagelist)。BR⑨:秒数控制(Timer)。BR3nbsp;游戏的详细设计BR3.1nbsp;游戏初始化BR当玩家开始游戏时,游戏画面如图3所示:BRnbsp;BR图3游戏初始画面BR我们可以清楚的看到,游戏界面主要分为两个主要部分:1. 计数及状态区;2.地雷区。BR首先我利用PictureBox组件,PictureBox为容器类型的组件,因此可以加入其他组件在其内。在游戏中我利用了PictureBox组件的两个特性,分别为容器特性及立体框线,具体如下:BR(1)容器特性:只要容器本身显示的行为改变,在容器内的组件也会跟着改变。当游戏初始时,地雷区的显示组件会循环执行,逐一布置在画面上,但由于执行循环时多个Image组件要显示图形,造成分时系统执行频率显示上会出现不流畅的情形,若在循环执行前,先将容器本身的Visable属性设为False,在循环执行完成后再将Visable属性设为Ture,则显示就会变得流畅许多。BR(2)立体框线:通过组件本身立体框线的属性设定,可以为游戏画面的显示上营造出层次感。BR然后再利用ImageList组件来存储游戏中将要使用的图片,我们可以将组件布置于窗体后编辑组件属性,如图4所示:BRnbsp;BR图4BR通过InsertPicture和RemovePicture按钮即可编辑组件所存放的图片。BR利用ImageList集合对象的Picture方法,即可将ImageList组件内的图片指定给图形显示组件,语法如下:BRSet 图形组件. Picture=ImageList. ImageList(图片索引). PictureBR因为一个ImageList组件内必须存储大小相同的图片,所以在游戏中显示的图片共分为三个部分:1.数字计数图形;2.游戏状态图形;3.地雷区表示图形。BR所以我们使用了三个ImageList组件来存储不同大小的图片。BR接着便是对地雷区的初始化,这里我们利用Load及UnLoad指令,动态新增及删除组件。在游戏的地雷区,我们依照游戏者自定义的地图类型,来布置未探测地雷方块。假如设定的地图大小为20×30时,我们可以通过双循环For…Next及Load指令在程序执行阶段动态加载表示方块的组件,程序片段如下:BR‘加载表示地图资料的图片BRFornbsp; y = 0 To 20nbsp; ‘地雷区高BRFornbsp; x = 0 To 30nbsp; ‘地雷区宽BRLoadnbsp; 表示方块组件(index)BRnbsp;‘设定组件位置……BRNext xBRNext yBR经过双循环的运算,程序就会产生20×30=600个组件,试想如果在程序设计阶段,就把600个组件布置在窗体上,那将是多么没有效率的事情,况且组件数量的多少,还要取决于游戏玩家设定的地雷区大小,所以利用Load指令对于大量加载同一组件的动作将有莫大的帮助。BR加载组件后必须将组件做适当的布置,我们可以通过Image组

文档评论(0)

kaku + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档