選択した基準に基づいてプレイヤーを自動対戦させようとしています。簡単にするために、プレーヤーはレベル 1、2、または 3 で評価できます。プレイヤーがレベル 3 で、他のレベル 3 の対戦相手のみをプレイしたい場合、これはどのように行われますか? Google のチュートリアルや参考文献からページを次々と読みました。ビットマスクを使用して基準を設定できると述べています。私の試行では、Google のドキュメントに記載されているように、プレーヤーのビットマスクが互いに 2 の補数である場合にのみプレーヤーを一致させることができました。
exclusiveBitMask - 自動マッチング リクエストの専用ビットマスク。自動一致要求の各ペアの論理 AND は、自動一致のためにゼロに等しい必要があります。ゲームの独占要件がない場合、この値は 0 に設定する必要があります。
そのため、2 人のプレイヤーが同じビットマスク (つまり、同じ基準) を持っている場合、それらは一致しません。解決策は何ですか?それらが 2 の補数に基づいて一致する場合、どのように実装すればよいですか? 誰が「通常の」ビットマスクを取得し、補数を取得するのは誰ですか? 理解できない。
ユーザーにゲームを作成するオプションを提供できます。
私のレベル ---- 対戦したいレベル
1 1 0 ---- 1 1 0 (ゼロはイエスを意味するので、私のレベル == 1 であり、レベル 1 のみをプレイする意思がある)
ゲームを見つけるオプションとともに:
対戦するレベル ---- 私のレベル
0 0 1 ---- 0 0 1 (レベル 1 と対戦、私はレベル 1)
それは問題ありませんが、次のいずれかの理由で QuickGame が撃たれます...
1) 次のように、同じレベルの 2 人が一致することはありません。
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 を作成することは一致であり、それは正しくありません)
解決策は何ですか?