diff --git a/10_Blackjack/java/src/Blackjack.java b/10_Blackjack/java/src/Blackjack.java index 65573b0a..47cb802b 100644 --- a/10_Blackjack/java/src/Blackjack.java +++ b/10_Blackjack/java/src/Blackjack.java @@ -44,7 +44,7 @@ public class Blackjack { // Note that the bet for player "1" is at index "0" in the bets // array and take care to avoid off-by-one errors. bets[i] = promptInt("#" + (i + 1)); //TODO: If there isn't a need for a separate Bets in the future, combine these two lines and convert to enhanced FOR loop - Players.get(i).setCurrentBet(bets[i]); + players.get(i).setCurrentBet(bets[i]); } } @@ -53,14 +53,17 @@ public class Blackjack { player.dealCard(deck.deal()); //TODO: This could be in a separate loop to more acurrately follow how a game would be dealt, I couldn't figure out of the BASIC version did it } + // Consider adding a Dealer class to track the dealer's hand and running total. // Alternately, the dealer could just be a Player instance where currentBet=0 and is ignored. LinkedList dealerHand = new LinkedList<>(); + Player dealer = new Player(0); //Dealer is Player 0 - this can be converted into a dealer class later on + dealer.dealCard(deck.deal()); // TODO deal two cards to the dealer // TODO handle 'insurance' if the dealer's card is an Ace. - printInitialDeal(); + printInitialDeal(players, dealer); for(Player player : players){ play(player, deck); @@ -74,14 +77,32 @@ public class Blackjack { } } - private static void printInitialDeal() { - // TODO implement printInitialDeal() - // Print the initial deal in the following format: + private static void printInitialDeal(List players, Player dealer) { + // Prints the initial deal in the following format: /* PLAYER 1 2 DEALER 7 10 4 2 A */ + + StringBuilder output = new StringBuilder(); + output.append("PLAYERS "); + for (Player player : players) { + output.append(player.getPlayerNumber() + "\t"); + } + output.append("DEALER\n"); + //Loop through two rows of cards + for (int j = 0; j < 2; j++) { + output.append("\t"); + for (Player player : players) { + output.append(player.getHand().get(j).toString()).append("\t"); + } + if(j == 0 ){ + output.append(dealer.getHand().get(j).toString()); + } + output.append("\n"); + } + System.out.print(output); } /** diff --git a/10_Blackjack/java/src/Deck.java b/10_Blackjack/java/src/Deck.java index c2363de4..7b9a9094 100644 --- a/10_Blackjack/java/src/Deck.java +++ b/10_Blackjack/java/src/Deck.java @@ -25,8 +25,8 @@ public class Deck { * @return The card that was dealt. */ public Card deal() { - // TODO implement Deck.deal() - return null; + // TODO implement Deck.deal() - new Card(10, Card.Suit.CLUBS) added temporarily + return new Card(10, Card.Suit.CLUBS); } /** @@ -37,4 +37,5 @@ public class Deck { // Probably just call Collections.shuffle(cards); } + }