逆回りにするカード J

ドボンは最初はカードを出す順番は時計回りです。ところがJはこれを逆回りにさせることができるカードです。

ライバルターンはforeach文をつかっていました。ところがJが出されたらこれを逆にしなければなりません。

そこでfor文で書き直すことにしました。

順番が時計回りなのか反時計回りなのか

まず順番が時計回りなのか反時計回りなのかを管理すフィールド変数isFromBackをつくります。Jが出されたときにisFromBackがtrueならfalseに、falseならtrueに変更します。これでライバルのターンのときにカードを出す順番を変えることができます。

ライバルのターンが終わるまえに誰からJを出した場合、その瞬間逆回りになるのでこの場合はrivalsの並びをその場で変更しています。次にカードを出すのはrivalsをリバースした状態で、Jを出したプレイヤーのインデックスの次のプレイヤーです。

OnPutElevenメソッドの戻り値はつぎのライバルのインデックスの値で、戻り値が-1のときは次は自分自身の番となります。

あとはこのメソッドを組み込むだけです。

自分がJを出したときの処理

さいごに

新しくゲームを開始するときはフラグをもとに戻しておく必要があります。