我正在通過Game Center開發多人遊戲。遊戲中心特定的配對
所以我有玩家不同的羣體(某種部族)。所有的比賽都需要2名球員。我如何才能爲不同團體的球員進行配對?
如:
Clan 1 + Clan 2 = true;
Clan 5 + Clan 5 = false;
Clan 5 + Clan 6 = true;
我知道有一個playerGroup
屬性,但它執行完全相反的事:(
我正在通過Game Center開發多人遊戲。遊戲中心特定的配對
所以我有玩家不同的羣體(某種部族)。所有的比賽都需要2名球員。我如何才能爲不同團體的球員進行配對?
如:
Clan 1 + Clan 2 = true;
Clan 5 + Clan 5 = false;
Clan 5 + Clan 6 = true;
我知道有一個playerGroup
屬性,但它執行完全相反的事:(
的playerAttributes
財產該匹配請求應該能夠t o做你想做的事。這是一個32位的掩碼,當設置爲非零值時,如果玩家完成掩碼(或一起)到0xFFFFFFFF,玩家將只能自動匹配遊戲。請參閱an example。
然而,問題是你表明你有很多比球員更氏族。如果你有6並將其定義爲:
#define CLAN1 0xFF00000F
#define CLAN2 0xFF0000F0
#define CLAN3 0xFF000F00
#define CLAN4 0xFF00F000
#define CLAN5 0xFF0F0000
#define CLAN6 0xFFF00000
隨後的只有兩個球員或運算組合永遠不會完全達到0xFFFFFFFF的。我認爲你可以通過反轉掩碼來做你想做的事情,然後用0而不是1來定義你想要的角色。
#define CLAN1 0xFFFFFFF0
#define CLAN2 0xFFFFFF0F
#define CLAN3 0xFFFFF0FF
#define CLAN4 0xFFFF0FFF
#define CLAN5 0xFFF0FFFF
#define CLAN6 0xFF0FFFFF
這些來自不同氏族OR的任何兩個或一起爲0xFFFFFFFF。所以,遊戲中心願意(這總是一個不確定的命題),來自不同部族的任何兩個玩家應該匹配;然而,來自同一家族的兩名選手不應該這樣做。
注:我可能說明明顯位置,但請注意,你可以有多達32周不同的部族,如果你在二進制定義它們,而不是十六進制,因此用一位爲每個戰隊。爲了便於閱讀,我只使用十六進制數字。
您的選擇是正確的,但不知何故遊戲中心沒有這樣的球員內啓動屬性匹配 – demon9733
你在做實時匹配或基於回合的比賽? – Thunk
這是一個實時比賽。我發現這個: 'FFFF0000 | 0000FFFF =正常工作' 'FFF00000 | 000FFFFF =正常工作' 'FFF00000 | 00FFFFFF =不起作用# 'WHATEVER | FFFFFFFF =正常工作# – demon9733