私のバカラゲームの方法の1つは、銀行家がプレーヤーの手の価値に基づいて3枚目のカードを引き出すことができるかどうかを確認することです。Java checkstyleによるメソッド内でreturn文が多すぎる場合、2回の最大値に準拠するようにコードを単純化するにはどうすればよいですか?
ゲーム自体には、銀行家が描くことができ、多くの条件文を含むメソッドを作成するための多くの条件があります。返信文が多すぎるため、2に制限する方法がわかりません。
/**
* Determines if banker draws third card.
* @param playerCard Card object
* @param bankerHand Hand object
* @return boolean if banker gets third card.
*/
public static boolean mustHit(Card playerCard, Hand bankerHand) {
int playerValue = valueOf(playerCard);
int bankerValue = valueOf(bankerHand);
if (playerValue == 2 || playerValue == 3) { //player has 2 or 3
return bankerValue >= 0 && bankerValue <= 4; //banker must have 0-4
} else if (playerValue == 4 || playerValue == 5) { //player has 4 or 5
return bankerValue >= 0 && bankerValue <= 5; //banker must have 0-5
} else if (playerValue == 6 || playerValue == 7) { //player has 6 or 7
return bankerValue >= 0 && bankerValue <= 8; //banker must have 0-8
} else if (playerValue == 8) { //player has 8
return bankerValue >= 0 && bankerValue <= 2; //banker must have 0-2
} else {
return bankerValue >= 0 && bankerValue <= 3;
//if none of the above, banker must have 0-3
}
}
どうすれば簡単にすることができますか?
編集:
修正済み、私はそれを考えすぎた可能性が高いです。ブール変数を作成し、各ブール値を返す代わりに代入します。
/**
* Determines if banker gets third card.
* @param playerCard Card object
* @param bankerHand Hand object
* @return boolean if banker gets third card.
*/
public static boolean mustHit(Card playerCard, Hand bankerHand) {
int playerValue = valueOf(playerCard);
int bankerValue = valueOf(bankerHand);
boolean bankerDraw = false;
if (playerValue == 2 || playerValue == 3) {
bankerDraw = bankerValue >= 0 && bankerValue <= 4;
} else if (playerValue == 4 || playerValue == 5) {
bankerDraw = bankerValue >= 0 && bankerValue <= 5;
} else if (playerValue == 6 || playerValue == 7) {
bankerDraw = bankerValue >= 0 && bankerValue <= 8;
} else if (playerValue == 8) {
bankerDraw = bankerValue >= 0 && bankerValue <= 2;
} else {
bankerDraw = bankerValue >= 0 && bankerValue <= 3;
}
return bankerDraw;
}
より適して。 –
あなたの個人的な判断以上にオートマットを信頼すべきではありません。 –