用java语言编程游戏连连看

阅读: 评论:0

用java语言编程游戏连连看

用java语言编程游戏连连看

].setIcon(null);

dots[array].setEnabled(false);

try {

thread.sleep( 20l);

}

catch (InterruptedException ex) {

}

}

// 消除两点

dots[array[0]].setIcon(null);

dots[array[0]].setEnabled(false);

dots[array[count - 1]].setIcon(null);

dots[array[count - 1]].setEnabled(false);

animate = false;

}

stop(); // 停止动画

}

由于消除动画可以几个消除动画同时进行,因此,对于此效果,我们就要在每次使用该效果时实例化一个该对象了。

为程序添加声音

现在,我们来为我们的游戏添加声音。虽然 JAVA 自从出道之日起就能够处理声音,但是那只限于在 APPLET 中进行处理,即便是这样,声音的格式也只能是少见的 AU 格式。幸好, SUN 意识到了这个问题,在 JDK1.3 之后, JAVA 就提供了专门的声音处理包来满足声音处理的需求。 javax.sound.midi 和 javax.sound.sampled 就是分别是用来处理 MIDI 和波形文件的,虽然 JAVA 提供的这两个包还不支持如 MP3 、 RM 等这类格式的文件,但是对于我们的这个游戏来说,能处理

MIDI 和 WAV 文件也已经够用了。

MIDI 格式的文件其优点在于文件小,但缺点是只能保存乐曲而无法包含声音信息, WAV 格式虽然能包含声音信息,可惜文件太大。因此,我们选用 MIDI 来作为游戏的背景音乐,而 WAV 来作为音效。

我们先来看看如何处理 MIDI 格式的文件吧。

// 读取 midi 文件

public void loadMidi(String filename) throws IOException, InvalidMidiDataException {

URLClassLoader urlLoader = (Class().getClassLoader();

URL url = urlLoader.findResource(filename);

sequence = Sequence(url); //sequence 保存着 MIDI 的音序结构

}

// 播放 sequence

public void play() {

if (isPlaying) { // 如果已经在播放,返回

return;

}

try {

sequencer = Sequencer();

sequencer.open();

sequencer.setSequence(sequence); // 加载 sequence

sequencer.addMetaEventListener(this); // 添加事件处理

}

catch (InvalidMidiDataException ex) {

}

catch (MidiUnavailableException e) {

}

// Start playing

thread = new Thread(this);

thread.start();

}

public void run() {

Thread currentThread = Thread.currentThread();

while (currentThread == thread && !isPlaying) { // 当 MIDI 没有播放的时候,播放 MIDI 音乐

sequencer.start();

isPlaying = true;

try {

thread.sleep( 1000l);

}

catch (InterruptedException ex) {

}

}

}

代码很短,但是已经能很好的完成我们需要的功能了,当然,如果你还嫌不满的话, JAVA 也提供了多种方法让你对 MIDI 格式的文件进行音调、频率的改变,由于这方面要牵扯到比较专业的知道,而我也不太了解,因此我就不说了:)

对 WAV 格式文件的操作和 MIDI 的操作基本上很类似,只不过使用的 API 包不同罢了,具体的我就不多说了,大家看看源代码就知道了。

让用户了解游戏规则

并非所有的人都玩过这个游戏,也并非所有的人都了解游戏的规则,因此,做一个帮助系统对刚接触的用户来说,还是非常有必要的。制作帮助系统非常简单,无非就是用一个对话框来显示游戏规则,显示的方式有多种,可以使用 JLabel 控件来显示,也可以使用 JTextArea 控件来显示,当然,在这里,为了使帮助系统更完美,使用 HTML 来制作帮助系统将来是最佳选择,由于在上面已经提到过如何使用 JEditorPane 控件显示 HTML 页面,因此,这个就留给大家自己完成吧。

并且使用自己的偏好来进行游戏

虽然我们为游戏提供了许多功能,可是并非所有的用户都能完全接受这些功能的,因此,我们需要提供一些设置使用户能够使用自己的偏好来进行游戏。

在此,我们提供了用户选择打开 / 关闭背景音乐、打开 / 关闭游戏音效、设置游戏的难度、设置消除动画的速度这 4 项功能,为了使用户能够自己设置,我们不仅需要使用上面提到过的配置文件来保存信息,还需要在程序中提供设置界面,在此,我们再添加一个 SetupDialog 类,这个类并不难实现,大家看看源程序就可以了。

本文发布于:2024-02-01 10:24:45,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170675428735961.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:连连看   语言   游戏   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23