俄罗斯方块论文最终版 - 图文(4)

2019-03-28 17:02

辽宁科技大学本科生毕业设计(论文) 第12页

过程中如果游戏最小化或者玩家点击“暂停”按钮或菜单项,则游戏暂停。如果游戏界面恢复或玩家点击“继续”按钮或菜单项则游戏可以继续,游戏进行过程中玩家还可以点击“停止”按钮或菜单项,使游戏停止。无论游戏是否进行,玩家都可以点击“退出”按钮或菜单项退出游戏。

活动图是UML用于对系统的动态行为建模的一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流[4]。活动图在本质上是一种流程图。俄罗斯方块游戏总的活动图如图3-7所示。

玩家进入游戏主界面后,可以选择游戏模式:单机版或双人对战版。选择相应的模式即可进入游戏。

单机版:如果玩家选择了单机版,即可对游戏进行相应的设置,包括游戏难度级别设置、方块颜色设置、背景颜色设置、背景音乐设置、窗口风格设置等。然后可以开始游戏。玩家也可先开始游戏,再进行相应的设置。一旦游戏开始,玩家即可对游戏的状态进行控制,包括暂停游戏、继续游戏和退出游戏的操作。

辽宁科技大学本科生毕业设计(论文) 第13页

进入游戏主界面选择游戏模式单机版双人对战版双人对战版游戏界面设置游戏状态单机版游戏界面开始游戏设置建立游戏开始连接游戏设置难道级别设置方块颜色设置背景颜色设置背景音乐设置窗口风格开始游戏退出控制游戏状态继续游戏退出暂停游戏开始游戏图3-7 俄罗斯方块游戏的活动图

3.4.5 游戏的时序图

时序图描述了对象之间传统消息的时间顺序,它用来表示用例中的行为顺序。当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件[4]。

游戏中单机版游戏的时序图如图3-8所示,从图中可以看到,单机版游戏的时序图涉及了8个对象:player(玩家)、game(游戏主类)、music(音乐文件)、controlPanel(控制面板)、canvas(画布)、block(方块类)、enterframe(输入姓名对话框)、heroframe

辽宁科技大学本科生毕业设计(论文) 第14页

(排行榜)。游戏的动作从玩家进入游戏开始,背景音乐自动播放,然后玩家可以设置游戏难度级别和方块及背景颜色,设置成功后玩家可以通过点击“开始”按钮进行游戏。游戏过程中,不断检查是否有满行方块并检查游戏是否结束,如果有满行就移除,当方块填满整个画布时,游戏结束。此时弹出输入姓名对话框,玩家输入姓名后点击“确定”按钮,将姓名插入到排行榜,排行榜就会自动显示出来。

player: playergame: SingleBlocksGame1: playmusic: Musiccontrolpanel: SingleControlPanelcanvas: SingleGameCanvasblock: SingleBlockenterframe: EnterFrameheroframe: HeroFrame2: playMusic3: setLevel4: return true5: setColor6: return true7: playGame8: run9: display10: checkFullLine11: removeLine12: isGameOver13: true14: reportGameOver15: EnterName16: HeroFrame

图3-8 单机版游戏的时序图 图3-9(a) 服务器端玩家的时序图

客户端:玩家进入游戏后,背景音乐自动播放,玩家可以通过控制面板控制背景音

乐。同时设置主机和端口号向服务器端发出连接游戏请求。当成功连接服务器时,玩家可以点击控制面板上的“开始”按钮进行对战,此时玩家可以控制方块的状态,通过画布绘制方块来显示游戏进程,不断检查是否有满行方块并检查游戏是否结束,如果有满行就移除,当有一方玩家游戏失败时,发出游戏结束消息给游戏主类,此时游戏结束。

辽宁科技大学本科生毕业设计(论文) 第15页

4总体设计

4.1 总体设计概述

经过了需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎么做”的时候了。总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题[2]。通过这个阶段的工作将划分出组成系统的物理元素。总体设计部分的重要任务就是确定软件的总体结构,也就是要确定系统中每个程序是有哪些模块组成的,以及这些模块之间的关系,同时也包括数据库的设计。

4.2 总体设计思想

俄罗斯方块游戏设计的主要从以下12个方面进行构思: (1)游戏主界面的设计。 (2)俄罗斯方格的表示。 (3)俄罗斯方块的表示。 (4)俄罗斯方块的旋转。

(5)俄罗斯方块的运动情况(包括向左、向右、向下和丢下)。 (6)俄罗斯方块的自动消行功能。 (7)游戏级别的自由选择。 (8)游戏得分的计算。

(9)游戏菜单选项的设计及功能实现。 (10)游戏背景音乐的播放功能。 (11)俄罗斯方块单机版的具体实现。 (12)俄罗斯方块双人对战版的具体实现。

首先,是定义与游戏相关的数据的存储方法,分为两个主要的部分:一个是当前的方块,需要保存位置、当前的旋转状态;另一个是屏幕区域的状态,这可以用一个二维数组来表示。

其次,分析得到按键的含义,做出响应,响应模块:“左移”、“右移”、“下移”、“丢下”和“旋转”几个模块,负责改变当前方块的状态数据;画方块模块:位置移动后,把方块画到新的位置之上;检查模块:在每次改变状态之前,对方块企图占用的区域进行检查。如果无处可放,则此次移动失败。如果方块到区域底端了,则应该固定在当前

辽宁科技大学本科生毕业设计(论文) 第16页

位置,这可以通过调用前面的画方块模块来实现,同时再产生一个新的方法。这样还需要写一个产生新方块的模块。每次当方块到底的时候,都需要检查一下是否有新的层排满了,如果有,则应该消层,如果这个位置已被占用,则游戏结束,这需要通过调用前面的检查模块来实现。最后检查系统时间,规定每过一个指定的时间间隔就调用一次方块下落模块。

俄罗斯方块是一个非常复杂但比较有趣并且耐玩的游戏,游戏中共有7种方块,每种方块由4个方格组成,如图4-1所示。

图4-1 游戏中的7种方块

4.3 系统的类图

类图描述系统中的类的静态结构,它不仅定义系统中的类,描述类之间的联系,还包括类的内部结构(类的属性和操作)[5]。通过分析用例和问题域,就可以等到相关的类,然后再把逻辑上相关的类封装成包。 4.3.1 俄罗斯方格类的类图 图4-2所示为俄罗斯方格类的类图

图4-2 俄罗斯方格类的类图


俄罗斯方块论文最终版 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:世界地理知识点总结 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: