X-Git-Url: https://troll.desast.re/troll.git/blobdiff_plain/424174766971a11af0e953a6d5a328d466b8f68b..2a9c53c2715aae687335b7c842e4142973f28ad7:/src/main/java/com/codingame/game/Referee.java?ds=sidebyside diff --git a/src/main/java/com/codingame/game/Referee.java b/src/main/java/com/codingame/game/Referee.java index b56cade..979e283 100644 --- a/src/main/java/com/codingame/game/Referee.java +++ b/src/main/java/com/codingame/game/Referee.java @@ -30,21 +30,24 @@ public class Referee extends AbstractReferee { gameManager.getPlayer(0).model = model.p0; gameManager.getPlayer(1).model = model.p1; - for (Player p : gameManager.getPlayers()) { - p.sendInputLine(String.format("%d %d", model.roadLength, model.initialStones)); + for (Player p: gameManager.getPlayers()) { + p.sendInputLine(String.format("%d %d", + model.roadLength, + model.initialStones)); } view.init(model); gameManager.getPlayer(0).view = view.p0; gameManager.getPlayer(1).view = view.p1; - - gameManager.setFrameDuration(2000); // XXX + gameManager.setFrameDuration(2000); } @Override public void gameTurn(int turn) { // System.err.println("Starting turn " + turn); + view.startTurn(); + boolean disqual = false; boolean victory = false; boolean exhausted = false; @@ -53,14 +56,16 @@ public class Referee extends AbstractReferee { for (Player player : gameManager.getActivePlayers()) { Model.Player p = player.model; { - int trollDistance = p.getTrollDistance(); - int stones = p.getStones(); - int oppStones = p.getOppStones(); - player.sendInputLine(String.format("%d %d %d", trollDistance, stones, oppStones)); + player.sendInputLine(String.format("%d %d %d", + p.getTrollDistance(), + p.getStones(), + p.getOppStones())); } player.execute(); } + // SDK @#%^&! arbitrary sequence point: last input < first output + for (Player player : gameManager.getActivePlayers()) { Model.Player p = player.model; @@ -87,6 +92,7 @@ public class Referee extends AbstractReferee { } else if (stones > 0) { player.view.animateStones(stones); + player.view.updateStoneCounter(); } } catch (InvalidAction e) { @@ -131,8 +137,8 @@ public class Referee extends AbstractReferee { } if (model.haveWinner()) { - int winner = model.getWinner(); - gameManager.addToGameSummary(GameManager.formatErrorMessage("Troll destroys " + gameManager.getPlayer(winner).getNicknameToken())); + int loser = model.getLoser(); + gameManager.addToGameSummary(GameManager.formatErrorMessage("Troll destroys " + gameManager.getPlayer(loser).getNicknameToken()) + "."); victory = true; } else if (model.exhausted()) exhausted = true; @@ -151,11 +157,11 @@ public class Referee extends AbstractReferee { int s1 = p1.getScore(); if (s0 > s1) { - gameManager.addToGameSummary(GameManager.formatSuccessMessage(p0.getNicknameToken() + " wins")); + gameManager.addToGameSummary(GameManager.formatSuccessMessage(p0.getNicknameToken() + " wins.")); p1.view.destroy(); } else if (s0 < s1) { - gameManager.addToGameSummary(GameManager.formatSuccessMessage(p1.getNicknameToken() + " wins")); + gameManager.addToGameSummary(GameManager.formatSuccessMessage(p1.getNicknameToken() + " wins.")); p0.view.destroy(); } else if (s0 < 0) {