Note that there are some explanatory texts on larger screens.

plurals
  1. POI'm getting confused by the output because it won't let me recreate an object
    primarykey
    data
    text
    <p>I'm trying to solve a problem where I try to reset my deck of cards once I've draw all cards. When I reach the end of the deck I should indeed get message <code>Deck is empty! You must recreate and reshuffle deck of cards!</code> but once deck has been recreated and re-shuffled it still keeps showing up this message.</p> <p>So I am passing Card object to Deck class where is stored in array in stack fashion.</p> <p>Why am I getting such output where I do indeed reset the deck of cards?</p> <pre><code>deal, bet, hit, stay, split, leave: deal Drawing Player's card... 9 ♥ Drawing Dealer's card... A ♣ Drawing Player's card... 7 ♦ Drawing Dealer's card... K ♦ Dealers Hand: K_♦ A_♣ = 21 Players Hand: 7_♦ 9_♥ = 16 Dealer has BLACKJACK! deal, bet, hit, stay, split, leave: deal Deck is empty! You must recreate and reshuffle deck of cards! Creating deck... Shuffling deck... Drawing Player's card... 7 ♥ Drawing Dealer's card... 5 ♥ Drawing Player's card... K ♠ Drawing Dealer's card... 6 ♦ Dealers Hand: 6_♦ 5_♥ = 11 Players Hand: K_♠ 7_♥ = 17 deal, bet, hit, stay, split, leave: deal Deck is empty! You must recreate and reshuffle deck of cards! Creating deck... Shuffling deck... Drawing Player's card... Q ♦ Drawing Dealer's card... 9 ♥ Drawing Player's card... 8 ♥ Drawing Dealer's card... 10 ♠ Dealers Hand: 10_♠ 9_♥ = 19 Players Hand: 8_♥ Q_♦ = 18 deal, bet, hit, stay, split, leave: deal Deck is empty! You must recreate and reshuffle deck of cards! Creating deck... Shuffling deck... Drawing Player's card... 3 ♣ Drawing Dealer's card... 6 ♠ Drawing Player's card... 4 ♠ Drawing Dealer's card... K ♠ Dealers Hand: K_♠ 6_♠ = 16 Players Hand: 4_♠ 3_♣ = 7 deal, bet, hit, stay, split, leave: </code></pre> <p>This is how I reset my deck of cards:</p> <pre><code>private static Deck createDeck(Deck deck) { System.out.println("Creating deck..."); deck = new Deck(DECKSIZE); deck.createDeck(); System.out.println("Shuffling deck..."); deck.shuffleDeck(); return deck; } </code></pre> <p>This is how I check if deck is empty or not:</p> <pre><code>private static Deck checkDeck(Deck deck) { if(deck == null) return createDeck(deck); if(deck.isEmpty()) { deck = new Deck(DECKSIZE); System.out.print("Deck is empty! You must recreate and reshuffle deck of cards!\n"); return createDeck(deck); } else return deck; } </code></pre> <p>I check the deck every time before I draw a card:</p> <pre><code>public static void drawFromDeck(Deck deck, Hand hand) { deck = checkDeck(deck); Card temp = new Card(deck.pop()); System.out.println("Drawing " + hand.getName() + "'s card... " + temp.toString()); hand.insert(temp); System.out.print("\n"); } </code></pre> <p>initialDraw()</p> <pre><code>private static void initialDraw(Deck deck, Hand player, Hand dealer) { deck = checkDeck(deck); drawFromDeck(deck, player); // drawing players card deck = checkDeck(deck); drawFromDeck(deck, dealer); // drawing dealers card deck = checkDeck(deck); drawFromDeck(deck, player); // drawing players card deck = checkDeck(deck); drawFromDeck(deck, dealer); // drawing dealers card System.out.print("Dealers Hand:"); dealer.displayHand(); System.out.print(" = " + dealer.getHandTotal() + "\n"); System.out.print("Players Hand:"); player.displayHand(); System.out.print(" = " + player.getHandTotal() + "\n"); checkInitialDraw(player, dealer); } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload