From d9abcf29d5b492980bb501796c06a50fbef960e4 Mon Sep 17 00:00:00 2001 From: Nahid Mondol Date: Mon, 1 Mar 2021 22:59:03 -0500 Subject: [PATCH] port War to Java --- 94 War/java/War.java | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/94 War/java/War.java b/94 War/java/War.java index 622adb30..ebe7ffca 100644 --- a/94 War/java/War.java +++ b/94 War/java/War.java @@ -52,20 +52,34 @@ public class War { private static void playGame() { + boolean endedEarly = false; + + // Shuffle the deck of cards Collections.shuffle(cards); - // Since the cards are already suffled, pull each card from the deck starting - // until it is empty or until the user quits. + // Since the cards are already suffled, pull each card from the deck + // until the deck is empty or until the user quits. for (int i = 1; i <= CARD_DECK_SIZE; i += 2) { System.out.println("YOU: " + cards.get(i - 1) + "\t " + "COMPUTER: " + cards.get(i)); getWinner(cards.get(i - 1), cards.get(i)); - // if(endGame) { - // break; + System.out.print("DO YOU WANT TO CONTINUE? "); + // while (isInvalidInput) { + if (isGameEnded()) { + endedEarly = true; + break; + } // } } - System.out.println("WE HAVE RUN OUT OF CARDS. FINAL SCORE: YOU: " + getPlayerScore() + " COMPUTER: " - + getComputerScore()); - System.out.println("THANKS FOR PLAYING. IT WAS FUN."); + + if (endedEarly) { + System.out.println("YOU HAVE ENDED THE GAME. FINAL SCORE: YOU: " + getPlayerScore() + " COMPUTER: " + + getComputerScore()); + System.out.println("THANKS FOR PLAYING. IT WAS FUN."); + } else { + System.out.println("WE HAVE RUN OUT OF CARDS. FINAL SCORE: YOU: " + getPlayerScore() + " COMPUTER: " + + getComputerScore()); + System.out.println("THANKS FOR PLAYING. IT WAS FUN."); + } } private static void getWinner(String playerCard, String computerCard) { @@ -83,8 +97,6 @@ public class War { } else { System.out.println("TIE. NO SCORE CHANGE"); } - - System.out.println("DO YOU WANT TO CONTINUE? "); } private static String checkCourtCards(String score) { @@ -102,6 +114,18 @@ public class War { } } + private static boolean isGameEnded() { + switch (input.nextLine().toLowerCase()) { + case "yes": + return false; + case "no": + return true; + default: + System.out.print("YES OR NO, PLEASE. "); + return false; + } + } + private static int playerWonRound() { return totalPlayerScore += 1; }