【问题标题】:Computer AI opponent in turn based google play game计算机 AI 对手轮流基于谷歌玩游戏
【发布时间】:2015-11-14 19:06:45
【问题描述】:

我正在尝试制作一个四人回合制游戏。

现在,如果他们少于 4 个人类玩家,我想启动 X 人类玩家和 4-X AI 玩家。谷歌回合制多人游戏有可能吗https://developers.google.com/games/services/android/turnbasedMultiplayer

此外,如果人类玩家离开,我想用 AI 玩家代替它,而不是取消游戏。它支持这个吗?

【问题讨论】:

    标签: android multiplayer


    【解决方案1】:

    我正在实施这个并让它工作 90%。当我的游戏进入新的回合时,我会检查下一个玩家是机器人还是人类玩家。这是使用座位算法预先安排的,因此我可以整齐地隔开人类。即当有两个人类玩家时相反。当下一个玩家是 BOT 时,我会转一圈,但不要让参与者前进。这样,它将持续存在并发送更新,而无需将轮到其他玩家。当下一个玩家是人类时,我会转身并切换到下一个玩家。代码看起来像这样......

    如果(玩家[playerTurn%4]==BOT){ Games.TurnBasedMultiplayer.takeTurn(MainActivity.mHelper.getApiClient(), MainActivity.mMatch.getMatchId(), MainActivity.mTurnData.persist(), myParticipantId).setResultCallback( 新的 ResultCallback() { @覆盖 公共无效 onResult(TurnBasedMultiplayer.UpdateMatchResult 结果){ 处理结果(结果); } });

            state = GameState.Playing;
    
        } else {
    
            Games.TurnBasedMultiplayer.takeTurn(MainActivity.mHelper.getApiClient(), MainActivity.mMatch.getMatchId(),
                    MainActivity.mTurnData.persist(), nextParticipantId).setResultCallback(
                    new ResultCallback<TurnBasedMultiplayer.UpdateMatchResult>() {
    
                        public void onResult(TurnBasedMultiplayer.UpdateMatchResult result) {
                            processResult(result);
                        }
                    });
            state = GameState.multiplayerWait;
    

    }

    我不确定如何将不活跃的玩家与其他玩家交换。除非您运行自己的服务器或使用 Parse 之类的东西,否则我认为这是不可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多