1

これはかなり明白な質問のように思えるかもしれませんが、私は Apple のドキュメントをくまなく調べてきましたが、明確な答えを見つけることができないようです。

ターンがタイムアウトすると、実際には何が起こるのendTurnWithNextParticipants:turnTimeout:matchData:completionHandler:でしょうか?つまり、turnTimeout パラメーターとして渡された時間間隔が経過すると、ロジックはhandleTurnEventForMatch:didBecomeActive:、移動が行われていないことを明示的に処理するのと同様のコールバックがあるか、配列内の次のプレーヤーがnextParticipantsターン通知を受け取るかのいずれかであると指示します。

残念ながら、Apple はプレイヤーが行動しなければならない時間を制限する方法を喜んで説明しturnTimeoutていますが (そして、これを処理する方法を決定するのはゲーム次第であると伝えています)、どのメソッドが呼び出され、どのデータが提供されるかについての情報はありません。 、非常に奇妙な動作が見られます。つまり、パスしたプレーヤーは、タイムアウトしたばかりのターンと同じマッチ データで handleTurnEvent 通知を受け取ります。誰にもアドバイスはありますか?

4

1 に答える 1

0

それが何をするかに関するAppleのドキュメント:

次に行動するプレイヤーが指定された間隔内に自分のターンを行わない場合、配列内の次のプレイヤーは行動するよう通知を受け取ります。このプロセスは、プレーヤーが順番を取るか、リストの最後のプレーヤーに通知されるまで続きます。

2 人対戦の場合、少なくともテスト中は、実際には何も起こりません。P1 がターンをプレイすると、次の参加者のリストは [ P2, P1 ] のようになります。P2 がタイムアウトした場合、P1 はリストの最後の 1 つであるため、通知を受け取る必要がありますが、P1 はちょうど終了しました。Apple は、実際に実行したときではなく、最後にプレイした人に戻ったときとして「リストの終わり」を考慮する必要があります。人のうち。これにより、2 ターン連続でプレイすることができなくなります。ドキュメントに基づいて私が期待することではありませんが。これは 3 人以上のプレーヤーのゲームではテストしていません。

于 2014-02-25T09:46:33.187 に答える