Gamekit/gamecenter случайное сватовство программно

Я пытаюсь программно реализовать случайное сопоставление с моим собственным пользовательским интерфейсом.

я как то застрял..

используя этот код, найденный на сайте Apple, я могу без проблем создать совпадение

- (void)findProgrammaticMatch
{
    GKMatchRequest *request = [[GKMatchRequest alloc] init];

    request.minPlayers = 2;
    request.maxPlayers = 2;


    [GKTurnBasedMatch findMatchForRequest: request withCompletionHandler:^(GKTurnBasedMatch *match, NSError *error)
     {
         if(error)
             NSLog(@"ERROR");
         if (match) {

             NSLog(@"STARTING MATCH");
         }

     }];
}

и если я выполню match.participants.count, я получу номер 2...

но один участник это я а другой ноль

Что я сделал для тестирования, так это создал 2 учетные записи песочницы, и я запустил тот же код с другой учетной записью игрового центра, и у меня была создана новая игра, но она по какой-то причине не соответствовала им ... я что-то упустил?

я искал примеры в гугле, но не могу найти.. если кто-то из вас знает, где я могу найти несколько примеров, я был бы очень признателен


person Amir 'Chamse' Chamma    schedule 06.02.2013    source источник


Ответы (1)


Что ж, возможно, вы упускаете важный момент в пошаговом подборе матчей. Когда пользователь запускает автоматч, если он не подключен к существующему матчу, он начинает новую игру, и пользователь делает первый ход. Только после того, как ОН ЗАВЕРШИТ СВОЙ ХОД, другие пользователи могут подключиться к этой игре. Итак, если вы проводите матч для двух игроков: один пользователь должен начать новую игру, а другой пользователь должен быть нулевым в этот момент, а другой пользователь должен подключиться к этой существующей игре после того, как первый завершил свой ход (вызывается endTurnWithMatchData)

Это не очень ясно в документации (я презираю документацию GameCenter, неясную и неполную), но это относится к SDK 6. Я думаю, что это изменится в ближайшем будущем.

person guenis    schedule 22.02.2013