2

ゲームの現在のプレーヤーのリスト コンテナーがあり、現在のターンを別の整数で追跡します。プレイヤーが去ったら、プレイヤー リストから削除します。ただし、ターン値も調整する必要がある場合があります (プレイヤーが離れるとき)。

特定のプレーヤーのインデックスがターン値よりも小さい場合、ターン変数をデクリメントする必要があることがわかりました。例えば

1) A B C(t=2) D E => B leaves
2) A C(t=1) D E

B のインデックスはターン前だったので、ターンが減少します。逆に

1) A B C(t=2) D E => D leaves
2) A B C(t=2) E

ここでは、ターン値を変更する必要はありません。なぜなら、去ったプレイヤーは AFTER ターンだからです。

だから私の質問は、リスト内の特定の文字列のインデックスをどのように決定できますか? (ノンブロッキング)。これが不可能な場合、別の解決策はありますか?

4

1 に答える 1

0

ノンブロッキングアルゴリズムでそれを行う方法はありません。最初のアイテムからターン番目のアイテムまでリストをトラバースする必要があります。

そのようなリストの値を持つアイテムに到達できないため、今のところ確認できる唯一の方法があります。

于 2012-07-21T23:03:52.113 に答える