2

選択した基準に基づいてプレイヤーを自動対戦させようとしています。簡単にするために、プレーヤーはレベル 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 を作成することは一致であり、それは正しくありません)

解決策は何ですか?

4

1 に答える 1

2

チャンスを与えてpublic RoomConfig.Builder setVariant (int variant)
くださいsetVariantさまざまなプレイヤー レベルの部屋を作成できます。

于 2013-08-26T19:47:51.467 に答える