俄罗斯方块游戏课程设计报告样本

  • 格式:doc
  • 大小:649.00 KB
  • 文档页数:19

计算机工程学院课程设计阐明书课程名称:______________________________________ 设计项目:______________________________________ 学生姓名:______________________________________ 学号:______________________________________ 专业:______________________________________ 班级:______________________________________ 指引教师:____________________________________________年______月一、任务与详细规定二、设计阐明书涉及内容三、应完毕图纸四、评语及成绩指引教师(签字)_____________________年____月____日目录1.系统概述 (2)2.原有程序概况 (3)3.当前系统操作界面 (5)4.当前程序详细设计 (7)5.顾客手册 (14)6.测试筹划 (15)7.课程设计心得体会 (16)8.参照书籍及资料 (17)系统概述1.1 现状分析在个人电脑日益普及今天,某些有趣桌面游戏已经成为人们在使用计算机进行工作学习之余休闲娱乐首选,而俄罗斯方块游戏是人们最熟悉小游戏之一,它以其趣味性强,易上手等诸多特点得到了大众承认,因而开发此游戏软件可满足人们某些娱乐需求。

此俄罗斯方块游戏可觉得顾客提供一种可在普通个人电脑上运营,界面美观,易于控制俄罗斯方块游戏。

1.2 项目规定俄罗斯方块是一款适合大众游戏软件,它适合不同年龄人玩。

本软件实现基本功能如下:●游戏区:玩家可以在游戏区中堆积方块,并可以在游戏过程中随时理解得分状况和下一种将要浮现方块提示。

●游戏控制:玩家可以通过游戏控制功能来控制游戏开始,暂停,结束游戏,游戏难度设立以及音效控制。

●玩家游戏信息存储及删除:玩家得分在前五名时,将会记录在排行榜上,同步可为玩家清空排行榜。

1.3 系统模块构造图根据需求分析成果,俄罗斯方块游戏可以分为三个模块:游戏区、游戏控制区、数据操作区。

系统模块构造如图:原有程序概况2.1 原有程序实现功能本来程序只能实现开始和退出游戏,尚有记录游戏得分!类一:控制面板类(1)类定义:class GameMain(2)功能描述:界面设计应遵循简介美观以便易用基本原则。

类二:画布类类定义:class GameCanvas类三:方块类(1)类定义:class RussiaBlock(2)功能描述:七种类型方块父类,定义了所有类型方块共同特性和行为。

类四:主游戏类(1) 类定义:RussiaBlocksGame(2) 功能描述: 游戏主类,负责游戏全局控制。

类五:虚拟单个方格类类(1) 类定义:RussiaBlocksGame ;功能描述:控制方格颜色。

2.2原有游戏打开界面7 6 5 4 32 1 随机产生一种数一字形 Z 字形 反Z 形 L 字形 反L 形 倒T 形 田字型2.3原有游戏运营界面2.4改进目的①增长暂停和继续按钮,这样可以以便游戏者,可以暂停游戏。

②增长游戏级别,这样可变化游戏难易限度,增长游戏趣味性。

③增长填写游戏者姓名功能,这样可以记录游戏者名字。

当前系统操作界面3.1当前游戏打开界面3.2当前游戏运营界面当前程序详细设计类一:控制面板类(1)类定义:class GameMain(2)功能描述:界面设计应遵循简介美观以便易用基本原则。

(3)设计办法:办法①Game办法办法定义:Public GameMain()功能描述:这个办法就是要保证在放大和缩小程序实现窗口大小时候,其中格子也会随之变化,也就是咱们经常说最大化最小化,当窗口发生变化时,方块自动调节大小与之相匹配。

办法②:actionPerformed办法办法定义:public void actionPerformed ()功能描述:这个就是将游戏界面重置,将游戏界面回到初始状态,这个办法重要是通过将窗口中着色小方块所有消除颜色,然后再重新去给窗口着色,即着上背景色,给玩家看上去也就是被刷新了。

(4)设计描述:①controlPanel面板中包括tipPanel,InfoPanel,buttonPanel子面板,分别为图形界面面板,信息面板,按钮面板②图形显示面板设计为BorderLayout布局样式.其中添加tipPanel面板居中(以显示下一种俄罗斯方块样式)③信息面板设计为4行1列式GridLayout网格状布局,并且添加当前级别,显示当前级别文本域,当前分数,显示当前分数文本域④按钮面板设计为5行1列式GridLayout网格状布局 ,并且添加开始游戏,暂停/继续,结束三个按钮面板设计效果图如下:类二:画布类(1)类定义:class GameCanvas(2)设计办法:办法①:paintComponent办法办法定义public void paintComponent(Graphics g)功能描述;其中box就是表达预显示框,然后检查显示框中每个小格子与否需要着色,如果需要着色,则着上方块得颜色,不需要着色则着上背景颜色,一共有16个小格子构成了一种预显示块,共需要检测16次,其实当中和实现游戏中程序有着共同点。

