APP下载

浅析Java语言在俄罗斯方块游戏中的实现

2019-10-24王立友

发明与创新·职业教育 2019年7期
关键词:文本框预览方块

王立友

摘 要:《俄罗斯方块》作为一款益智类小游戏,一度风靡全球。游戏操作简单灵活,趣味性强。本文阐述了利用Java语言实现俄罗斯方块游戏的整个流程。通过对游戏过程的分析,阐述《俄罗斯方块》实现过程中的架构设计和技术难点。

关键词:俄罗斯方块游戏;Java

俄罗斯方块名字的来由源自于希腊语,含义为4,因为游戏中所有方块的设计均为四个方块的组合。俄罗斯方块游戏是一款经久不衰的益智类小游戏[1],游戏规则简单明了,趣味性强。对于 Java 编程爱好者而言,是一个不错的训练项目,难度适中,在游戏的开发设计过程中,不仅可以检验Java编程知识的综合运用,提升开发技能,同时还可以激发开发者的学习兴趣。

一、俄罗斯方块游戏总体设计

(一)游戏功能模块系统构成

游戏主要包括3个功能模块:方块控制功能、方块预览功能、游戏积分统计功能[2]

1.方块控制功能:主要通过条件判断,来实现方块在下落的过程中向左移动、向右移动、方块旋转、方块触边、方块触块、方块触底及满行消除功能。

2.方块预览功能:当游戏界面出现一个游戏方块时,游戏方块预览区域中将随机生成下一个游戏方块,便于游戏玩家判断方块堆叠的走势,更好地布局方块的具体下落位置。

3.游戏积分统计功能:每消除一行得100分,如果一次消除两行则可以得100+200即300分,以此类推,当游戏分数累积到一定程度,系统游戏难度会增加,共有5个难度等级,难度系数1级最简单,5级最难。当游戏失败时,记录当前分数与历史最高分相比较,如果超过历史最高分,则将当前分数记作历史最高分,并返回游戏初始界面。

(二)游戏运行流程

游戏开始时,在控制面板顶部随机生成方块,方块自由下落,判断下落中是否到达顶部,如果到达顶部则表示游戏结束,否则判断是否到底或者是否碰到障碍物,如果没有碰到障碍物,方块继续下落,如果碰到障碍物,则停止下落,判断是否有满行,满行就消除并累加分数。

二、Java语言实现俄罗斯方块游戏

(一)俄罗斯方块的形态

方格是组成块的基本元素,用自己的颜色来表示块的外观(默认为黄色),块类继承自线程类(Thread),由 4 * 4方格构成一个块,即一个块占4行4列。块的样式一共有7种,分别是长条、方块型、T型、反‘Z、‘Z型、‘7型、反‘7型。每个样式含4种形态(方块旋转改变状态),共计28个形态。

(二)游戏显示界面的设计

1.游戏背景的设计:设置画布的宽度和高度分别为315像素和392像素,游戏在初始化过程中,背景界面整个被分为一个20行、12列,让游戏界面显示在屏幕正中央位置,即利用屏幕的宽度减掉游戏界面宽度的差除以2以及屏幕的高度减掉游戏界面的高度的差除以2(代码设计:(screenSize.width - getSize().width) / 2,(screeSize.height - getSize().height) / 2);)。

2.方块的生成及预览窗口的设计:利用数组定义俄罗斯方块的28个形态,在背景顶部随机生成一个俄罗斯方块(4*4方格),并在游戏预览界面生成下一个要出现的方块形态。

3.等级、积分显示设计:等级及积分的设计主要利用2个Label标签和2个Text文本框进行设计,Label标签的主要作用是解释说明,本文2个标签的Text属性值分别是:等级、积分,用于解释其下方TextBox文本框内容的含义。当前游戏的等级设置共有5个等级(5~9),等级越高,方块下落的速度越快,难度越大。当积分达到一定要求时,系统会自动改变等级标签下面文本框中的数值,提示用户难度增加,积分标签下面的TextBox文本框主要显示游戏玩家当前的积分值。

4.系统控制按键设计:主要利用Jpanel容器存放游戏界面上的各个控制按钮,包括游戏开始、暂停、终止、增加游戏难度、减小游戏难度等按钮,为了符合玩家的习惯,将键盘上的上下左右四个按键与方块的旋转、快速下落、左移、右移等操作一一对应。增加游戏的可操作性。

(三)游戏事件处理程序的设计

由于事件处理程序相对较为繁杂,本文仅提供了游戏设计过程中的主要事件处理程序总览,包括游戏开始、绘制背景、畫块、绘制预览方块、左移、右移、旋转、快速下落、擦除组块、重绘画布、触块及触底、消除满行及积分累加、是否触顶、游戏结束等事件处理,主要目的是控制游戏的进程。

结语

本文利用Java语言实现了俄罗斯方块游戏,可以让广大编程爱好者更好地学习Java语言的应用,提高Java实战能力,激发自身的学习兴趣,对自己动手编写Java应用程序的能力会有很大的益处。

参考文献

[1] 翟亚静,成丽君.基于 Android的2048小游戏的简单实现[J].电子技术与软件工程,2017(12):251-252.

[2] 马巧梅,张丽娜.基于C语言的俄罗斯方块游戏的设计[J].微型电脑应用,2017(33):7-9.

猜你喜欢

文本框预览方块
巧用文本框实现PPT多图片排版
谜题方块
五大卫视2020年待播剧目预览
纸板俄罗斯方块拼图
PPT文本框的另类应用
图片动画玩异样
11月在拍电视剧预览表
有序数方块
2017年春夏中国色彩预览
文本框酷变3D效果