特殊なカード

ドボンのルールと遊びかた

によるとカードのなかには特殊な役割をするものがあることがわかります。

A

次にだすはずの人をとばして、その次の人に順番が回ります。

2

カード出した次の順番の人は手札を出すことができず、積み札からカードを2枚とって手札にくわえなければなりません。ただし次の人も2を持っていたらこれを出すことができます。そして更に次の人が2を出すことができない場合は4枚とらなくてはなりません。2が出される限り、2倍2倍と増えていきます。UNOのDraw Twoのようなものと考えることができます。

8

UNOのWild カードのように台札に関係なく出せるカードです。8が出されたときは、次の人は8と同じ色のスートのカードか8を出します。

J

カードを出す順番は最初は時計回りですが、これを逆回りにすることができます。

A スキップされる処理

まずAが出された場合は、最後に出されたカードは「A」かどうかを表すフィールド変数を使って以下のようにすればなんとかなりそうです。

自分がカードを出したときは・・・

新しく作成したCheckUnjustClickメソッドはクリックが不正であるかどうかを判定するためのものです。

自分の番ではないのにクリックした、カードがない場所をクリックした、出せないカードをクリックした場合にメッセージボックスが表示されます。

それから自分のカードがなくなったときもドボンされる可能性があります。これは手持ちのカードを出し終わったときに実行されるメソッドです。

2 カードを2枚(またはそれ以上)とらされる

また2を出したときの処理ですが、2が出されたあと次のプレイヤーは2を持っているなら出し持っていないならカードを取らないといけません。またそのときのカードの枚数をカウントする必要があります。

まずは2を出せるのか? 出せないときにカードをとるメソッドを作成します。

上記のメソッドをライバルのターン、ライバルのターンが終わって自分のターンに変わるときに呼べばうまくいきそうです。

OnWasPutTwoは2が出されていたときのプレイヤーの動作に関するメソッドです。

それから自分が2を出してライバルにカードを取らせる場合も考えられます。

自分が出したカードが2であれば、ライバルに2を出させるかカードを取らせることになります。