安卓棋盘游戏实现设计

3
我正在开发一个安卓版的 Cloud 9 棋盘游戏。我以前从未设计过游戏,安卓应用程序(除了一两个hello world应用程序),甚至没有编写过具有GUI界面的程序(只做了很多CLI)。我对设计方面有一些疑问。
这个游戏是回合制的,所以这里没有实时考虑,我想知道最好的方法是什么。游戏由每个决策的简单的2-3个选项组成,对于初学者,我想将其制作为“基于文本”的,即在TextView上具有游戏“日志”,并且每当人类玩家需要做出决策时,他会得到2-3个按钮,其中包含他可以玩的选项。游戏由几个回合和级别组成。
我开始实现游戏“核心”而没有GUI和AI玩家。然后我试图弄清楚如何允许人类玩家,GUI等。我的当前设计想法是一个GameEventListener类,它将被告知游戏中的不同事件(回合开始,回合结束,某个玩家执行某个操作等),并且活动将实现它,并因此可以绘制/写入屏幕上发生的事情等。

然而,我不确定这是否是最佳方法,以及如何实现Android部分(例如,我希望在某些事件之后,玩家会有一个“继续”按钮,这样他就可以看到游戏继续之前做了什么 - 如何等待按下按钮?如果我从监听器函数返回,游戏将继续)。有什么建议吗?

2个回答

1

您可以在此处查看我的 Tetrads Drop 游戏,了解 GUI 和一些我的方法 http://code.google.com/p/tetrads-drop-lite/。 这是俄罗斯方块克隆版本,并且可以与另一个玩家通过互联网进行游戏。 如果您需要帮助编写一些 GUI 代码,则 Ed Burnette 的“Hello,Android”是一个很好的入门书。

更新

它与您正在设计的内容非常相似。

这里有这些包层次结构。

-com.aunndroid.Engine  (handling game logic) 
-com.aunndroid.View    (managing 2D Views)
-com.aunndroid.Tolk    (communication between deivces)

你能详细说明一下你在回答中的方法吗? - Amir Rachum

0

由于你的游戏是回合制的,所以我认为设计GameEventListener这样的GUI是可以的。基本上,这种GUI可以通过响应事件来实现。你可以为每个UI组件分配一个监听器。例如,button.setOnClickListener(Your listener class);

对于不同的按钮,你可以分别创建不同的监听器类,并且也可以将它们收集在一个GameEventListener中。如果对事件做出反应的操作不复杂,我们甚至可以使用匿名类:

button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v){
                          //do your operations here(e.g. get input, update UI)
                    }});

我有点困惑你的措辞。是 UI 组件响应游戏事件还是反之? - Amir Rachum
我该如何实现类似“等待用户按下按钮以继续”的功能? - Amir Rachum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接