java - 如何在 Android 中处理玩家回合?

标签 java android loops sdk onclicklistener

这是我的第一个 Android 游戏应用程序,目前我有点卡住了。

所以,基本上我有一个纸牌游戏,总共有 6 个回合。第 1 回合 = 玩家 1,第 2 回合 = 玩家 2,第 3 回合 = 玩家 1,依此类推。

我一开始的想法是在 while 循环中处理每个玩家的回合,该循环声明:WHILE (round<=6),并将变量 round 初始化为 0。

在 WHILE 循环中,我有一个 if(turn=1){ 在屏幕上显示玩家 1s 可用的操作和卡片,并设置 onclicklisteners 并在点击时将变量增加 1},否则 if (turn=2){ 执行以下操作相同,但对于玩家 2}。

这显然是行不通的,考虑到 while 循环不会等待玩家点击按钮或卡片,我发现自己陷入了一个恶魔般的无限循环:(。

所以,我这几天一直在寻找解决方案,但似乎找不到非常有启发性的东西。

如果有人可以推荐某种解决方案或我可以阅读以获得可能的解决方案的任何信息来源,我将非常感激。

谢谢。

最佳答案

你不会想用循环来做到这一点。您最好的选择是查看 State Design Pattern .

使用此模式,您将有不同的“转弯”状态。然后,当用户单击按钮或卡片时,回合的状态会发生变化。然后“轮次”对象有监听器来处理更改,例如轮到谁了。

在没有看到一些实际代码的情况下,我无法给您提供代码示例。

关于java - 如何在 Android 中处理玩家回合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18897612/

相关文章:

php - 如何在 3 个不同的表中使用 while 循环来回显数据库的特定列

java - 当 Layout 为 null 时,ScrollBar 不起作用

java - 如何让 JSF 登录到 log4j

JavaFX ImageView - 图像清理

Android获取当前 fragment 的ID

java - 为什么要声明类的自静态实例

android - 在 Firebase 中如何通过单个查询返回多个项目?

python - 什么时候值得在 if-else 语句上使用循环?

java - 跟踪 Canvas 上的点的最佳方法

java - 使用 map 数据填充 JTable