广工Java课设俄罗斯方块实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《JA V A程序设计》课程期末作业

题目第9题:俄罗斯方块

学院

专业

班别

学号

姓名

2017年11月28 日

一、课程题目

(3)俄罗斯方块

俄罗斯方块应有如下功能:

1.在二维的平面里用各种随即产生的方块堆积木,每填满一行消去一行,当到达顶部时,游戏结束。

2.玩家能通过方向键来控制方块的转动,左移,右移和直落。

3.每种类型的方块都有颜色。

4.游戏能够在玩的过程中,给出玩家的分数,分数是由随即方块的类型决定的,每堆一个方块,就将分数累加到总分中。

5.游戏有暂停、开始和结束、游戏规则、游戏说明等控制。

(其它功能可自行添加)

二、题目分析与设计

1.所用开发环境:Eclipse

2.题目需求:用户能通过键盘实现控制游戏的开始、暂停、结束,游戏时对方块的控制,游戏能显示出用户所得分数与消除的行数,实现娱乐的功能软件功能架构图:

3.界面设计过程、其设计上的创意及组件的布局策略:

游戏界面包括方块活动界面和信息显示界面。方块活动界面方面放在游戏界面左端,通过规定每个格子的边长、格子的行列数、配合xy坐标系使用DrawRect()来具象化方块活动的格子,而活动的方块则是对格子的“填充”,方块所在的格子使用FiilRect()来给方块所在的格子填色。信息显示界面放在游

戏界面右端由不同大小不同字体的字符串从上到下组成,可显示相关游戏说明及实时显示用户的游戏分数及已消除行数。

界面在设计风格上抛弃了现在游戏界面主流花花绿绿,炫酷的风格,走的是怀旧的路线。利用浅灰色做背景,其他元素统一用深灰色,界面简单,还原出一个小时候掌上游戏机的感觉。

5. 论述程序的实现,包括各模块的设计、类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述(可画流程图、类图、用例图、状态图、时序图等,比如可以画出系统主要类图和其关系图)。不得以粘贴代码的方式代替设计部分。

类的设计过程:

类图:

本程序包含3个类文件,分别是:

1.用于构建游戏界面、实现对游戏状态的控制、动画的显示、启动游戏且包含main方法的主类Tetris;

2.具象化方块活动的范围,为方块活动、动画显示提供基础框架的Cell;

3.以及实现方块的产生及方块基本动作的Tetromino。其中Tetromino类有一个内部类State用以记录方块按下旋转键后的状态,Tetromino还有七个子类来实现产生7种不同的下落方块。

对象的协作过程:(请放大看电子版)

三、测试分析

游戏状态及功能测试:

1.游戏能正常开始于暂停

暂停画面:

继续游戏(开始)画面:

结束游戏画面:

游戏重新开始画面:

3.方块可以左右启动、旋转、加速下落于直落

4.得分测试:得分正常,一次消除一行1分,两行10,三行20分,四行50分:

消除一行得分:

消除三行的得分:

附录:源代码

相关文档
最新文档