定软件开发工作成功与否的至关重要的环节,需求分析的任务是发现、规范的过程,有益于提高软件开发过程中的能见度;便于对软件开发过程进行控制与管理;便于采用工程方法开发软件,提高软件的质量;便于开发人员、维护人员、管理人员之间的交流、协作。
3.2开发意图
竭力为广大俄罗斯方块游戏爱好者提供一款趣味性强、容易学、上手快的益智休闲类游戏,来丰富大家的业余生活。
3.3游戏功能分析
3.3.1 项目目标
项目实现了俄罗斯方块游戏的所有基本功能,同时,为了满足玩家的个人需求,在游戏中加入了背景音乐和音效等效果,从而使游戏从感官上更加吸引玩家;在单机版中设置了当游戏窗口最小化时,游戏能够自动暂停,窗口恢复时游戏自动继续的功能以方便玩家的游戏操作;在双人对战版中加入了玩家自主设置键盘的操作,从而使操作更加简单,更容易上手,且不易失误。力争使游戏具有可靠性,安全性,完整性,灵活性,开发出一款更加适合人们需求的俄罗斯方块游戏。
3.3.2 系统概述
屏幕上有一个X列Y层的区域,计算机自动产生7种不同形状的方块,并出现在区域的最顶端,然后每过一个固定的时间向下落移动一格。玩家可用上、下、左、右及空格键来控制方块的旋转和移动,以便按照玩家所需要的形态和位置落下,不过前提是方块移动和旋转后的位置必须是空的。这7种方块可以旋转90°、180°、270°,因此每种方块有4种状态,7种方块总共有28种状态。另外,在游戏区域产生一个新的方块的一瞬间,立即产生下一个下落方块的形状并在提示区域的左上方有预先提示。同时,在游戏界面的右下方,将显示玩家所得的分数以及游戏的难度级别。每当游戏玩家成功消除一行方块时,将按照一定的算法计算出所得分数,并修改游戏状态区域的分数和行数的数值。本游戏提供了十个游戏级别,用户可根据自己的兴趣选择相应的级别。
下落方块可以通过旋转改变其显示形状,并且不断地往下落,直到它接触到游戏区域底部或者其他已经垒叠起来的下落方块。当一个下落方块到达游戏区域底部或者接触到其他已经垒叠起的下落方块后,其位置即确定下来,并占有该空间的位置区域。如果落下时,方块的方格能填满某一行,则这一行可消去。消去一行后,游戏可给玩家加分,垒在其上的方块将按照一定的算法落下来代替该行空间。游戏的结束是以下落方块的顶部到达游戏区域顶部作为判断依据,若由存在空格的方块填满整个窗口,则游戏失败。
系统默认设置使用右边的窗口,用光标操作:"←"左移一格;"→"右移一格;"↑"变形;"↓"下移一格;"空格"丢下方块。双人对战版中玩家还可以定义自己的习惯的按键来操作游戏。
3.3.3 系统运行环境
硬件环境:内存:512M,硬盘:256M,cpu:1.8HZ以上
软件环境:MyEclipse6.0.1,JDK1.5和MySQL数据库。
3.3.4 系统功能需求
1. 游戏主界面功能需求
良好的用户界面,能够在视觉上吸引玩家。为了使界面简洁美观,需要在主界面中添加背景图片来渲染游戏的气氛,同时为了便于玩家的操作,需要设置四个按钮供玩家选择,分别是"单机版"、"双人对战版"、"帮助"、"退出"。这样的设置让用户一目了然。另外,为了能够实时的显示游戏的进度,还需在主界面下方添加进度条,用动态感来吸引玩家。
2. 单机版游戏功能需求
为了满足广大玩家的需要,本游戏特别设置了单机版游戏,这项功能可以让玩家在短期能提高游戏水平,以便更快地适应双人对战版游戏。单机版游戏的界面采用JFrame界面来进行设计。使游戏界面更加美观大方。该界面由4个模块构成,分别是菜单条、菜单项、控制面板和游戏画布。其中菜单条包括游戏、控制、窗口风格、音乐控制、帮助四个菜单。控制面板包括预提示面板,当前信息提示面板、游戏控制按钮面板和背景音乐控制按钮面板。在单机版游戏中,玩家可以根据自己的需要设置游戏级别。另外,为了满足玩家的听觉需求,还增加了自动播放背景音乐的功能、更换背景音乐的功能、暂停背景音乐的功能以及音效效果。为了满足玩家的心理需求,还添加了排行榜的功能,方便玩家及时记录自己游戏战绩。为了进一步方便玩家的实际操作,还为部分操作添加了快捷键的功能,用户无需点击按钮或菜单项即可达到游戏目的。
3. 双人对战版游戏模块功能需求
为了增强玩家对本游戏的兴趣,还特别设计了双人对战版游戏。双人对战版具有单机版游戏的基本功能。除此之外,还能实时地显示对方玩家的游戏状态。这样可以根据对方的状态,及时改变自己的游戏策略。本功能改变了以往双人版只能在同一台机器上运行的模式。实现了网络双人对战,可以用一台机器作为服务器运行,另一台机器作为客户端运行,也可以在同一台机器上运行。对战双方的数据无需通过其他服务器处理,因此实现的是点对点的通信。
4. 俄罗斯方块的需求
良好的方块形状设计,绘制七种常见的基本图形,各个方块要能实现旋转变形、移动和显示。方块的旋转可设为顺时针或逆时针,本游戏采用逆时针变形。
5. 键盘处理事件的需求
方块下落时,可通过键盘方向键(上、下、左、右、空格键)对该方块进行向上(旋转变形),向下移动、向左移动、向右移动和丢下操作。双人对战版玩家还可以根据自己的需要设置键盘的操作。
6. 显示需求
当方块填满一行时可以消行,剩余方块向下按照一定的算法向下移动并统计分数。当达到一定的分数时游戏升级,并显示游戏升级信息;当游戏方块填满整个屏幕时,游戏结束,并显示游戏结束信息。本游戏共设置十个级别,方块的下落速度随着级别的升高而加快。
3.4 游戏的UML基本模型
3.4.1 游戏的用例图
用例图是由软件需求分析到最终实现的第一步,它描述人们希望如何使用一个系统。用例图在需求分析阶段有很重要的作用,它是作为参与者的外部用户所能观察到的系统功能的模型图,它显示多个外部参与者以及他们与系统提供的用例之间的连接[4]。整个开发过程都是围绕需求阶段的用例进行的。通过分析确定本系统的抽象参与者有:计算机和玩家两类。
1) 计算机(computer)。计算机可以实现自动播放背景音乐、方块定时下移、随机产生方
块、自动消除满行、更新分数、报告游戏结果等。计算机控制游戏的用例图如图3-1所示。
图3-1 计算机控制游戏的用例图
2) 玩家(player)。玩家是本游戏的重要参与者,其中单机版玩家(SinglePlayer)和双人对
战版玩家(DoublePlayer)是对玩家的泛化。玩家可以选择游戏模式、控制方块。控制方块用例包括旋转方块、左移方块、右移方块、下移方块、丢下方块等用例。单机版玩家和双人对战版玩家除了包含这两个用例外,还各自有相应的用例。其中:
单机版玩家可以控制游戏和设置游戏,控制游戏用例又包括控制游戏状态和控制背景音乐。控制游戏状态用例包括开始游戏、暂停游戏、继续游戏、从新开始、退出等用例,其中从新开始是对开始游戏用例的扩展;控制背景音乐包括更换音乐、暂停播放和继续播放三个用例。设置游戏包括设置方块颜色、设置背景颜色、设置难度级别、设置窗口状态四个用例,其中设置窗口状态用例又包括设置系统平台风格、设置主题风格和设置跨平台风格三个用例。
双人对战版玩家也可以控制游戏和设置游戏,但与单机版玩家不同,控制游戏用例包括控制背景音乐、建立游戏、连接游戏和退出游戏四个用例,控制背景音乐用例又包括暂停播放和继续播放两个用例;设置游戏用例包括设置操作键用例。玩家操作游戏的总的用例图如图3-2所示,从图中
上一篇:
个人网站毕业论文(word文档)
下一篇:
基于JSP邮件收发系统论文