1、 摘要摘要 Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平 台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计 算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算 和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。 目录目录 引言. 1 1 研究方法 1 1.1 俄罗斯方块游戏的基本要求 1 1.1.1
2、游戏基本功能:移动、加速、变形、消除、游戏结束等。 . 1 1.1.2 显示下一个方块。. 1 1.1.3 游戏难度岁分数递增。 1 1.1.4 玩家自己设置游戏难度、开始、暂停等。 1 1.1.5 分数的统计等。 1 2、研究过程 . 1 2.1、模块设计 1 2.1.1、控制面板类. 1 2.1.2、块类 . 1 2.1.3、游戏主类 1 2.1.4、方格类 1 2.1.5、画布类 1 2.2、详细设计 1 2.2.1、游戏控制 1 2.2.2、方块设计 2 2.2.3、画布设计 3 3、运行结果 . 6 3.1、初始画面: 6 3.2、游戏设置界面: . 6 3.3、游戏进行中的界面:
3、7 3.4、游戏结束界面: . 7 4、心得体会 . 8 5、参考文献: 8 6、附录:游戏主类代码 8 1 引言 开发一个单机游戏系统,能够实现俄罗斯方块程序。通过键盘按键可以调整 方块的旋转方向。 最终达到能够通过本次课程设计, 进一步巩固所学 java 知识, 学会将理论用于实践,掌握所学知识的实验意义。操作系统:windows xp,开发 工具:Myeclipse 开发语言:java 1 研究方法 1.1 俄罗斯方块游戏的基本要求 1.1.1 游戏基本功能:移动、加速、变形、消除、游戏结束等。 1.1.2 显示下一个方块。 1.1.3 游戏难度岁分数递增。 1.1.4 玩家自己设置游戏
4、难度、开始、暂停等。 1.1.5 分数的统计等。 2、研究过程 2.1、模块设计 2.1.1、控制面板类 继承自 JPanel.上边安放预显窗口、等级、得分、控制按钮。主要用 来控制游戏进程。 2.1.2、块类 继承自线程类(Thread)由 4 * 4 个方格(ErsBox)构成一个块,控 制块的移动、下落、变形等。 2.1.3、游戏主类 继承自JFrame类,负责游戏的全局控制。 内含: 一个GameCanvas画布类的实例引用;一个保存当前活动块 (ErsBlock)实例的引用; 一个保存当前控制面板(ControlPanel)实 例的引用。 2.1.4、方格类 是组成块的基本元素,用自
5、己的颜色来表示块的外观。 2.1.5、画布类 内有 *个方格类实例。继承自JPanel类。 ErsBlock线程 类动态改变画布类的方格颜色,画布类通过 检查方格颜 色来体现ErsBlock块的移动情况。 2.2、详细设计 2.2.1、游戏控制 一轮游戏过程,实现了Runnable接口。一轮游戏是一个大循环,在这个 循环中,每隔100毫秒,检查游戏中的当前块是否已经到底了,如果没 有,就继续等待。如果到底了,就看有没有全填满的行,如果有就删 除它,并为游戏者加分,同时随机产生一个,新的当前块,让它自动 下落。 当新产生一个块时, 先检查画布最顶上的一行是否已经被占了, 如果是,可以判断Game
6、 Over了。 代码示例: privateprivate classclass Game implementsimplements Runnable 2 publicpublic voidvoid run() intint col = (intint) (Math.random() * (canvas.getCols() - 3), style = ErsBlock.STYLES(intint) (Math.random() * 7)(intint) (Math.random() * 4); whilewhile (playing) ifif (block != nullnull) /第一次循环时,block为空 ifif (block.isAlive() trytry Thread.currentThread().sleep(100); catchcatch (InterruptedException ie) ie.printStackTrace(); continuecontinue;