办法②:removeLine办法办法定义:public void removeLine(int row)功能描述:这个就是实现如何将行消除,其实就是在判断了该行该消除时候将上面方块都向下平移一格,这样在实现程序界面也就给玩家是消去一行视觉效果。

类三:方块类(1)类定义:class RussiaBlock(2)功能描述:七种类型方块父类,定义了所有类型方块共同特性和行为。

(3)设计办法:办法①:run办法办法定义:public void run()功能描述:实现方块运营,下落。

办法②:moveTo办法办法定义:public synchronized boolean moveTo()功能描述:将当前画移动到newRow/ newCol所指定位置。

办法③:isMoveable办法办法定义:private boolean isMoveable()功能描述:鉴定当前块与否能被边界、其她方块挡住以及不能移动状况。

办法④:turnNext办法办法定义:public void turnNext()功能描述:实现方块旋转。

办法⑤:turnTo办法办法定义:private synchronized boolean turnTo()功能描述:将当前块变成newStyle所指定块样式。

办法⑥:isTurnable办法办法定义:private boolean isTurnable()功能描述:鉴定当前块与否能变成newStyle所指定块样式。

办法⑦:erase办法办法定义:private void erase()功能描述:将当前块从画布相应位置移除。

办法⑧:display办法办法定义:private void display()功能描述:实现重画画布时候显示当前块。

类四:主游戏类(1)类定义:RussiaBlocksGame(2)功能描述:游戏主类,负责游戏全局控制。

(3)设计办法:办法①:checkFullLine 办法办法定义:public void checkFullLine()功能描述:这个是表达清除需要消除行算法,只需要对行中小方块进行判断,判断与否都已经着色,如果都着色了阐明改行是要消除,并且还需要进行加分办法,在进行多行消除时候,可以给玩家更多奖励,这也符合俄罗斯方块游戏股则。

办法②:play办法办法:private void play()功能实现:实现游戏开始,同步在游戏开始时,方块随后从顶端任何位置落下。

办法③:getCurLevelScore办法办法定义:public int getCurLevelScore()功能描述:实现获得每个级别分数办法④:setLevel办法办法定义:public void setLevel(int level)功能描述:进行级别手动调节办法⑤:levelUpdate 办法办法定义:public void levelUpdate()功能描述:这是更新级别函数,一种是通过度数判断,在程序中定义了一种本级得分,然后当本级得分达到一种分数时候,就可以进入下一种级别,同步依照级别提高,之前定义下落速度也会提高,同步减去升级需要分数,也就可以用作下一次升级判断。

(4)设计描述:①窗体设计窗体大小:(300,400),默认居中显示,代码如下:Dimension scrSize=Toolkit.getDefaultToolkit().getScreenSize();setLocation((scrSize.width-getSize().width)/2,(scrSize.height-get Size().height)/2);添加windows窗口事件:addWindowListener( new WindowAdapter(){public void windowClosing(WindowEvent event){System.exit(0);}} );窗体名称为:俄罗斯方块游戏。

②菜单设计游戏菜单:涉及重新游戏,退出两个菜单项。

控制菜单:涉及暂停,继续,结束三个菜单项。

以菜单项为例gameMenu = new JMenu("游戏");newGameItem = new JMenuItem("重置");exitItem = new JMenuItem("退出");gameMenu.add(newGameItem);gameMenu.add(exitItem);③添加背景音乐办法public void Music (){String music = "background.wav";final AudioClip clip = Applet.newAudioClip(getClass().getResource(music));clip.play();}通过调用Music()来实现背景音乐播放。

类五:虚拟单个方格类类(1)类定义:RussiaBlocksGame(2)功能描述:控制方格颜色。

(3)设计办法:办法:setColor办法办法定义:public void setColor()功能描述:对有标记方块进行着色顾客手册控制区:玩家在界面上可以看到开始游戏按钮,点击该按钮,开始游戏,控制区和界面上均有暂停,继续按钮,按下暂停则游戏暂停,并且界面上按钮变成继续字样,同理按下继续,游戏退出,顾客结束游戏。