From 611296441a425994dca427b1911ba2b104437920 Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sat, 5 Dec 2020 17:20:05 +0200 Subject: [PATCH 1/8] Remove arrays, move information to Player --- .../victor/training/trivia/GameBetter.java | 35 +++++++++++++------ src/test/java/trivia/GameTest.java | 5 ++- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/main/java/victor/training/trivia/GameBetter.java b/src/main/java/victor/training/trivia/GameBetter.java index 092fb830..f348b92a 100644 --- a/src/main/java/victor/training/trivia/GameBetter.java +++ b/src/main/java/victor/training/trivia/GameBetter.java @@ -27,6 +27,22 @@ public void advance(int roll) { place -= GameBetter.BOARD_SIZE; } } + + public void reward() { + purse++; + } + + public int getPurse() { + return purse; + } + + public void punish() { + inPenaltyBox = true; + } + + public boolean isInPenaltyBox() { + return inPenaltyBox; + } } public class GameBetter implements IGame { @@ -43,9 +59,6 @@ public class GameBetter implements IGame { public void addPlayer(String playerName) { players.add(new Player(playerName)); - purses[players.size()] = 0; // TODO - inPenaltyBox[players.size()] = false; // TODO - // TODO e un bug ascuns in cod. Gaseste-l System.out.println(playerName + " was added"); @@ -56,7 +69,7 @@ public void roll(int roll) { System.out.println(currentPlayer().getName() + " is the current player"); System.out.println("They have rolled a " + roll); - if (inPenaltyBox[currentPlayer]) { + if (currentPlayer().isInPenaltyBox()) { if (roll % 2 == 0) { System.out.println(currentPlayer().getName() + " is not getting out of the penalty box"); isGettingOutOfPenaltyBox = false; @@ -81,13 +94,13 @@ private void askQuestion() { // TODO e un nume misleading care e ? public boolean wasCorrectlyAnswered() { - if (inPenaltyBox[currentPlayer]) { + if (currentPlayer().isInPenaltyBox()) { if (isGettingOutOfPenaltyBox) { System.out.println("Answer was correct!!!!"); - purses[currentPlayer]++; + currentPlayer().reward(); System.out.println(currentPlayer().getName() + " now has " - + purses[currentPlayer] + + currentPlayer().getPurse() + " Gold Coins."); boolean winner = didPlayerWin(); @@ -105,10 +118,10 @@ public boolean wasCorrectlyAnswered() { } else { System.out.println("Answer was corrent!!!!"); - purses[currentPlayer]++; + currentPlayer().reward(); System.out.println(currentPlayer().getName() + " now has " - + purses[currentPlayer] + + currentPlayer().getPurse() + " Gold Coins."); boolean winner = didPlayerWin(); @@ -122,7 +135,7 @@ public boolean wasCorrectlyAnswered() { public boolean wrongAnswer() { System.out.println("Question was incorrectly answered"); System.out.println(currentPlayer().getName() + " was sent to the penalty box"); - inPenaltyBox[currentPlayer] = true; + currentPlayer().punish(); currentPlayer++; if (currentPlayer == players.size()) currentPlayer = 0; @@ -131,6 +144,6 @@ public boolean wrongAnswer() { private boolean didPlayerWin() { - return !(purses[currentPlayer] == 6); + return !(currentPlayer().getPurse() == 6); } } diff --git a/src/test/java/trivia/GameTest.java b/src/test/java/trivia/GameTest.java index 3d716a00..1d5d8c34 100644 --- a/src/test/java/trivia/GameTest.java +++ b/src/test/java/trivia/GameTest.java @@ -35,7 +35,7 @@ private String extractOutput(Random rand, IGame aGame) { aGame.addPlayer("Pat"); aGame.addPlayer("Sue"); - boolean notAWinner = false; + boolean notAWinner; do { aGame.roll(rand.nextInt(5) + 1); @@ -47,7 +47,6 @@ private String extractOutput(Random rand, IGame aGame) { } while (notAWinner); } - String output = new String(baos.toByteArray()); - return output; + return baos.toString(); } } From 3068f2954e03567fd314108daa197c4a753604be Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sat, 5 Dec 2020 17:23:09 +0200 Subject: [PATCH 2/8] Fix misspelled message, extract methods --- .../java/victor/training/trivia/Game.java | 2 +- .../victor/training/trivia/GameBetter.java | 50 ++++++++----------- 2 files changed, 22 insertions(+), 30 deletions(-) diff --git a/src/main/java/victor/training/trivia/Game.java b/src/main/java/victor/training/trivia/Game.java index 987a8ccc..e94cf6a5 100644 --- a/src/main/java/victor/training/trivia/Game.java +++ b/src/main/java/victor/training/trivia/Game.java @@ -135,7 +135,7 @@ public boolean wasCorrectlyAnswered() { } else { - System.out.println("Answer was corrent!!!!"); + System.out.println("Answer was correct!!!!"); purses[currentPlayer]++; System.out.println(players.get(currentPlayer) + " now has " diff --git a/src/main/java/victor/training/trivia/GameBetter.java b/src/main/java/victor/training/trivia/GameBetter.java index f348b92a..32ddb58d 100644 --- a/src/main/java/victor/training/trivia/GameBetter.java +++ b/src/main/java/victor/training/trivia/GameBetter.java @@ -96,40 +96,33 @@ private void askQuestion() { public boolean wasCorrectlyAnswered() { if (currentPlayer().isInPenaltyBox()) { if (isGettingOutOfPenaltyBox) { - System.out.println("Answer was correct!!!!"); - currentPlayer().reward(); - System.out.println(currentPlayer().getName() - + " now has " - + currentPlayer().getPurse() - + " Gold Coins."); - - boolean winner = didPlayerWin(); - currentPlayer++; - if (currentPlayer == players.size()) currentPlayer = 0; - - return winner; + return correctAnswer(); } else { - currentPlayer++; - if (currentPlayer == players.size()) currentPlayer = 0; + nextPlayer(); return true; } - - } else { + return correctAnswer(); + } + } - System.out.println("Answer was corrent!!!!"); - currentPlayer().reward(); - System.out.println(currentPlayer().getName() - + " now has " - + currentPlayer().getPurse() - + " Gold Coins."); + private boolean correctAnswer() { + System.out.println("Answer was correct!!!!"); + currentPlayer().reward(); + System.out.println(currentPlayer().getName() + + " now has " + + currentPlayer().getPurse() + + " Gold Coins."); - boolean winner = didPlayerWin(); - currentPlayer++; - if (currentPlayer == players.size()) currentPlayer = 0; + boolean winner = didPlayerWin(); + nextPlayer(); - return winner; - } + return winner; + } + + private void nextPlayer() { + currentPlayer++; + if (currentPlayer == players.size()) currentPlayer = 0; } public boolean wrongAnswer() { @@ -137,8 +130,7 @@ public boolean wrongAnswer() { System.out.println(currentPlayer().getName() + " was sent to the penalty box"); currentPlayer().punish(); - currentPlayer++; - if (currentPlayer == players.size()) currentPlayer = 0; + nextPlayer(); return true; } From 03bac4402c1ddb26ef12cf68855ee50b3af32675 Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sat, 5 Dec 2020 19:20:11 +0200 Subject: [PATCH 3/8] Fix didPlayerWin method --- src/main/java/victor/training/trivia/GameBetter.java | 12 ++++-------- src/test/java/trivia/GameTest.java | 11 +++++------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/main/java/victor/training/trivia/GameBetter.java b/src/main/java/victor/training/trivia/GameBetter.java index 32ddb58d..dbafba4d 100644 --- a/src/main/java/victor/training/trivia/GameBetter.java +++ b/src/main/java/victor/training/trivia/GameBetter.java @@ -109,15 +109,12 @@ public boolean wasCorrectlyAnswered() { private boolean correctAnswer() { System.out.println("Answer was correct!!!!"); currentPlayer().reward(); - System.out.println(currentPlayer().getName() - + " now has " - + currentPlayer().getPurse() - + " Gold Coins."); + System.out.println(currentPlayer().getName() + " now has " + currentPlayer().getPurse() + " Gold Coins."); - boolean winner = didPlayerWin(); + boolean isGameOver = !didPlayerWin(); nextPlayer(); - return winner; + return isGameOver; } private void nextPlayer() { @@ -134,8 +131,7 @@ public boolean wrongAnswer() { return true; } - private boolean didPlayerWin() { - return !(currentPlayer().getPurse() == 6); + return currentPlayer().getPurse() == 6; } } diff --git a/src/test/java/trivia/GameTest.java b/src/test/java/trivia/GameTest.java index 1d5d8c34..9ff72481 100644 --- a/src/test/java/trivia/GameTest.java +++ b/src/test/java/trivia/GameTest.java @@ -29,23 +29,22 @@ private String extractOutput(Random rand, IGame aGame) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (PrintStream inmemory = new PrintStream(baos)) { System.setOut(inmemory); - - + aGame.addPlayer("Chet"); aGame.addPlayer("Pat"); aGame.addPlayer("Sue"); - boolean notAWinner; + boolean gameNotOver; do { aGame.roll(rand.nextInt(5) + 1); if (rand.nextInt(9) == 7) { - notAWinner = aGame.wrongAnswer(); + gameNotOver = aGame.wrongAnswer(); } else { - notAWinner = aGame.wasCorrectlyAnswered(); + gameNotOver = aGame.wasCorrectlyAnswered(); } - } while (notAWinner); + } while (gameNotOver); } return baos.toString(); } From 4aa9faac4f2418c01cb4ad8d04880944e707d5aa Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sat, 5 Dec 2020 19:22:18 +0200 Subject: [PATCH 4/8] Move Player class to its own file --- .../victor/training/trivia/GameBetter.java | 54 +++---------------- .../java/victor/training/trivia/Player.java | 43 +++++++++++++++ 2 files changed, 50 insertions(+), 47 deletions(-) create mode 100644 src/main/java/victor/training/trivia/Player.java diff --git a/src/main/java/victor/training/trivia/GameBetter.java b/src/main/java/victor/training/trivia/GameBetter.java index dbafba4d..8a747634 100644 --- a/src/main/java/victor/training/trivia/GameBetter.java +++ b/src/main/java/victor/training/trivia/GameBetter.java @@ -3,48 +3,6 @@ import java.util.ArrayList; import java.util.List; -class Player { - private final String name; - private int place; - private int purse; - private boolean inPenaltyBox; - - public Player(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public int getPlace() { - return place; - } - - public void advance(int roll) { - place += roll; - if (place >= GameBetter.BOARD_SIZE) { - place -= GameBetter.BOARD_SIZE; - } - } - - public void reward() { - purse++; - } - - public int getPurse() { - return purse; - } - - public void punish() { - inPenaltyBox = true; - } - - public boolean isInPenaltyBox() { - return inPenaltyBox; - } -} - public class GameBetter implements IGame { public static final int BOARD_SIZE = 12; private final QuestionRepository questionRepository = new QuestionRepository(); @@ -117,11 +75,6 @@ private boolean correctAnswer() { return isGameOver; } - private void nextPlayer() { - currentPlayer++; - if (currentPlayer == players.size()) currentPlayer = 0; - } - public boolean wrongAnswer() { System.out.println("Question was incorrectly answered"); System.out.println(currentPlayer().getName() + " was sent to the penalty box"); @@ -131,6 +84,13 @@ public boolean wrongAnswer() { return true; } + private void nextPlayer() { + currentPlayer++; + if (currentPlayer == players.size()) { + currentPlayer = 0; + } + } + private boolean didPlayerWin() { return currentPlayer().getPurse() == 6; } diff --git a/src/main/java/victor/training/trivia/Player.java b/src/main/java/victor/training/trivia/Player.java new file mode 100644 index 00000000..1cfabf75 --- /dev/null +++ b/src/main/java/victor/training/trivia/Player.java @@ -0,0 +1,43 @@ +package victor.training.trivia; + +class Player { + private final String name; + private int place; + private int purse; + private boolean inPenaltyBox; + + public Player(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public int getPlace() { + return place; + } + + public void advance(int roll) { + place += roll; + if (place >= GameBetter.BOARD_SIZE) { + place -= GameBetter.BOARD_SIZE; + } + } + + public void reward() { + purse++; + } + + public int getPurse() { + return purse; + } + + public void punish() { + inPenaltyBox = true; + } + + public boolean isInPenaltyBox() { + return inPenaltyBox; + } +} From 0fee30d808e454c9ddb2892bb84a84078113d7db Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sat, 5 Dec 2020 23:51:08 +0200 Subject: [PATCH 5/8] Fix inPenaltyBox not being updated after player getting out of penalty box --- src/main/java/victor/training/trivia/Game.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/victor/training/trivia/Game.java b/src/main/java/victor/training/trivia/Game.java index e94cf6a5..7f39d794 100644 --- a/src/main/java/victor/training/trivia/Game.java +++ b/src/main/java/victor/training/trivia/Game.java @@ -120,7 +120,7 @@ public boolean wasCorrectlyAnswered() { + " now has " + purses[currentPlayer] + " Gold Coins."); - + inPenaltyBox[currentPlayer] = false; boolean winner = didPlayerWin(); currentPlayer++; if (currentPlayer == players.size()) currentPlayer = 0; From 69cf746674c1278524feb845b02c9552aa511429 Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sat, 5 Dec 2020 23:51:45 +0200 Subject: [PATCH 6/8] Remove isGettingOutOfPenaltyBox --- .../java/victor/training/trivia/GameBetter.java | 13 +++++-------- src/main/java/victor/training/trivia/Player.java | 4 ++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/victor/training/trivia/GameBetter.java b/src/main/java/victor/training/trivia/GameBetter.java index 8a747634..81272aef 100644 --- a/src/main/java/victor/training/trivia/GameBetter.java +++ b/src/main/java/victor/training/trivia/GameBetter.java @@ -33,6 +33,7 @@ public void roll(int roll) { isGettingOutOfPenaltyBox = false; return; } + currentPlayer().free(); isGettingOutOfPenaltyBox = true; System.out.println(currentPlayer().getName() + " is getting out of the penalty box"); } @@ -53,12 +54,8 @@ private void askQuestion() { // TODO e un nume misleading care e ? public boolean wasCorrectlyAnswered() { if (currentPlayer().isInPenaltyBox()) { - if (isGettingOutOfPenaltyBox) { - return correctAnswer(); - } else { - nextPlayer(); - return true; - } + nextPlayer(); + return true; } else { return correctAnswer(); } @@ -69,10 +66,10 @@ private boolean correctAnswer() { currentPlayer().reward(); System.out.println(currentPlayer().getName() + " now has " + currentPlayer().getPurse() + " Gold Coins."); - boolean isGameOver = !didPlayerWin(); + boolean isGameNotOver = !didPlayerWin(); nextPlayer(); - return isGameOver; + return isGameNotOver; } public boolean wrongAnswer() { diff --git a/src/main/java/victor/training/trivia/Player.java b/src/main/java/victor/training/trivia/Player.java index 1cfabf75..a94ffd24 100644 --- a/src/main/java/victor/training/trivia/Player.java +++ b/src/main/java/victor/training/trivia/Player.java @@ -40,4 +40,8 @@ public void punish() { public boolean isInPenaltyBox() { return inPenaltyBox; } + + public void free() { + inPenaltyBox = false; + } } From 439a8f5983d23283ce4a7cd38e31c1b4a25d3cf2 Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sun, 6 Dec 2020 14:16:34 +0200 Subject: [PATCH 7/8] Remove isGettingOutOfPenaltyBox --- .../java/victor/training/trivia/Game.java | 25 ++++++----- .../victor/training/trivia/GameBetter.java | 44 +++++++++---------- .../java/victor/training/trivia/IGame.java | 5 ++- .../java/victor/training/trivia/Player.java | 6 ++- src/test/java/trivia/GameTest.java | 8 ++-- 5 files changed, 49 insertions(+), 39 deletions(-) diff --git a/src/main/java/victor/training/trivia/Game.java b/src/main/java/victor/training/trivia/Game.java index 7f39d794..02c1d807 100644 --- a/src/main/java/victor/training/trivia/Game.java +++ b/src/main/java/victor/training/trivia/Game.java @@ -111,7 +111,7 @@ private String currentCategory() { return "Rock"; } - public boolean wasCorrectlyAnswered() { + public void correctAnswer() { if (inPenaltyBox[currentPlayer]) { if (isGettingOutOfPenaltyBox) { System.out.println("Answer was correct!!!!"); @@ -122,14 +122,14 @@ public boolean wasCorrectlyAnswered() { + " Gold Coins."); inPenaltyBox[currentPlayer] = false; boolean winner = didPlayerWin(); - currentPlayer++; - if (currentPlayer == players.size()) currentPlayer = 0; + if (winner) { + currentPlayer++; + if (currentPlayer == players.size()) currentPlayer = 0; + } - return winner; } else { currentPlayer++; if (currentPlayer == players.size()) currentPlayer = 0; - return true; } @@ -143,21 +143,26 @@ public boolean wasCorrectlyAnswered() { + " Gold Coins."); boolean winner = didPlayerWin(); - currentPlayer++; - if (currentPlayer == players.size()) currentPlayer = 0; + if (winner) { + currentPlayer++; + if (currentPlayer == players.size()) currentPlayer = 0; + } - return winner; } } - public boolean wrongAnswer() { + @Override + public boolean isGameOver() { + return !didPlayerWin(); + } + + public void wrongAnswer() { System.out.println("Question was incorrectly answered"); System.out.println(players.get(currentPlayer) + " was sent to the penalty box"); inPenaltyBox[currentPlayer] = true; currentPlayer++; if (currentPlayer == players.size()) currentPlayer = 0; - return true; } diff --git a/src/main/java/victor/training/trivia/GameBetter.java b/src/main/java/victor/training/trivia/GameBetter.java index 81272aef..375f466d 100644 --- a/src/main/java/victor/training/trivia/GameBetter.java +++ b/src/main/java/victor/training/trivia/GameBetter.java @@ -13,7 +13,6 @@ public class GameBetter implements IGame { private boolean[] inPenaltyBox = new boolean[6]; int currentPlayer = 0; - boolean isGettingOutOfPenaltyBox; public void addPlayer(String playerName) { players.add(new Player(playerName)); @@ -30,11 +29,9 @@ public void roll(int roll) { if (currentPlayer().isInPenaltyBox()) { if (roll % 2 == 0) { System.out.println(currentPlayer().getName() + " is not getting out of the penalty box"); - isGettingOutOfPenaltyBox = false; return; } currentPlayer().free(); - isGettingOutOfPenaltyBox = true; System.out.println(currentPlayer().getName() + " is getting out of the penalty box"); } currentPlayer().advance(roll); @@ -51,34 +48,39 @@ private void askQuestion() { System.out.println(questionRepository.nextQuestion(currentPlayer().getPlace())); } -// TODO e un nume misleading care e ? - public boolean wasCorrectlyAnswered() { - if (currentPlayer().isInPenaltyBox()) { - nextPlayer(); - return true; - } else { - return correctAnswer(); + public void correctAnswer() { + if (isGameOver()) { + return; } - } - private boolean correctAnswer() { - System.out.println("Answer was correct!!!!"); - currentPlayer().reward(); - System.out.println(currentPlayer().getName() + " now has " + currentPlayer().getPurse() + " Gold Coins."); + if (!currentPlayer().isInPenaltyBox()) { + System.out.println("Answer was correct!!!!"); + currentPlayer().reward(); + System.out.println(currentPlayer().getName() + " now has " + currentPlayer().getPurse() + " Gold Coins."); - boolean isGameNotOver = !didPlayerWin(); + if (isGameOver()) { + return; + } + } nextPlayer(); + } - return isGameNotOver; + @Override + public boolean isGameOver() { + return currentPlayer().isWinner(); } - public boolean wrongAnswer() { + + public void wrongAnswer() { + if (isGameOver()) { + return; + } + System.out.println("Question was incorrectly answered"); System.out.println(currentPlayer().getName() + " was sent to the penalty box"); currentPlayer().punish(); nextPlayer(); - return true; } private void nextPlayer() { @@ -87,8 +89,4 @@ private void nextPlayer() { currentPlayer = 0; } } - - private boolean didPlayerWin() { - return currentPlayer().getPurse() == 6; - } } diff --git a/src/main/java/victor/training/trivia/IGame.java b/src/main/java/victor/training/trivia/IGame.java index 27cc40ea..850a179b 100644 --- a/src/main/java/victor/training/trivia/IGame.java +++ b/src/main/java/victor/training/trivia/IGame.java @@ -6,8 +6,9 @@ public interface IGame { void roll(int roll); - boolean wasCorrectlyAnswered(); + void correctAnswer(); - boolean wrongAnswer(); + void wrongAnswer(); + boolean isGameOver(); } \ No newline at end of file diff --git a/src/main/java/victor/training/trivia/Player.java b/src/main/java/victor/training/trivia/Player.java index a94ffd24..43b283b0 100644 --- a/src/main/java/victor/training/trivia/Player.java +++ b/src/main/java/victor/training/trivia/Player.java @@ -41,7 +41,11 @@ public boolean isInPenaltyBox() { return inPenaltyBox; } - public void free() { + public void free() { inPenaltyBox = false; } + + public boolean isWinner() { + return purse == 6; + } } diff --git a/src/test/java/trivia/GameTest.java b/src/test/java/trivia/GameTest.java index 9ff72481..3a90d496 100644 --- a/src/test/java/trivia/GameTest.java +++ b/src/test/java/trivia/GameTest.java @@ -34,15 +34,17 @@ private String extractOutput(Random rand, IGame aGame) { aGame.addPlayer("Pat"); aGame.addPlayer("Sue"); - boolean gameNotOver; + boolean gameNotOver = false; do { aGame.roll(rand.nextInt(5) + 1); if (rand.nextInt(9) == 7) { - gameNotOver = aGame.wrongAnswer(); + aGame.wrongAnswer(); } else { - gameNotOver = aGame.wasCorrectlyAnswered(); + aGame.correctAnswer(); } + + gameNotOver = !aGame.isGameOver(); } while (gameNotOver); } From 8fb7d9dbabe44170e507be907ed82ed024116a60 Mon Sep 17 00:00:00 2001 From: Lucian Palaghe Date: Sun, 6 Dec 2020 14:58:40 +0200 Subject: [PATCH 8/8] Invert if for coect answers while in penalty box, cleanup --- .../victor/training/trivia/GameBetter.java | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/main/java/victor/training/trivia/GameBetter.java b/src/main/java/victor/training/trivia/GameBetter.java index 375f466d..343ddb15 100644 --- a/src/main/java/victor/training/trivia/GameBetter.java +++ b/src/main/java/victor/training/trivia/GameBetter.java @@ -12,12 +12,10 @@ public class GameBetter implements IGame { private int[] purses = new int[6]; private boolean[] inPenaltyBox = new boolean[6]; - int currentPlayer = 0; + private int currentPlayer = 0; public void addPlayer(String playerName) { players.add(new Player(playerName)); - // TODO e un bug ascuns in cod. Gaseste-l - System.out.println(playerName + " was added"); System.out.println("They are player number " + players.size()); } @@ -40,37 +38,24 @@ public void roll(int roll) { askQuestion(); } - private Player currentPlayer() { - return players.get(currentPlayer); - } - - private void askQuestion() { - System.out.println(questionRepository.nextQuestion(currentPlayer().getPlace())); - } - public void correctAnswer() { if (isGameOver()) { return; } - if (!currentPlayer().isInPenaltyBox()) { + if (currentPlayer().isInPenaltyBox()) { + nextPlayer(); + } else { System.out.println("Answer was correct!!!!"); currentPlayer().reward(); System.out.println(currentPlayer().getName() + " now has " + currentPlayer().getPurse() + " Gold Coins."); - if (isGameOver()) { - return; + if (!isGameOver()) { + nextPlayer(); } } - nextPlayer(); } - @Override - public boolean isGameOver() { - return currentPlayer().isWinner(); - } - - public void wrongAnswer() { if (isGameOver()) { return; @@ -83,6 +68,19 @@ public void wrongAnswer() { nextPlayer(); } + @Override + public boolean isGameOver() { + return currentPlayer().isWinner(); + } + + private Player currentPlayer() { + return players.get(currentPlayer); + } + + private void askQuestion() { + System.out.println(questionRepository.nextQuestion(currentPlayer().getPlace())); + } + private void nextPlayer() { currentPlayer++; if (currentPlayer == players.size()) {