【问题标题】:Turn-based Multiplayer Game not finish回合制多人游戏未完成
【发布时间】:2014-10-25 13:41:30
【问题描述】:

我的逻辑是第一个玩家创建游戏并轮到他。第二个玩家轮到他并用finish()结束比赛。

Games.TurnBasedMultiplayer.finishMatch(getApiClient(), mMatch.getMatchId(),
                mTurnData.persist(), creatorResult, opponentResult)
                .setResultCallback(new ResultCallback<TurnBasedMultiplayer.UpdateMatchResult>() {
                    @Override
                    public void onResult(TurnBasedMultiplayer.UpdateMatchResult result) {
                        processResult(result);
                    }
                });

第一个用户在 Play 游戏内置收件箱中获得现在轮到他的状态。

match.getStatus() == MATCH_STATUS_COMPLETE

但是 match.getTurnStatus() 不是 MATCH_TURN_STATUS_COMPLETE

如何真正结束游戏?玩家 2 完成游戏后,第一个用户应该会看到获胜者。

示例代码假定必须为所有玩家调用终点。这是唯一可能的方法吗?玩家一收到通知,轮到他了,游戏结束了。这很烦人。

        // Note that in this state, you must still call "Finish" yourself,
        // so we allow this to continue.
        showWarning("Complete!",
                "This game is over; someone finished it!  You can only finish it now.");

谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

    是的,我认为这是一个错误!

    我找到了解决方法:

    您可以检查状态是否为 MATCH_COMPLETED 并在 onTurnBasedMatchReceived 上为第一个用户调用 finishMatch !

    此解决方法将 MATCH_TURN_STATUS 设置为完成,第一个用户看到匹配已完成并具有正确的结果。

    像这样:

     @Override
    public void onTurnBasedMatchReceived(TurnBasedMatch match) {
        Toast.makeText(this, "A match was updated.", TOAST_DELAY).show();
    
        if (match.getStatus()==2){
         Games.TurnBasedMultiplayer.finishMatch(mGoogleApiClient, mMatch.getMatchId())
         .setResultCallback(new ResultCallback<TurnBasedMultiplayer.UpdateMatchResult>() {
             @Override
             public void onResult(TurnBasedMultiplayer.UpdateMatchResult result) {
                 processResult(result);
             }
         });
        }
    

    int 2 是 MATCH_STATUS_COMPLETED。 这项工作对我有好处,但只是一种解决方法,我向谷歌发送错误报告...... 你可以在这里看到它: https://code.google.com/p/play-games-platform/issues/detail?id=191&thanks=191&ts=1414438242

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      相关资源
      最近更新 更多