宿題で、ランクとスーツの種類が列挙された Card クラスが与えられました。2 つのポーカー ハンド (各ハンドはArrayList
5 枚のカード) を比較し、勝者を決定する必要があります。
エースの後にカウントをやり直さなければならないので、このisStraight()
関数は本当に私を悩ませています。例えば、
クイーン、キング、エース、ツー、スリー
まだストレートと見なされます。この機能をコーディングする最良の方法は何ですか?
ランク/スーツの列挙型コードが役立つ場合は、次のとおりです。
public enum Rank
{
TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8), NINE(9),
TEN(10), JACK(11), QUEEN(12), KING(13), ACE(14);
private final int points;
private Rank(int points)
{
this.points = points;
}
public int points()
{
return this.points;
}
}
public enum Suit
{
DIAMONDS, CLUBS, HEARTS, SPADES;
}