我最近写了一个Java扑克牌游戏,有一个叫做类游戏中所有的游戏逻辑写的一种方式。在可能的情况下,我尽量让所有的GUI处理都在这个类之外。我现在正在尝试将此游戏转换为Android应用程序。有没有确定是否“主要”是Android或Java的
内playAutomaticTurn()方法(通过Android的活动和Java桌面应用程序中都使用),那么我打电话内游戏的另一种方法,如果电脑玩家谨此宣布,他们已经赢了。这将使用我创建的SoundEffect类(使用javax.sound.sampled。*库)根据结果播放两个声音效果。
而不是完全重写代码将声音效果移回到调用方法(我想我必须从我的announceWin()方法返回一个状态,然后从playAutomaticTurn()返回)是否有一个简洁的方式来确定主要的调用应用程序是否是Android应用程序?
这样我可以把if或case语句到位,并以不同方式处理声音效果?
E.g.
if (androidApp) {
playAndroidSoundEffect
} else {
playJavaxSoundEffect();
}
或者是在类的开始创建常量声明并使用Java和Android版本的不同值编译它的唯一方法?
E.g.编译Android版本(尚未实现Android声音)
private static final boolean SOUND = false;
//...
if (SOUND)
playJavaxSoundEffect();
感谢您提供任何帮助和建议。
比我的答复:) +1 – Blundell 2011-06-16 15:36:16
@Blundell你已经被授予我个人的体育道德徽章:-) – Waldheinz 2011-06-16 15:38:28
谢谢大家更好。目前,我已经采取了“无视这个问题,直到后来办法”和remmed的SoundEffect中的命令了,但它看起来像我会回来的接口方法后。 – 2011-07-09 10:11:54