Java Android棋盘游戏的实现设计
我正在开发一款android版的棋盘游戏。我以前从未设计过游戏、android应用程序(除了1-2个hello world应用程序)甚至GUI程序(做了很多CLI),我对设计有一些疑问 游戏是基于回合的,所以这里没有实时考虑,我想知道什么是最好的。该游戏包括相当简单的2-3选项选择,玩家必须做出每个决定,对于初学者来说,我想让它“基于文本”,即有一个带有游戏“日志”的文本视图,每当人类玩家必须做出决定时,都会给他2-3个按钮,上面有他可以玩的选项。游戏由几轮和几级组成 我开始在没有GUI和AI玩家的情况下实现游戏“核心”。然后,我试图找出如何允许人类玩家、GUI等。我当前的设计思想是一个Java Android棋盘游戏的实现设计,java,android,Java,Android,我正在开发一款android版的棋盘游戏。我以前从未设计过游戏、android应用程序(除了1-2个hello world应用程序)甚至GUI程序(做了很多CLI),我对设计有一些疑问 游戏是基于回合的,所以这里没有实时考虑,我想知道什么是最好的。该游戏包括相当简单的2-3选项选择,玩家必须做出每个决定,对于初学者来说,我想让它“基于文本”,即有一个带有游戏“日志”的文本视图,每当人类玩家必须做出决定时,都会给他2-3个按钮,上面有他可以玩的选项。游戏由几轮和几级组成 我开始在没有GUI和AI玩
GameEventListener
类,它将被告知游戏中的不同事件(回合开始、回合结束、某个玩家做了某个动作等),并让活动实现它,因此它可以在屏幕上绘制/写入发生的事情,等等
但是,我不确定这是否是最好的方法,也不确定Android部分应该如何实现(例如,我希望在一些事件之后,玩家可以“继续”按钮,这样他可以看到在游戏继续之前做了什么-我如何等待按钮被按下?如果我从侦听器功能返回,游戏将继续)。有关于如何继续的建议吗?既然你的游戏是基于回合的,那么我认为像GameEventListener这样的设计是可以的。 基本上,这种GUI可以通过响应事件来实现。您可以将每个UI组件分配给侦听器。 例如,button.setOnClickListener(您的listener类) 对于不同的按钮,您可以分别为它们创建不同的侦听器类,也可以在一个GameEventListener中收集它们。如果对事件作出反应的操作并不复杂,我们甚至可以使用匿名类:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
//do your operations here(e.g. get input, update UI)
}});
您可以在这里查看我的四分体掉落游戏,了解GUI和我的一些方法 它是俄罗斯方块的克隆,可以通过互联网与其他玩家一起玩。如果您需要一些GUI代码方面的帮助,Ed Burnette的“Hello,Android”是一本好书 已更新 它与您正在设计的非常相似 有以下包层次结构
-com.aunndroid.Engine (handling game logic)
-com.aunndroid.View (managing 2D Views)
-com.aunndroid.Tolk (communication between deivces)
你能在回答中详细说明你的方法吗?我对你的措辞有点困惑。UI组件是响应游戏事件还是响应游戏事件?我如何实现“等待用户按下按钮继续”之类的功能?