【发布时间】:2013-08-24 13:49:23
【问题描述】:
我正在尝试根据玩家选择的标准自动匹配玩家。为简单起见,玩家可以被评为 1、2 或 3 级。如果玩家是3级,只想和其他3级对手交手,这是怎么做到的?我从谷歌的教程和参考资料中逐页阅读。它指出位掩码可用于设置标准。在我的试验中,我只能在他们的位掩码是 2 的补码时才能匹配玩家,如 Google 文档中所述。
exclusiveBitMask - 自动请求的专有位掩码。每对自动匹配请求的逻辑与必须为零才能进行自动匹配。如果游戏没有独占性要求,则该值应设置为 0。
因此,如果两个玩家具有相同的位掩码(即相同的标准),他们将不会被匹配。解决办法是什么?如果它们是基于 2 的补码匹配的,我该如何实现?谁得到“常规”位掩码,谁得到补码?我不明白。
我可以让用户选择创建游戏:
我的等级----愿意交手的等级
1 1 0 ---- 1 1 0(零表示是,所以我的等级== 1,只愿意玩1级)
以及查找游戏的选项:
要对抗的等级----我的等级
0 0 1 ---- 0 0 1(对战1级,我是1级)
这很好,但 QuickGame 被击中,因为...
1) 同一级别的两个人不会被匹配,如下所示:
0 0 0 ---- 0 0 1 和 0 0 0 ---- 0 0 1(NO MATCH,1 级都愿意玩任何人)
2) 或者如果 QuickGame 全部为零,它们将匹配只想玩 3 级的人,如下所示:
0 0 0 ---- 0 0 0 和 0 1 1 ---- 0 1 1(QuickGame 玩任何人,创建游戏级别 3 与级别 3 仅是一场比赛,这是不对的)
解决办法是什么?
【问题讨论】:
标签: android criteria multiplayer bitmask