0

ポーカーハンドのモデルになりたいです。数学的なバックグラウンドとそれを C++ に取り込むことは、非常に正気ではありません。

標準的な 52 枚のカード デッキでは、2 枚のカードの組み合わせを 1326 通り作成できます。ただし、これらのカードを 169 のカテゴリに分けることができます。カテゴリには、ペア (TT など)、スーテッド (AsKs)、オフスーテッド (AcKd) などの同形のハンドが含まれます。これは、一連のポーカーハンド (TT+、22-55、A9s+ など) を記述する一般的な不可知論的ポーカー言語のサブセットです。

そうは言っても、私の問題は、継承を介して 169 の手と 1326 の手の間の準同型をモデル化することです。Hand169から派生したHand1326 IDです。したがって、クラスは次のようになります

struct Hand169 {
  int rank1, rank2;
//private:
//bool suited;
};

struct Hand1326 : Hand169 {
  int suit1, suit2;
};

しかし、ここでの問題は、Hand169 が適性に関する情報 ( bool suit) を持っている必要があることです。これは Hand1326 では冗長になりsuit1ますsuit2rank1ペアであるかどうかに関する情報は、およびを通じて暗黙的に与えられrank2ます。

冗長性なしで、これをモデル化するより良い方法はありますか?

4

0 に答える 0