俄罗斯方块设计报告书.doc

上传人:bao****ty 文档编号:132294380 上传时间:2020-05-14 格式:DOC 页数:12 大小:233.50KB
返回 下载 相关 举报
俄罗斯方块设计报告书.doc_第1页
第1页 / 共12页
俄罗斯方块设计报告书.doc_第2页
第2页 / 共12页
俄罗斯方块设计报告书.doc_第3页
第3页 / 共12页
俄罗斯方块设计报告书.doc_第4页
第4页 / 共12页
俄罗斯方块设计报告书.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《俄罗斯方块设计报告书.doc》由会员分享,可在线阅读,更多相关《俄罗斯方块设计报告书.doc(12页珍藏版)》请在金锄头文库上搜索。

1、软件体系结构设计课程设计报告课程设计题目:俄罗斯方块小游戏专 业 名 称: 软件工程 2017 年6月 30日一、简介1.1俄罗斯方块游戏简介俄罗斯方块(Tetris, 俄文:)是一款由俄罗斯人阿列克谢帕基特诺夫于1984年6月发明的休闲游戏。由小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励。没有被消除掉的方块不断堆积起来,一旦堆到屏幕顶端,玩家便告输,游戏结束。1.2 俄罗斯方块游戏规则1游戏主画面在一个用于摆放方块的面板上2(1)一组由4个小型

2、正方形组成的规则图形(即方块)共有7种形状,分别为一字形、田字形、7字形、反7形、Z形、反Z形、T形。(2)一字形:一次最多消除四层田字形:消除一至二层7字形:最多消除三层,或消除二层反7形:最多消除三层,或消除二层Z形:最多二层,容易造成孔洞反Z形:最多二层,容易造成孔洞T形:最多二层3. 方块从区域上方开始下落,玩者可以按指定按钮左右移动方块、逆时针旋转方块,以及让方块加速落下。4. 方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的方块出现在区域上方开始落下。5. 当区域中某一行横向格子全部由方块填满,则该列会消失,玩家得分。6. 当固定的方块累积堆到一定层数(设计

3、游戏时设置)时,游戏结束。7. 游戏会提示下一个要落下的方块形状。 二、需求分析与游戏设计2.2 需求分析2.2.1 游戏界面需求良好的用户界面设计。本游戏主要有三个界面,一是主游戏区的面板,显示变化和下落的方块;二是用于放置按钮以及显现游戏信息的面板,三是双人对战时用以显示对方游戏信息的面板。2.2.2 方块控制需求方块下落时,可通过特定按钮对该方块进行翻转、加速,以及向左、向右移动等操作。2.2.3 图形显示需求随机给出不同的形状(一字形、田字形、7字形、反7形、Z形、反Z形、T形),下落填充给定的区域,填满一行则消掉记分,方块累积到一定层数无法再消去行时游戏结束。2.3 游戏设计2.3.

4、1 游戏流程图2.3.2 功能模块图 游戏操作模块:(1)显示模块:a.由图形工厂产生7种不同图形并随机显示在游戏主画面上; b.显示玩家信息;(2)控制模块:控制方块下落、移动、翻转等;(3)设置模块:设置游戏难度、游戏背景等。2.3.3 用例模型(1)玩家:玩家进入游戏,可以控制游戏(如控制方块运动与翻转)和设置游戏(如设置游戏难度、游戏背景等)。(2)计算机:在游戏开始后,计算机随机产生方块,控制方块下落并响应玩家操作,方块下落到底部后,能自动消除满行方块并更新分数,当方块累积到顶部时,报告游戏结束。三、设计模式3.1工厂模式工厂模式又称为工厂方法模式,也叫多态工厂模式或虚拟构造器模式,

5、它属于类创建型模式,满足“开闭原则”。在俄罗斯方块的设计中,使用图形工厂产生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()

6、方法,随机产生7种不同的方块显示在游戏界面上,7种具体的方块实现方块接口,实现change()、moveleft()、moveright()、fall()三种方法。3.2 命令模式命令模式是指将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作模式或事务模式。新的命令容易加到系统中,满足“开闭原则”。 在俄罗斯方块游戏设计中,玩家可对方块进行控制,即玩家向图形类发出请求,在此,便要用到命令模式,将玩家对图形类的请求封装为对象,然后放在类中。命令接口Command中定义了抽象方法execu

7、te():package test1;public interface Command public void execute();4个具体命令类BlockChangeCommand、BlockMoveleftCommand、BlockMoverightCommand、BlockFallCommand实现命令接口,实现方法execute()。4个按钮为调用者,分别是moveleft、moveright、change、fall,它们各自调用具体命令中的方法execute()方块类为请求的接收者。方块类实现具体的业务操作,如change()、moveleft()、moveright()、fall(

8、)等方法。比如,Block1类实现Block接口:package test1;public class Block1 implements Blockpublic void change() public void moveleft() public void moveright() public void fall() BlockChangeCommand类实现Command接口:package test1;public class BlockChangeCommand implements Command private Block1 block1; public BlockChangeC

9、ommand() block1=new Block1(); public void execute() block1.change(); 调用者类Button(按钮类):package test1;public class Button private Command changeCommand,moveleftCommand, moverightCommand,fallCommand; public Button(Command changeCommand,Command moveleftCommand, Command moverightCommand,Command fallComman

10、d) this.changeCommand=changeCommand; this.moveCommand=moveleftCommand; this.moveCommand=moverightCommand; this.fallCommand=fallCommand; public void change() changeCommand.execute(); public void moveleft() moveCommand.execute(); public void moveright() moveCommand.execute(); public void fall() fallCommand.execute(); 四、运行实例1、游戏界面2、得分3、游戏结束五、结论这段时间对设计模式的学习以及俄罗斯方块游戏的设计,让我们了解了软件设计中常用的设计模式以及游戏设计的基本流程。本游戏设计中,先进行了游戏需求分析和游戏整体设计,画出了游戏的流程图、功能模块图、用例图以及序列图;然后分析了游戏设计中所用到的几种设计模式。由于所学知识有限,因此还有很多不足之处,希望谅解。六、参考文献 Java面向对象程序设计(第2版) 袁绍欣 编著 清华大学出版社12

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号