APP下载

Java 消除类游戏设计的实现技术

2022-01-14李少芳

普洱学院学报 2021年6期
关键词:窗体字符关卡

李少芳

莆田学院 机电与信息工程学院,福建 莆田 351100

1 Java 游戏开发概述

当前由于游戏本身的属性发生改变以及智能手机、平板电脑等移动设备的功能越来越强大,游戏产业得到飞速发展,已成为我国重点扶持项目。由于Java 技术的不断发展,Java 软件的升级越来越方便,部署更简单,Java 程序的运行速度有了显著提升,从而使得Java 处理比较复杂的3D 图形成为可能。Java3D 等技术的出现,使Java 语言可以方便地利用显卡日益强大的硬件加速能力。许多厂商都在家用游戏机上支持Java,增加对swing 硬件的加速支持。而随着智能手机的发展,有的手机性能已接近或超过电脑的水准,手机游戏的市场份额也越来越大。由于手机的操作系统种类繁多,跨平台的Java 一直备受青睐[1-3]。

从市场商业角度长远效益考虑,在开发Java 游戏时,一要多考虑社交因素在游戏中的重要性,用社交帐号登录邀请好友等,许多玩家都喜欢和好友一起玩游戏。二是对于活跃用户或铁杆游戏玩家,要考虑存储历史游戏信息,并考虑更佳的游戏体验,吸引了更多游戏用户。三是加入适当的盈利方式,如下载付费、游戏内广告和游戏内付费等。四要多尝试开发跨平台游戏,因为有的玩家钟爱台式电脑,有的钟爱平板电脑、手机,不同平台有自己的用户群,而每一个新平台的出现都将为游戏的制作带来新的可能性。

2 消除类游戏

消除类游戏闲暇时动动手指就可以玩,耐玩、解压,操作简单,老少皆宜。目前网上好玩的消除类游戏五花八门,种类繁多,有俄罗斯方块、开心消消乐、连连看、泡泡龙、呆萌小怪物、珠宝岛、寻宝者、糖果传奇、欢乐碰碰猫、疯狂糖果爆炸、缤纷碰碰球、圣诞节消除、神奇厨师等。例如,寻宝者是一款宝藏消除益智游戏,使用宝石来打造海岛城市,通过海洋旅游和解决神圣的难题,搭配珠宝的三色球,获到巨大的宝藏。糖糖消除是一款趣味休闲消除玩法游戏,滑动手指让三个同色甜点连接在一起即可消除,通过消除多个甜点获得强力甜点,每个强力甜点都有独特的爆破效果。圣诞节消除是一款三消匹配比赛游戏,充满了许多新的挑战。点燃蜡烛,清除积雪寻找礼物,抓住跳雪人,填充礼品袋。把圣诞老人放到烟囱里,点燃鞭炮,填满大袜子,看看冰箱里有什么。可见,每一款游戏都有众多精心设计的关卡和任务[4-6],一旦开始,让人爱不释手。

本文设计的键盘指法练习软件,是一款休闲学习的消除类游戏,使用Java 的Swing 框架编程,采用Eclipse 集成开发环境进行设计。第一关功能是根据出现的大小写字母和数字,在键盘上按键可以消除对应的字母或数字,在限定时间内,尽可能地输入正确的字母或数字,每输对一个得10 分,挑战高分。后面关卡可以增加难度,消除单词。

3 背景图片的自适应大小显示

首先定义背景图片bg,初始化bg,设置其存储路径为d:\temp\jpg\bg2.jpg。并在 public void paint(Graphics g)中设置背景图片随主窗体的大小自适应显示。在public void run()方法中,使用repaint()刷新界面时,需重新加载图片,出现闪烁现象,解决办法之一是定义Graphics 对象g,改成使用Graphics g=getGraphics()和paint(g)。代码如下:

4 多彩字符消消乐游戏软件设计

主窗体框架设计界面,如图1 所示。随机生成若干个大写字母A-Z、小写字母a-z 和数字字符0-9,并调用getRandomColor()方法设置为随机色显示。初始成绩设置为0。添加键盘响应事件,检测到一个正确的按键,则对应的字母或数字消除,相应增加成绩10 分。

设置为随机色的相关代码如下:

随机生成acount 个大写字母A-Z、小写字母a-z 和数字字符0-9,第i 个字符c[i]的显示位置(x[i],y[i])也是随机的。这里调用生成随机数,也可以创建随机类对象来产生随机数[7]。相关代码如下:

主窗体界面成绩以及各字符随机色显示的代码如下:

当前一组acount 个字符被消除或下落超出窗体边界,重新产生另一组acount 个字符。

键盘按下的响应事件代码如下:

定义一个KeyListenerθ1 类,继承JFrame 类,在其构造方法中添加代码如下:

当创建线程t,并通过t.start()启动线程后,自动会调用run()方法运行产生字符消除动画效果。

5 结语

多彩字符消消乐游戏软件是一款简单休闲的消除类游戏,也适合于键盘指法练习。第1 关卡的设计仅仅是通过键盘操作消除大小写字母或数字,每输对一个字符得10 分。也可以对没有被消除就下落的字符,设计减分操作。可以设置不同难度关卡,比如第2 关可以通过增加消除单词的操作来增加游戏过关难度。进一步的改进可以是用图片代替字符,比如随机出现的鱼或飞机,而改用左右箭头控制按键位置,以射击方式标示出火力;还可以添加字母消除或下落的游戏音效和背景音乐设置等。本文用到的编程技术可以运用到更多游戏开发中,并加以改进推广,也可以应用到嵌入式开发或基于Android 平台的移动应用开发中,期望开发出更多更强的软件来。

猜你喜欢

窗体字符关卡
本期主题
——五月,是诗的样子!
疯狂冒险岛
正则表达式快速入门
字符代表几
图片轻松变身ASCⅡ艺术画
试谈Access 2007数据库在林业档案管理中的应用
关于Access中切换面板的问题与解析
视频监视系统中字符叠加技术的应用
时空穿梭
WinCE.net下图形用户界面的开发