これまではジョーカーは使わず52枚のカードを使ってきましたが、正式なルールではジョーカー2枚を含むトランプ1組・54枚を使用します。それから合成数出しにおける指数表記を可能にします。そのために既存のコードを修正していたら大幅な書き換えになってしまいました。そこでもう一度全体を書き直すことにします。

完成 合成数出しにおける指数表記にも対応 C#で素数大富豪をつくる(11)

ジョーカーを表示させる

Cardクラスにジョーカーをイメージを取得するためのメソッドを追加します。ジョーカーのBitmapはProperties.Resources.cardimageのXY座標(0, 2400)、幅360、高さ500で取得できるのでGetJokerImageメソッドで取得します。

ジョーカーは1枚出しのときは最強のカード、革命がおきているときも最強のカードです。また複数枚数出すときは0~13のどのカードにも使えます。

またプレイヤーがジョーカーを出すときはそれはどの数の代わりになるのかを示さなければなりません。そのためのコントロールを作ります。

まずジョーカーの表示を可能にするためにSuit列挙体にJokerを追加します。

Cardクラスにジョーカーのイメージを取得するメソッドを追加し、GetImageメソッドを修正します。それからカードの番号は変更されないのでこれまでNumberプロパティにsetはありませんでしたが、ジョーカーを使うときに0~13までの値を設定できるようにジョーカーの場合だけNumberByJokerプロパティでNumberプロパティを変更できるようにします。

JokerControlクラス

プレイヤーがジョーカーを出すときはそれはどの数の代わりになるのかを示さなければなりません。そのためのコントロールを作ります。