首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android棋盘游戏的实现设计

Android棋盘游戏的实现设计
EN

Stack Overflow用户
提问于 2012-03-17 02:07:53
回答 2查看 1.7K关注 0票数 3

我正在努力实现一个安卓版本的棋盘游戏Cloud 9。我从来没有设计过游戏,android应用程序(除了1-2个hello world应用程序),甚至是GUI程序(做了很多CLI),我有一些关于设计的问题。

这个游戏是以回合为基础的,所以这里没有实时的考虑,我想知道最好做什么。这个游戏由非常简单的2-3个选项选项组成,玩家必须做出每个决定,对于初学者来说,我想让它“基于文本”,也就是说,有一个TextView上面有游戏的"log“,当人类玩家必须做出决定时,他会得到2-3个按钮来选择他可以玩的选项。游戏由几个回合和关卡组成。

我开始实现游戏的“核心”完全没有一个图形用户界面和AI玩家。我现在的设计思想是一个GameEventListener类,它将被告知游戏中的不同事件(回合开始,回合结束,某个玩家做了某个动作,等等),并让活动实现它,因此它可以绘制/写入屏幕上发生的事情,等等。

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

EN

回答 2

Stack Overflow用户

发布于 2012-03-17 04:21:56

你可以在这里看看我的图形用户界面和一些我的方法http://code.google.com/p/tetrads-drop-lite/,它是一个俄罗斯方块的克隆,可以在互联网上与其他玩家玩我的四分体跌落游戏。如果你需要一些GUI代码的帮助,Ed Burnette的"Hello,Android“是一本不错的书。

已更新

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

有这些包层次结构

代码语言:javascript
运行
复制
-com.aunndroid.Engine  (handling game logic) 
-com.aunndroid.View    (managing 2D Views)
-com.aunndroid.Tolk    (communication between deivces)
票数 1
EN

Stack Overflow用户

发布于 2012-03-17 03:42:38

既然你的游戏是以回合为基础的,那么我认为像GameEventListener这样的设计是可以的。基本上,这种GUI可以通过响应事件来实现。您可以为每个UI组件指定侦听器。例如,button.setOnClickListener(您的侦听器类);

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

代码语言:javascript
运行
复制
button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v){
                          //do your operations here(e.g. get input, update UI)
                    }});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9742377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档