基于Java的俄罗斯方块的设计和实现 毕业论文.doc
《基于Java的俄罗斯方块的设计和实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Java的俄罗斯方块的设计和实现 毕业论文.doc(32页珍藏版)》请在三一文库上搜索。
1、本科生毕业论文(设计) 基于 Java 的俄罗斯方块的设计与实现 姓 名 学 号 专 业 指导教师 2013 年 5 月 30 日 I 摘 要 俄罗斯方块作为一款风靡全球的多样化终端游戏,经久不衰。俄罗斯方块简单的基 本游戏规则是旋转、移动,游戏自动随机输出 7 种形状的方块,经旋转后可形成 28 种 形状,方块堆叠在一起,排列成完整的一行或多行消除得分,积分达到一定程度会自动 提升级别。该游戏上手简单、老少皆宜、家喻户晓。 本论文在详尽分析传统俄罗斯实现的基本原理、基本规则基础上,更深一步地研究 俄罗斯方块的创新模式,在经典模式基础上开发出等级可变的模式,以及进一步开发出 颜色可变的模式,如
2、随意改变界面的背景色、前景色等,本文对以上功能给出了实现流 程、详尽描述、和部分源代码。 论文阐述了该游戏的历史、开发此游戏的意义和环境并根据软件工程的相关知识, 进行系统的需求分析、概要设计、详细设计与实现、调试运行进行描述。 此设计是在 Microsoft Windows XP 系统下,以 Java 为开发语言,在 MyEclipse 开 发平台上进行游戏的设计与实现。 关键词:游戏;俄罗斯方块;E Er rr ro or r! ! R Re ef fe er re en nc ce e s so ou ur rc ce e n no ot t f fo ou un nd d. .软件工程
3、; MyEclipseError! Reference source not found. II Abstract Tetris is a popular global diversification of terminal enduring game.Simple basic rules of the game is rotating, moving, automatic random output of 7 kinds of shape square game. It forms 28 kinds of shape, after rotating cube stacked together
4、, forming complete one or more lines to eliminate score. Its level automatically rises with the score. The game is easy for young and old, has become a household name. This paper not only give the detailed analysis of the traditional Tetris which based on the basic principle and simple rules but als
5、o develop the color variable model, such as random change the background color and foreground color and so on. Further more, in this paper, the above functions are given the implementation process, the detailed description, and some source code. The paper expounds the history of the game, develops t
6、he meaning of the game and the environment of design. According to the relevant knowledge of software engineering, the author reports the demand analysis, outline design, detailed design, planning and execution of the test. This design is under Microsoft Windows XP system, based on Java development
7、language, the MyEclipse development platforms to carry on the design and implementation of the game. Key Words: Game, Tetris, Software engineering, MyEclipse III 目 录 1 引 言 1 2 系统的需求分析 .2 2.1 系统需求 .2 2.2 接口控制 .2 3 系统的概要设计 .4 3.1 软件运行和开发工具 .4 3.2 系统功能设计 .4 3.2.1 手工处理业务的基本流程 .4 3.2.2 基本流程的功能模块 .5 4 系统的
8、详细设计与实现 .8 4.1 游戏主界面显示模块 .8 4.2 画布、方块显示模块 .9 4.2.1 背景画布模块设计 10 4.2.2 预览方块模块设计 11 4.2.3 方块移动、旋转设计 14 4.3 控制面板模块 18 4.3.1 菜单栏模块设计 18 4.3.2 控制面板按钮设计 20 5 系统的调试运行 21 5.1 测试的意义及注意事项 21 5.2 游戏代码、算法的测试 21 5.3 游戏界面菜单选项的功能测试 22 5.4 按键事件的功能测试 24 5.5 方块堆砌与消行测试 25 5.6 测试结果分析 26 6 结 论 27 参考文献 28 致 谢 .29 1 1 引 言
9、俄罗斯方块的影响已毋庸置疑, 当今世界的电脑、手机到处都有俄罗斯方块的踪迹, 同时它更是每个游戏平台的必备游戏,相关的复制品不胜枚举。这个最早由莫斯科的数 学家亚力克西帕杰诺夫(Alexey Pajituov)所设计的作品,被公认为有史以来最畅销的 经典游戏,至今魅力不减当年。亚力克西帕杰诺夫曾在俄罗斯科学研究院电脑中心工 作, 当时他在Eletronica 60的旧型俄罗斯主机上进行开发工作, 这种机器不支持图形 界面, 和PC也不兼容。他尝试将一种传统的拼图游戏Pentomino 改写成电脑游戏。 Pentomino 一共有十二种形状, 各以七个方块组合而成。帕杰诺夫试着写了一个程序, 旋
10、转并移动这十二种不同形状的方块, 让它们拼成一大块。后来几经修改,发展成我们 现在所熟悉的经典模式。俄罗斯方块曾经引起的轰动和制造的经济价值可以说是游戏史 上无可比拟的。它看似简单但却变化无穷,令人爱不释手。 俄罗斯方块游戏是随计算机的发展而发展,并不断推陈出各种新演变出的类似游戏, 深受广大玩家喜爱。游戏模式有的简单、有的复杂, 但其根本原理是都是对随机出现的 方块进行组合, 来训练玩家的反应能力、逻辑思维能力。游戏软件, 大多数人都视其为 神妙莫测, 高不可及的东西。一般来说,游戏软件也确实具有很高的技术难度, 随着开 发工具和软件开发方法学的不断发展, 自己动手开发游戏也并非难事。俄罗斯
11、方块游戏 可以上说是一种古老而又有趣的游戏。游戏软件不计其数, 网上也有很多关于游戏实现 的复杂算法和设计, 其难度让一般初学者望而却步。本文利用数组作为方块的数据结构, 用颜色变化作为方块下落和移动的标识,提出一种用Java语言实现游戏的简易方法,在 经典模式的基础上实现等级可变,颜色可变等功能,初学者可仿此开发类似游戏, 并了 解游戏软件的设计与开发过程。 俄罗斯方块游戏以其益智、简单又不乏挑战、创意独特的游戏模式,吸引了众多游 戏爱好者,而且老少皆宜。当今社会里,人们的工作压力随着生活节奏的快速提高而逐 渐繁重,随之减少的是可以自由支配的休息时间,人们迫切地需要一种既简单又节省时 间的快
12、速休闲方式。无可争议,它是永恒的娱乐经典,且它的代码简单,界面简洁,从 最初发行时的单个游戏机到现在便捷的安装到电脑、手机、MP4、电子词典、商务通、 IPAD、ITOUCH 等便携设备,俄罗斯方块风靡世界,经久不衰。本次课题研究可以说是 对游戏开发的一次尝试,无论从技术还是社会意义上看都是很有价值的。 2 2 系统的需求分析 对系统的需求分析就是用户和开发人员在“系统必须做什么”这个问题上实现相互 理解,达到共识,从而形成双方认可的软件产品的需求规格。这样有利于提高软件开发 过程中的能见度,便于对软件开发过程的控制与管理,便于采用工程化的模式开发软件, 从而达到提高软件的质量,为开发人员、维
13、护人员、管理人员之间的交流、协作提供便 捷。作为工作成果的原始依据,系统的需求分析可以向潜在用户传递软件功能、性能的 需求,使其能够判断该软件是否符合自己的需求。 2 2. .1 1 系系统统需需求求 系统随机产生 7 中不同形状的方块,旋转后有 28 种状态。方块自由下落,玩家通 过键盘控制方块的移动和旋转,把方块摆放在适当的位置。如果方块落下时,有被方块 填满的整行,则该行可消去。每消去一行,玩家得分增加 10 分,每满 100 分,玩家等 级增加一级。若由存在空格的方块填满整个窗口,则游戏宣告失败。游戏功能需求如下: 游戏界面需求:设计良好的游戏界面可以让玩家充分感受到游戏带来的娱乐性,
14、游 戏的默认背景色是深绿色,主界面方块默认用橘黄色,预显方块颜色默认为淡紫色。背 景色、前景色对比鲜明,以达到让玩家眼前一亮的感觉,并能在游戏达到高等级状态, 方块下落速度渐高的情况下使玩家能够清楚的分辨出下落方块的形状,增加游戏的刺激 性。 游戏形状需求:用数组作为存储方块 28 种状态的数据结构,即长条形、Z 字形、 反 Z 形、田字形、7 字形、反 7 形、T 字型一共 7 种形状的向 4 个方向的旋转变形,各 个方块要能实现它的任意变形,可设为顺时针变形或逆时针变形,一般为逆时针变形。 方块的可否翻转需要加以判断,以防止其翻转越界。 键盘处理事件需求:方块下落时,可通过键盘方向键(上键
15、、下键、左键、右键) 或字母键 I、K、J、L 对下落方块进行向上(旋转变形)、向下(加速下落)、向左移 动、向右移动。 鼠标处理事件需求:通过点击菜单栏中相应的菜单项或控制面板内的按钮,可以实 现游戏的开始、结束、暂停、继续、提高等级、降低等级,预显方块形状的显示,分数、 等级的显示,以及游戏帮助、颜色变换等功能。 显示需求:当方块填满一行时可以消行,剩余未填满的行逐次向下移动并统计分数。 当达到一定分数的时候,会增加相应的等级。当方块充满主界面的每一行,方块不能再 下落时,提示“Game Over”的字样。 3 非功能性需求:本系统非功能性需求包括游戏主界面左上角显示图标需求、窗口尺 寸可
16、调整性需求、游戏运行时主界面弹出位置居中需求等。 2 2. .2 2 接接口口控控制制 本游戏通过键盘和鼠标进行操作,在 Windows 的操作系统下,利用键盘的按键对方 块进行移动、变形,要使用到键盘的接口事件。游戏使用鼠标对游戏进行全程控制,如 游戏的开始、暂停、继续、查看游戏帮助、更改界面颜色、更改游戏等级等,通过对鼠 标单击、按键添加监听事件,编辑相应代码来实现相应功能。 4 3 系统的概要设计 3 3. .1 1 软软件件运运行行和和开开发发工工具具 操作系统:Microsoft Windows XP Professional Service Pack 3 内存:2G 硬盘:320G
17、 CPU:赛扬 2.8 交互工具:键盘、鼠标 显示器:VGA 显示器 JDK 版本:jdk1.6.0.02 Eclipse 版本:MyEclipse 8.5 SDK-3.4-win32 3 3. .2 2 系系统统功功能能设设计计 3.2.1 手工处理业务的基本流程 本游戏的设计以娱乐为初衷,以益智为目的,在综合研究以往俄罗斯方块经典游戏 功能的基础上推陈出新,加之新的功能,赋以新的生机和活力。图 3-1 为游戏基本流程 图具体阐述游戏的基本流程。 运行说明: 1运行程序,点击右侧控制面板内的“开始”或“控制”菜单内的“开始”按钮开 始游戏。 2使用上、下、左、右键或 I、K、J、L 键控制方
18、块的变形、下落、向左和向右移 动。 3方块满行消除,分数自动增加,分数每满 100 等级自动增加一级。 4等级增加、方块下落速度增加,按右侧控制面板或“游戏”菜单内的“提高等级” 、“降低等级”按钮,来手动改变游戏等级。也可点击“颜色”菜单内的选项,更改前 景色、背景色。 5按右侧控制面板或“控制”菜单内的“暂停”可以控制游戏暂停,然后按“继续” 可以控制游戏继续上次游戏。按“停止”按钮,游戏会彻底停止正在进行的当局游戏, 再按“开始”或“控制”菜单内的“重新开始”会开始新游戏。 6当方块占满整个窗口,不能再有新方块下落时,游戏会弹出“Game Over”的对 话框提示游戏结束。 5 玩家操作
19、方块 初始化方块 是否到达底部 否 是否满行是 玩家更改前景色、 背景色、等级等 玩家积分增加 是 积分达到100 玩家等级增加 是 是否到达顶部 是 暂停、继续、停 止、重新开始 结束 开始 否 否 显示Game Over 游戏结束 图 3-1 游戏基本流程图 3.2.2 基本流程的功能模块 本系统基于游戏的各项功能来设计游戏的各个功能模块。图 3-2 为本游戏的系统功 能模块示意图,如图所示,本游戏主要有两大模块:游戏界面区,游戏控制区。游戏界 6 面区分显示玩家可选操作、显示玩家操作结果两个部分。游戏控制区分更改颜色、开始、 暂停、继续、停止、重新开始、提高等级、降低等级、退出等功能模块
20、。 俄罗斯方块游戏 游戏界面区 游戏控制区 显示玩家可选操作 显示玩家操作结果 开始 暂停、继续 提高等级 更改颜色 降低等级 退出 停止 重新开始 图 3-2 系统功能模块示意图 图 3-3 为游戏界面区模块设计示意图,如图所示,游戏界面区模块可细分为闯进新 游戏界面、处理玩家操作、显示玩家操作结果三个功能模块。 7 游戏界面区 创建新游戏界面 处理玩家操作 显示玩家操作结果 图 3-3 界面模块示意图 图 2-4 为游戏控制区设计示意图,如图所示,游戏控制区模块分为开始、暂停、继 续、初始游戏级别设置、初始颜色设置、退出等功能模块。 游戏控制区 开始 暂停 初始级别设置 退出 初始颜色设置
21、 图 3-4 控制区模块示意图 8 4 系统的详细设计与实现 Java 是一种纯面向对象(Object-Oriented)的程序语言,它的诸多优点在此就不 作详细论述了。从面向对象的观念出发,本程序主要可分为以下几个模块: 游戏主界面显示模块 方块及数据显示模块 方块移动控制模块 游戏界面颜色控制模块 游戏进度、等级控制模块 分析对象的技巧在于它的功能的扩展性及维护效率。试想,如果因为外部环境或者 用户需求的变化需要对程序进行功能扩展或者维护,就要对代码作大幅度的更动甚至重 写,这样就失去了面向对象的优势,所以在本程序分析时将独立性高的模块作为一个对 象,以提高程序的可扩展性和可维护性。以下该
22、游戏中类的设计: ControlMainGame 类:继承自 JFrame 类,作为游戏的主类,负责对游戏的主体全 局进行控制,连接与指挥各个类的枢纽。 ControlPanel 类:继承自 JPanel 类,作为操作面板类,负责安放主游戏窗口,积 分板,级别控制按钮等窗口用以控制游戏进程。 ChangeBlockColor 类:继承自 JPanel 类,ChangeBlockColor 线程类动态改变画布 类的方格颜色,画布类通过检查方格颜色来体现 ChangeBlockColor 方块的移动情况与 消去状况。 BlockPaint 类:方格类,组成方块的基本元素,主要表达方式为颜色。 Bl
23、ockOperation 类:继承自 Thread 类,作为操控方块的类,控制方块的移动,下 落以及变形。 4 4. .1 1 游游戏戏主主界界面面显显示示模模块块 一个优秀的软件系统不仅体现在核心的功能的多样性和强大上,如果使用者所面对 的是枯燥的、陈旧的界面的话,那么这个的软件系统是不成功的,所以好的、精美的界 面设计是极为重要的环节。为玩家设计制作布局合理、视觉效果良好的界面的重要性就 不言而喻了。 游戏主界面采用 Swing 组件开发,并且向其注册监听器,以实现各种控制功能,综 合游戏窗体的设计,其上至少需要注册三个监听器,分别是动作监听器 (ActionListener)、键盘监听器
24、(KeyListener)、选项监听器(ItemListener)。 9 根据初步设计,可以确定客户端上所要用到的 Swing 组件对象有 JFrame 对象、 JPanel 对象,JLabel 对象、JButton 对象、JMenuBar 对象、JMenu 对象、JMenuItem 对 象、JTextField 对象、JTextArea 对象、JDialog 对象等,至少十个 Swing 组件对象。 下图 4-1 为游戏主界面截图。 图 4-1 游戏主界面截图 本游戏主界面设计的初始颜色搭配基于对比鲜明的原则,默认背景色为深绿色,左 上角设置俄罗斯方块图标,得分初始值为 0,等级初始值为 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Java的俄罗斯方块的设计和实现 毕业论文 基于 Java 俄罗斯方块 设计 实现
链接地址:https://www.31doc.com/p-3920574.html