俄罗斯方块设计报告书.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文档。上传文档
查看更多
软件体系结构设计 课程设计报告 课程设计题目:俄罗斯方块小游戏 专 业 名 称: 软件工程 2017 年6月 30日 一、简介 1.1俄罗斯方块游戏简介 《俄罗斯方块》(Tetris, 俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。 由小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励。没有被消除掉的方块不断堆积起来,一旦堆到屏幕顶端,玩家便告输,游戏结束。 1.2 俄罗斯方块游戏规则 1.游戏主画面在一个用于摆放方块的面板上 2.(1)一组由4个小型正方形组成的规则图形(即方块)共有7种形状,分别为一字形、田字形、7字形、反7形、Z形、反Z形、T形。 (2)一字形:一次最多消除四层 田字形:消除一至二层 7字形:最多消除三层,或消除二层 反7形:最多消除三层,或消除二层 Z形:最多二层,容易造成孔洞 反Z形:最多二层,容易造成孔洞 T形:最多二层 3. 方块从区域上方开始下落,玩者可以按指定按钮左右移动方块、逆时针旋转方块,以及让方块加速落下。 4. 方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的方块出现在区域上方开始落下。 5. 当区域中某一行横向格子全部由方块填满,则该列会消失,玩家得分。 6. 当固定的方块累积堆到一定层数(设计游戏时设置)时,游戏结束。 7. 游戏会提示下一个要落下的方块形状。 二、需求分析与游戏设计 2.2 需求分析 2.2.1 游戏界面需求? 良好的用户界面设计。本游戏主要有三个界面,一是主游戏区的面板,显示变化和下落的方块;二是用于放置按钮以及显现游戏信息的面板,三是双人对战时用以显示对方游戏信息的面板。? 2.2.2 方块控制需求? 方块下落时,可通过特定按钮对该方块进行翻转、加速,以及向左、向右移动等操作。? 2.2.3 图形显示需求? 随机给出不同的形状(一字形、田字形、7字形、反7形、Z形、反Z形、T形),下落填充给定的区域,填满一行则消掉记分,方块累积到一定层数无法再消去行时游戏结束。 2.3 游戏设计 2.3.1 游戏流程图 2.3.2 功能模块图 游戏操作模块: (1)显示模块:a.由图形工厂产生7种不同图形并随机显示在游戏主画面上; b.显示玩家信息; (2)控制模块:控制方块下落、移动、翻转等; (3)设置模块:设置游戏难度、游戏背景等。 2.3.3 用例模型 (1)玩家:玩家进入游戏,可以控制游戏(如控制方块运动与翻转)和设置游戏(如设置游戏难度、游戏背景等)。 (2)计算机:在游戏开始后,计算机随机产生方块,控制方块下落并响应玩家操作,方块下落到底部后,能自动消除满行方块并更新分数,当方块累积到顶部时,报告游戏结束。 三、设计模式 3.1工厂模式 工厂模式又称为工厂方法模式,也叫多态工厂模式或虚拟构造器模式,它属于类创建型模式,满足“开闭原则”。 在俄罗斯方块的设计中,使用图形工厂产生7种不同的方块并在游戏中随机出现。 图形工厂接口: package test1; public interface ShapeFactory { public Block produceBlock(); } 方块接口: package test1; public interface Block { public void change(); public void moveleft(); public void moveright(); public void fall(); } 7个具体的图形工厂实现图形工厂接口,实现produceBlock()方法,随机产生7种不同的方块显示在游戏界面上,7种具体的方块实现方块接口,实现change()、moveleft()、moveright()、fall()三种方法。 3.2 命令模式 命令模式是指将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作模式或事务模式。新的命令容易加到系统中,满足“开闭原则”。 在俄罗斯方块游戏设计中,玩家可对方块进行控制,即玩家向图形类发出请求,在此,便要用到命令模式,将玩家对图形类的请求封装为对象,然后放在类中。 命令接口Command中定义了抽象方法execute(): package test1; public interface Command { public void execute();

文档评论(0)

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

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

1亿VIP精品文档

相关文档