Here is the Game.java code for video poker game

PHOTO EMBED

Fri Dec 13 2024 06:24:04 GMT+0000 (Coordinated Universal Time)

Saved by @Sasere

// Banner: Main game logic for Video Poker.
public class Game {

    private Deck deck;
    private Player player;
    private String[] handRankings = { "No Pair", "One Pair", "Two Pairs", "Three of a Kind", "Straight", "Flush",
            "Full House", "Four of a Kind", "Straight Flush", "Royal Flush" };

    public Game() {
        this.deck = new Deck();
        this.player = new Player();
        deck.shuffle();
    }

    public Game(String[] args) {
        this();
        // Create player hand from args for testing
        for (String cardDesc : args) {
            // Parse args and add specific cards to the player hand (not implemented here,
            // placeholder).
        }
    }

    public void play() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Welcome to Video Poker! Current bankroll: $" + player.getBankroll());

        while (player.getBankroll() > 0) {
            System.out.print("Enter bet (1-5 tokens): ");
            double bet = scanner.nextDouble();
            try {
                player.bets(bet);
            } catch (IllegalArgumentException e) {
                System.out.println(e.getMessage());
                continue;
            }

            player.clearHand();

            // Deal 5 cards
            for (int i = 0; i < 5; i++) {
                player.addCard(deck.deal());
            }

            System.out.println("Your hand: " + player.getHand());

            // Placeholder: Evaluate hand and calculate winnings (hand evaluation logic
            // needed)
            double odds = 1.0; // Replace with real odds based on hand rank
            player.winnings(odds);

            System.out.println("Your current bankroll: $" + player.getBankroll());

            System.out.print("Play again? (yes/no): ");
            if (!scanner.next().equalsIgnoreCase("yes")) {
                break;
            }
        }

        System.out.println("Game over! Final bankroll: $" + player.getBankroll());
    }
}
content_copyCOPY