java课程设计俄罗斯方块
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java课程设计报告
2010 / 2011 学年第二学期
项目名称:俄罗斯方块游戏
项目负责人:李俊杰学号:09030317 同组者:田俊学号:09030325 同组者:殷崧健学号:09030335 指导教师:费贤举班级:09软件课程设计时间:2011年6月21日-2011年7月7日课程设计地点:秋白楼B705
常州工学院计算机信息工程学院
2011年7月7日
目录
1.系统概述 (3)
2.项目计划书以及小组人员分工 (4)
3.系统流程图 (5)
4.系统操作界面 (8)
5.详细设计 (9)
6.用户手册与游戏帮助 (18)
7.测试计划 (20)
8.改进意见 (22)
9.课程设计心得体会 (23)
10.参考书籍及资料 (24)
系统概述
1.1 现状分析
在个人电脑日益普及的今天,一些有趣的桌面游戏已经成为人们在使用计算机进行工作学习之余休闲娱乐的首选,而俄罗斯方块游戏是人们最熟悉的小游戏之一,它以其趣味性强,易上手等诸多特点得到了大众认可,因此开发此游戏软件可满足人们的一些娱乐需求。
此俄罗斯方块游戏可以为用户提供一个可在普通个人电脑上运行的,界面美观的,易于控制的俄罗斯方块游戏。
1.2 项目要求
俄罗斯方块是一款适合大众的游戏软件,它适合不同年龄的人玩。本软件实现的基本功能如下:
●游戏区:玩家可以在游戏区中堆积方块,并能够在游戏过程中随
时了解得分情况和下一个将要出现方块的提示。
●游戏控制:玩家可以通过游戏控制功能来控制游戏开始,暂停,
结束游戏,游戏难度的设置以及音效控制。
●玩家游戏信息存储及删除:玩家的得分在前五名时,将会记录在
排行榜上,同时可为玩家清空排行榜。
1.3 系统模块结构图
依据需求分析结果,俄罗斯方块游戏可以分为三个模块:游戏区、游戏控制区、数据操作区。系统模块结构如图:
项目计划书以及小组人员分工
2.1项目开发计划书
2.2 小组人员分工表
系统流程图
3.1 游戏区模块
该模块为玩家提供主题游戏功能,能够处理玩家的各种操作,为玩家提供下一个方块的提示、当前等级、当前分数的显示。该模块应包括三个字功能模块:创建游戏区、处理玩家游戏操作区、游戏显示区。模块功能树如图:
3.2游戏控制区模块
该模块为玩家提供游戏控制功能,包括开始游戏、暂停/继续游戏、结束游戏、等级设置。玩家可自行设定游戏等级,主要提供10种级别,级别越高,游戏速度越快,难度越大。模块功能树如图:
3.3数据操作区模块
该模块为玩家提供游戏、玩家信息存储与查询功能。包括排行榜信息录入、排行榜查询、排行榜清空、游戏帮助,四个模块。模块功能树如图:
3.4系统流程描述
此流程图为俄罗斯方块游戏系统流程描述。
系统操作界面4.1游戏打开界面
4.2游戏运行界面
详细设计类一:控制面板类
(1)类定义:class ControlPanel
(2)功能描述:界面设计应遵循简介美观方便易用的基本原则。(3)设计方法:
方法①:fanning方法
方法定义:public void fanning()
功能描述:这个方法就是要保证在放大和缩小程序实现窗口大小的时候,其中的格子也会随之改变,也就是我们经常说的最大化最小化,当窗口发生变化时,方块自动调整大小与之相匹配。
方法②:reset方法
方法定义:public void reset()
功能描述:这个就是将游戏界面重置,将游戏界面回到初始状态,这个方法主要是通过将窗口中的着色小方块全部消除颜色,然后再重新去给窗口着色,即着上背景色,给玩家看上去也就是被刷新了。
(4)设计描述:
①controlPanel面板中包含tipPanel, InfoPanel, buttonPanel
子面板,分别为图形界面面板,信息面板,按钮面板
②图形显示面板设计为BorderLayout布局样式.其中添加
tipPanel面板居中(以显示下一个俄罗斯方块样式)
③信息面板设计为4行1列式的GridLayout网格状布局,并且添
加当前等级,显示当前等级文本域,当前分数,显示当前分数文本
域
④按钮面板设计为5行1列式的GridLayout网格状布局,并
且添加开始游戏, 暂停/继续,结束,加等级,减等级五个按钮
⑤Bar栏中添加五个菜单按钮,分别为游戏菜单,控制菜单,排
行榜菜单,音效菜单,关于菜单。
⑥游戏菜单里有新游戏,退出两个选项卡,窗口样式菜单里有
windows,motif,ment这3种样式选项卡,信息菜单里面有作
者,帮助两个选项卡
面板设计效果图如下:
类二:画布类
(1)类定义:class GameCanvas
(2)功能描述:在游戏区显示方块
(3)设计方法:
方法①:paintComponent方法
方法定义public void paintComponent(Graphics g)
功能描述;其中box就是表示预显示框,然后检查显示框中每个小格子是否需要着色,如果需要着色,则着上方块得颜色,不需要着色的则着上背景颜色,一共有16个小格子构成了一个预显示块,共需要检测16次,其实当中和实现游戏中的程序有着共同点。
方法②:removeLine方法
方法定义:public void removeLine(int row)
功能描述:这个就是实现如何将行消除的,其实就是在判断了该行该消除的时候将上面的方块都向下平移一格,这样在实现程序界面也就给玩家是消去一行的视觉效果。
类三:方块类
(1)类定义:class RussiaBlock
(2)功能描述:七种类型方块的父类,定义了所有类型方块的共同特征和行为。