2011-10-21 75 views
3

我目前正在創建一個遊戲中心遊戲,並且正在使用可用的點對點功能。不過,我想選擇一名玩家(2名玩家)作爲主持人,以確保同步。遊戲中心主機

什麼是從可用播放器中選擇主機(甚至是隨機)的最佳方式,並確保其他設備知道選擇了哪個主機?

回答

0

This是一個很好的簡單的教程,演示瞭如何做到這一點的代碼。他們隨機選擇其中一個成爲主機。希望有助於!

+0

感謝,隨機數招應該工作:)。我想我一直沉浸於試圖尋找一個持續且持久的playerID狀字符串,然後進行比較,以至於我甚至都沒有仔細想過。再次感謝 – user1007649

+0

沒問題,很高興我能幫忙! – msgambel

0

已經發布的答案,仍然在這裏是示例代碼做那件事

NSString *uid = [[UIDevice currentDevice] uniqueIdentifier]; 
CoinTossID = [uid hash]; 
現在

在委託功能

- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID 
    { 
     NSMutableArray *ReceivedArray = [[NSMutableArray alloc] init]; 
     ReceivedArray = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 
     int flag = [[ReceivedArray objectAtIndex:0] intValue]; 
     [ReceivedArray removeObjectAtIndex:0]; 

     int CoinValue = [ReceivedCoinTossID intValue]; 
     if(CoinValue > CoinTossID) 
     { 
      isPlayer1 = YES; 
     } 
     else 
     { 
       isPlayer1 = NO; 
     } 
    } 
+0

謝謝,使用設備ID也應該工作。但是,請注意iOS 5中已棄用[[UIDevice currentDevice] uniqueIdentifier]。使用[GKLocalPlayer localPlayer] .playerID可能會更好。 – user1007649