俄罗斯方块单人游戏JAVA程序设计.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文档。上传文档
查看更多
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)

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

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

1亿VIP精品文档

相关文档