1

我在iOS游戏中心创建了一个回合制游戏,游戏运行良好,数据在玩家之间正确传递。

我想知道:

你怎么能排除一个在另一个之前输掉的球员?

我在任何地方都找不到参考 我该怎么走?

提前感谢,对不起我的英语

安杰洛

编辑:

好的,我试过了,它成功了(被排除的玩家也可以查看比赛)

    //When current player is excluded

GKTurnBasedMatch *currentMatch = [[GCTurnBasedMatchHelper sharedInstance] currentMatch];
currentMatch.currentParticipant.matchOutcome == GKTurnBasedMatchOutcomeQuit




//FOR SEND TURN : 

    NSUInteger currentIndex = [currentMatch.participants indexOfObject:currentMatch.currentParticipant];

    GKTurnBasedParticipant *nextParticipant;

    NSUInteger nextIndex = (currentIndex + 1) % [currentMatch.participants count];

    nextParticipant = [currentMatch.participants objectAtIndex:nextIndex];

    for (int i = 0; i < [currentMatch.participants count]; i++) {

        nextParticipant = [currentMatch.participants objectAtIndex:((currentIndex + 1 + i) % [currentMatch.participants count ])];

        if (nextParticipant.matchOutcome != GKTurnBasedMatchOutcomeQuit) {
            ///prossimo giocatore che NON è stato escluso
            break;
        } else {
            /////Prossimo giocatore perché questo è stato escluso
        }
    }



 [currentMatch endTurnWithNextParticipant:nextParticipant matchData:data completionHandler:^(NSError *error) {

            […]

        }];
4

1 回答 1

1

我不是 Game Center 专家,但根据记忆,你的代码可以选择下一个回合。因此,您可以计算出谁将接下一个回合,并简单地跳过任何已经输掉的玩家。不过,您可能应该更新他们的游戏数据,以便他们可以跟随游戏进行到底。

Ray Wenderlich 有几个关于 Game Center 回合制游戏的示例教程:使用 iOS 5 开始回合制游戏

没有可分享的示例代码 - 抱歉。

于 2012-06-28T22:39:36.043 回答