これらのアルゴリズムを取得して、1 ~ 6 の範囲でランダムに選択された 5 つの整数で満たされた配列を評価しようとしています。残念ながら、ハイ カードと 1 ペアのオプションのみが返されます。ツー ペアやスリー オブ ア カインドなどをロールしたときに、より高いスコアにアクセスするにはどうすればよいですか?
private static int[] getCounts(int[] dice) {
int[] counts = new int[6];
String resValue = "";
for (int i = 0; i < dice.length; i++) {
if (dice[i] == 1) {
counts[0]++;
} else if (dice[i] == 2) {
counts[1]++;
} else if (dice[i] == 3) {
counts[2]++;
} else if (dice[i] == 4) {
counts[3]++;
} else if (dice[i] == 5) {
counts[4]++;
} else if (dice[i] == 6) {
counts[5]++;
}
}
return counts;
}
private static String getResult(int[] dice) {
int[] counts = getCounts(dice);
String resValue = " ";
for (int i = 0; i < counts.length; i++) {
if (counts[i] == 5) {
resValue = "Five of a kind ";
} else if (counts[i] == 4) {
resValue = "Four of a kind ";
} else if (counts[i] == 3) {
for (int j = 0; j < counts.length; j++) {
if (counts[j] == 2) {
resValue = "Full House ";
}
}
resValue = "Three of a Kind ";
} else if (counts[i] == 2) {
for (int j = 0; j < counts.length; j++) {
if (counts[j] == 2) {
resValue = "Two Pairs ";
}
}
resValue = "One Pair ";
} else {
resValue = "Highest Card ";
}
}
return resValue;
}