From 850d54ad7e92fae4acc78f6f3f4f21b4dade44a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sas=CC=8Ca=20Kocic=CC=81?= Date: Sat, 20 Jun 2020 11:53:19 +0200 Subject: [PATCH] println moved to static class --- src/CardGame.java | 14 ++++++++------ src/Main.java | 3 ++- src/Out.java | 18 ++++++++++++++++++ src/Pile.java | 8 ++++---- 4 files changed, 32 insertions(+), 11 deletions(-) create mode 100644 src/Out.java diff --git a/src/CardGame.java b/src/CardGame.java index 2a831b9..e2e3e10 100644 --- a/src/CardGame.java +++ b/src/CardGame.java @@ -20,7 +20,7 @@ public class CardGame { this.players = new Player[numberOfPlayers]; int cardsPerPlayer = deck.size() / numberOfPlayers; for (int i = 0; i < numberOfPlayers; i++) { - players[i] = new Player(String.valueOf(i), deck.getCardsForPlayer(cardsPerPlayer)); + players[i] = new Player(String.valueOf(i), deck.take(cardsPerPlayer)); } } @@ -28,10 +28,10 @@ public class CardGame { while (noWinner()) { draws.clear(); for (int i = 0; i < numberOfPlayers; i++) { - System.out.printf("Player %d (%d cards): ", i, players[i].cardsCount()); + String output = String.format("Player %d (%d cards)", i, players[i].cardsCount()); Card card = players[i].draw(); draws.add(card); - System.out.printf("%d - %s%n", card.number, card.suit); + Out.println(String.format("%s: %d - %s", output, card.number, card.suit)); } processWinner(); } @@ -48,12 +48,13 @@ public class CardGame { } pot.addAll(draws); if (draws.uniqueMaximum(max, maxIndex)) { - System.out.printf("Player %d wins this round%n%n", maxIndex); + Out.println(String.format("Player %d wins this round", maxIndex)); players[maxIndex].discardPile.addAll(pot); pot.clear(); } else { - System.out.println("No winner in this round%n"); + Out.println("No winner in this round"); } + Out.println(); } private boolean noWinner() { @@ -64,7 +65,8 @@ public class CardGame { } } if (activePlayers.size() == 1) { - System.out.printf("Player %s wins the game!", activePlayers.get(0).name); + Out.println(String.format("Player %s wins the game!", activePlayers.get(0).name)); + Out.println(); return false; } return true; diff --git a/src/Main.java b/src/Main.java index 7e26d10..c0f00f7 100644 --- a/src/Main.java +++ b/src/Main.java @@ -2,9 +2,10 @@ * Card Game */ public class Main { + public static void main(String[] args) { - System.out.println("Card Game"); CardGame cardGame = new CardGame(10, 2); cardGame.play(); + Out.toConsole(); } } diff --git a/src/Out.java b/src/Out.java new file mode 100644 index 0000000..53a5a6c --- /dev/null +++ b/src/Out.java @@ -0,0 +1,18 @@ +public class Out { + static String[] output = new String[50000]; + static int line = 0; + + public static void println(String string) { + output[line++] = string; + } + + public static void println() { + output[line++] = ""; + } + + public static void toConsole() { + for (int i = 0; i < line; i++) { + System.out.println(output[i]); + } + } +} diff --git a/src/Pile.java b/src/Pile.java index 94780bd..4aa9595 100644 --- a/src/Pile.java +++ b/src/Pile.java @@ -14,13 +14,13 @@ public class Pile extends ArrayList { return deck; } - public Pile getCardsForPlayer(int number) { - Pile cardsForPlayer = new Pile(); + public Pile take(int number) { + Pile taken = new Pile(); for (int i = 0; i < number; i++) { - cardsForPlayer.add(get(0)); + taken.add(get(0)); remove(0); } - return cardsForPlayer; + return taken; } /**