import java.util.Scanner;
public class DoubleDice {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double balance = 100.0;
System.out.printf("You have $%.2f%n", balance);
while (true) {
double bet = getValidBet(scanner, balance);
if (bet == 0) {
System.out.println("See you around, winner!");
break;
}
Die die1 = new Die();
Die die2 = new Die();
die1.roll();
die2.roll();
System.out.printf("You rolled a %s and %s%n", die1, die2);
if (die1.equals(die2)) {
balance += bet;
System.out.printf("You win $%.2f%n%n", bet);
} else {
balance -= bet;
System.out.printf("You lose $%.2f%n%n", bet);
}
if (balance <= 0) {
System.out.println("You are out of money!");
System.out.println("Better luck next time");
break;
}
System.out.printf("You have $%.2f%n", balance);
}
scanner.close();
}
private static double getValidBet(Scanner scanner, double balance) {
double bet;
while (true) {
System.out.print("How much would you like to bet (Enter 0 to quit)? ");
if (!scanner.hasNextDouble()) {
System.out.println("Invalid input. Please enter a valid number.");
scanner.next();
continue;
}
bet = scanner.nextDouble();
if (bet < 0) {
System.out.println("Bet amount cannot be negative.");
} else if (bet > balance) {
System.out.printf("You don't have enough money. Your balance: $%.2f%n", balance);
} else {
break;
}
}
return bet;
}
}