基于JAVA的俄罗斯方块的设计与实现毕业论文
2021-03-23 21:39:11
摘 要
在过去二十多年中,单人益智游戏“俄罗斯方块”为全世界玩家提供了消遣时间的快乐。游戏的规则是这样的,随机序列的四个方块的组合体落在游戏面板中,玩家通过操纵变换这些方块,旨在创建并消除被方块完全填充的一行或多行来获得分数,当方块到达面板顶部则游戏失败。
在本文中,主要探讨如何基于Java对俄罗斯方块进行图形游戏开发,以eclipse为开发工具、Windows为平台。通过面对对象的设计原则,使用封装将整个问题划分成为很多小的独立可测问题。论文阐述了实现随机生成方块下落功能,实现对方块的移动和旋转功能,销毁方块统计得分并判读胜负等。还论述了Java游戏开发的便利及意义,游戏编程独特的思考与实现方式。
关键词:Java;GUI编程;俄罗斯方块;游戏
Abstract
In the past two decades, the single puzzle game "Tetris" has provided a happy time of pleasure for the world players. The rules of the game are like this: the four blocks of different kinds fall within the game panel in random sequence , and the player transforms the squares by manipulating them to create and eliminate the a row or rows that are completely filled by the box to get the score, and the game failed when the block hits the top of the panel .
In this article, the main purpose is on how to develop the Tetris graphics game using Java , we chose the Eclipse for the development of tools, and the experiment is based on Windows platform. By applying the object-oriented principles for design and the use of packaging to divid the whole problem into many small independent measurable problems. This paper describes the realization of the function of random generating of box dropping , the block movement and rotation , and the destruction of the box and counting the statistical score and interpretation of the outcome. Furthermore, we have discussed the convenience and significance of Java in game programming development,and the unique thinking and implementation in game programming.
Key Words:Java;GUI programming;Tetris;Game
目录
第1章 绪论 1
1.1 设计任务 1
1.2 可行性分析 1
1.2.1 技术背景 1
1.2.2 需求分析 2
1.3 进度计划 3
第2章 相关技术简介 4
2.1 开发环境配置 4
2.1.1 配置JDK 4
2.1.2 安装Eclipse 4
2.2 Java GUI编程 4
第3章 总体设计 6
3.1 状态模块 6
3.2 变换模块 8
3.3 消除模块 11
3.4 辅助模块 11
第4章 游戏详细设计与实现 12
4.1 UI设计 12
4.2 主要数据类 13
4.3 主要功能设计 15
4.4 辅助功能设计 16
第5章 游戏测试与分析 18
5.1 游戏主界面 18
5.2 方块变换 19
5.3 退出游戏 20
5.4 游戏帮助 20
5.5 测试总结 21
第6章 总结与展望 22
6.1 总结与展望 22
参考文献 23
致 谢 24
第1章 绪论
一直以来,Java游戏开发处于被忽略的地位。最近几年,虽然出现了很多专门用于Java游戏研究的学术课程,会议和期刊,但在商业应用中Java游戏开发所占的比例和人才需求比例还是很小一部分。我们发现游戏编程的发展很有趣,一方面人们积极接受新的想法,一方面又非常传统,认为除了用C 之外的其他语言开发游戏是耗时耗力的。随着计算机科学和电子游戏行业的不断发展,Java作为一种语言根本不适合PC游戏开发的想法需要得到改变 ,Java或许仍旧不适合大型PC游戏开发,但Java在开发像俄罗斯方块、宝石迷阵这类小型PC游戏上极具优势,耗时小,效率高。同时Java在移动设备游戏的开发表现非常好,它具有可移植性,随着各种设备系统平台数量的增加,Java会变得越来越有吸引力,创建真正跨平台二进制文件的能力简直无可比拟。Java游戏的运行速度随着机器发展会越来越快。
1.1 设计任务
俄罗斯方块是一种下落型的益智游戏,简单好玩,锻炼脑力和反应力。游戏的规则是随机序列的四个方块的组合体(Tetromino)间歇落在游戏面板中,下落速度相同,可以通过按键加速下落,玩家通过操纵变换这些方块,旨在创建并消除被方块完全填充的一行或多行来获得分数,当方块到达面板顶部则游戏失败。
毕业设计的任务就是设计一款基于Java的俄罗斯方块游戏,要实现以下功能:
- 开始游戏:点击按钮开始游戏
- 移动和旋转方块:通过键盘控制对方块进行移动和旋转
- 方块着落:方块顺利插入并坐落到面板上,消除方块不影响上面方块的排列布局
- 统计得分和行数:根据玩家操作和游戏规则显示出玩家得分和已消除行数
- 暂停游戏与继续游戏:通过敲击快捷键或鼠标点击暂停和继续游戏
- 判断游戏结束:根据游戏规则判断游戏是否结束
- 退出游戏:敲击快捷键或鼠标点击退出游戏
1.2 可行性分析
1.2.1 技术背景
Java是面向对象的编程语言,面向对象使Java成为一种很好的语言去编写游戏[1]。因为它可以帮助我们管理代码的复杂性并重用代码,从而缩短开发时间。面向对象设计让创建图形游戏的计划和设计变得更容易管理,能增加项目工程的健康度,同时减少失败工程的数量[2]。面向对象编程的程序在运行时会产生额外的时间开销和性能损失,但一些研究表明,面向对象的程序有时甚至比面向过程风格编写的类似程序运行得更快!
Java是一种简单的语言。 首先,Java的语法类似于C和C 的语法,所以对于已经学习了C和C 程序员来说Java相对很容易。 其次,Java剔除了某些C和C 的功能,因为Java的设计人员认为这些功能冗余且,而且会导致程序员编写出不正确或不安全的代码,所以Java是比C或C 更小,更简单的语言。 第三,Java的存在让内存管理变得简单,消除指针和使用垃圾收集来回收未使用的分配内存[3]。 Java的简单性使游戏更容易理解和调试,这简化了我们写代码的任务。