4.1界面
先设置背景和地鼠的图标,为图片创建标签组件,最后将标签添加到容器中去。背景截为五个图,然后组合在一起,所以要分别设置其位置,分别为底面背景di;鼠洞拼接图bottom,mid_down,mid_up;最顶端装饰背景top ,如图2所示。
图2 游戏界面
4.2控制地鼠的出现
无论地鼠的大小,每调用一次move方法就会使地鼠从from X,Y逐渐移动到to X,Y,然后停留一段时间后逐渐返回.途中若被打中则死掉,退出move方法。移动的过程就是地鼠冒出头和低下头的过程。设置for循环和if判断语句来控制地鼠动态出现和消失。运用鼠标监听事件能够捕获鼠标的按键、移动、拖放、滚动等所有事件,来判断是否打到地鼠创建的一个线程随机显示标签的图片,用户单击到标签组件时,相应的事件监听器就会使地鼠消失。如图3所示。
图3 游戏进行中
4.3背景音乐的添加
没有音乐的世界时枯燥的,同样在游戏中如果有音乐相伴会使游戏的娱乐功效事半功倍。下面介绍背景音乐的添加。
import java.applet.AudioClip;为了背景音乐导入的软件包。
import java.net.URL;为了背景音乐导入的软件包
URL eng=this.getClass().getResource("song.wav");
"song.wav"为含有扩展名的声音文件名。
AudioClip snd=JApplet.newAudioClip(eng);
snd.loop();循环播放声音文件
4.4游戏等级的设定
在设计游戏的过程中通常会注重游戏等级的设定。每个等级需要多少时间来完成?从一个普遍规律来看,在任何游戏中,玩家都必须至少完成一个等级。对于电脑游戏,这个过程应该相对来说短一点,儿童级别中有十几分钟的冲刺过程就行了。游戏以300分为一个关卡,当玩家得分达到300的倍数时,游戏等级会提高:游戏速度提高一级,生命点数加5.如图4所示。
图4 游戏等级分数显示界面
4.5游戏中的包
包是一个类的集合,每个包都有确定的名字。把类放在包中是为了防止不同程序开发的类发生冲突。如果在定义类的时候没有指定类属于哪个包,类就属于一个默认包,默认包没有名字。本次游戏将自己编写的类放在自定义包内,创建自定义包的方法是将package语句作为Java元文件的第一句。例如:package kickmouse.Perform;就是该文件定义的任何类都属于package语句指定的包。其中,kickmouse是包的名字。所有包中的类对应的.class文件必须放在kickmouse目录下的Perform目录中。
5.游戏运行及测试分析
5.1程序运行情况
游戏开始前界面,点击图片下方的 按钮游戏即开始计时,表示游戏的开始,打地鼠游戏规则很简单,就是玩家控制锤子去敲打每一只从洞里冒出的老鼠,打死一只获得相应分数,漏掉一只减去一点生命。老鼠分大中小三种,近大远小,大的移动慢,目标大,一只10分。最小的移动快,目标小,一只30分。中等大小的介于两者之间。 游戏结束条件:玩家的生命值为0或玩家主动按下停止键。
在检验打击到地鼠后地鼠时候消失的时候,要同时满足两个条件,即地鼠已经在地面冒出头并且锤子打击到了地鼠这时地鼠消失才算成功。所以,如果条件不成立的话就不需要判断是否加分了,这样可以避免很多不必要的复杂运算。当然,根据地鼠的类型不同,加的分值也应不同。
5.2游戏需要改进的地方
本游戏完全是基于Java图形开发的,涉及到声音的开发有点粗糙,所以在游戏的以后版本中将会在游戏中声音效果方面加强动手能力,并且游戏的界面并不是很美观,所以在游戏的后续版本中会继续美化游戏的界面,这是本游戏主要的需要改进的地方。 Java打地鼠游戏程序开发+需求分析+流程图(4):http://www.751com.cn/jisuanji/lunwen_713.html