- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 5
目 录
TOC \o 1-2 \h \z \u 1、设计目的 3
2、系统描述 3
3、分析与设计 4
3.1模块的划分 4
2.3功能分析 5
4、系统功能分析及实现过程 5
4,1系统功能 6
4.2实现过程. 6
4.3系统主界面 8
5、结束语 11
参考文献 12
附录
1、设计目的
我们之所以选择开发俄罗斯方块游戏,无可争议,《俄罗斯方块》是有史以来最伟大的游戏之一。 在曾经发布过的所有游戏中,《俄罗斯方块》还被认为是仅有的一个能够真正吸引广泛人群的作品。谁能说清楚,迄今为止人们究竟花了多少万个小时在这个游戏上?也许这些时间本来可以被花在更具生产力的活动上。某些批评家也许会声称,《俄罗斯方块》要比过去二十年间出现的任何东西都要浪费人们的时间。至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。 为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用VB语言开发一个经典的俄罗斯方块游戏。
2、系统描述
俄罗斯方块是一款适合大众的游戏软件,它适合不同年龄的人玩。
本软件实现的基本功能如下:?
游戏区:玩家可以在游戏区中堆积方块,并能够在游戏过程中随
时了解得分情况和下一个将要出现方块的提示。?
游戏控制:玩家可以通过游戏控制功能来控制游戏开始,暂停,
结束游戏,游戏难度的设置以及音效控制。
玩家游戏信息存储及删除:玩家的得分在前五名时,将会记录在
排行榜上,同时可为玩家清空排行榜。
3、分析与设计
3.1 功能分析
3.1.1模块的划分
依据需求分析结果,俄罗斯方块游戏可以分为三个模块:游戏区、游戏控制区、数据操作区。系统模块结构如图:
3.1.2功能分析 俄罗斯方块游戏根据游戏界面布局的不同,将系统划分为如下几个功能部分。
游戏显示更新功能。游戏显示更新功能主要是更新显示游戏区域的方块显示,包括控制游戏方块的下落速度,下落方向以及形状改变,并且还需要判断当前游戏方块是否满足消除一行的条件。GameAreaPanel类就是游戏显示更新的控制类,paint(Graphics g)方法主要负责游戏区域的实时重绘。
游戏方块预览功能。
在游戏过程中,当在游戏区域中出现一个游戏方块时,必须在游戏预览区域出现下一个游戏方块,这样有利于游戏者控制游戏的策划。由于在此游戏中存在8中不同的游戏方块,所以在游戏方块预览中就需要显示随机生成游戏方块。PreviewPanel类是游戏预览控制类,在painting(Graphics g)方法中,将根据生成的随机数字显示不同的游戏方块。
游戏方块控制功能。
给各种游戏方块设置一个基类,主要包括begin()(初始化显示)方法,down()(向下移动)方法,left()(向左移动)方法,right()(向右移动)方法,change()(变换角度)方法,downto()(一下到底)方法。在各个游戏子类中,需要具体实现这些方法。
游戏速度分数更新功能。
在游戏者进行游戏的过程中,需要按照异地昂的游戏规则给游戏规则给游戏者计算游戏分数,当游戏分数达到一定数量后,就需要给游戏者增加难度,即提高游戏中游戏方块的下落速度。
3.2 功能设计
3.2.1方块的设计
俄罗斯方块游戏中,具体的游戏方块图形的设计是比较重要的一个方面。因为俄罗斯方块游戏中主要的动作就是控制游戏方块的移动和翻转,以便于组成一行行连续的方块从而增加游的分数。
由于主要的游戏动作都集中在这个游戏方块上,因此游戏方块的设计就显得格外重要了。为了增加程序的可扩展性,这里设计一个游戏方块的基类,各个具体的游戏方块都从这个基类开始继承。这样,当需要增加游戏方块时就不用重新设计新的类,只需要从这个基类集成出一个类就可以了。
更具基类设计了8个派生游戏方块类,其结构如图:
3.2.2旋转方块的设计
旋转方块的出现是随机的,而随着游戏级别的提升,每一关出现的旋转方块的数量也会不同,对于七种方块来说,它们在任何一段时间内出现的概率都是一致的,再者,旋转方块需要两个定时器,定时下落和定时旋转。旋转方块的这个性质要求它必须要两个线程才能控制,但是为了充分利用资源,我们可以利用方块控制线程去控制旋转方块定时下落,然后只需再创建一个线程控制它定时旋转即可。
确定了两个线程共同控制旋转方块,就会出现一个线程协调工作的问题。如果一个新方块出现的时机正好也是旋转方块出现的时机,程序就会出现紊乱,所以必须保证,在同一时间,正常方块和旋转方块只能出现一个。
因为两个线程需要共同控制旋转方块,所以不能用wait()和notify()这两个方法去协调线程,而应当利用其它条件去
文档评论(0)