计算机AI对手反过来基于谷歌玩游戏

时间:2015-11-14 19:06:46

标签: android multiplayer

我正在尝试制作一款基于四人游戏的游戏。

现在,如果他们不到4个人类玩家,我想要启动X人类玩家和4-X AI玩家。是否可以使用基于谷歌回合制的多人游戏https://developers.google.com/games/services/android/turnbasedMultiplayer

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

1 个答案:

答案 0 :(得分:0)

我正在实施这项工作,让它工作90%。当我的游戏中出现新的转弯时,我会检查下一位玩家是BOT还是人类玩家。这是使用座位算法预先安排的,这样我就可以整齐地分配出人类。即当有两个人类玩家时相反。当下一位玩家是BOT时,我会转弯,但不要推进Particpant。这样它就会持续并发送更新,而不会将转弯传递给其他玩家。当下一个玩家是人类时,我会转动并切换到下一个玩家。代码看起来像这样....

if(玩家[playerTurn%4] == BOT){   Games.TurnBasedMultiplayer.takeTurn(MainActivity.mHelper.getApiClient(),MainActivity.mMatch.getMatchId(),                     MainActivity.mTurnData.persist(),myParticipantId)。setResultCallback(                     new ResultCallback(){                         @覆盖                         public void onResult(TurnBasedMultiplayer.UpdateMatchResult result){                             processResult(结果);                         }                     });

        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这样的东西。