From: JBM Date: Mon, 25 May 2020 12:45:19 +0000 (+0200) Subject: Factor disqualifications X-Git-Url: https://troll.desast.re/troll.git/commitdiff_plain/69db5112920d309f4b10c10fd4d71793a7e1c4dc?ds=sidebyside Factor disqualifications --- diff --git a/src/main/java/com/codingame/game/Referee.java b/src/main/java/com/codingame/game/Referee.java index 0c87bbf..b907739 100644 --- a/src/main/java/com/codingame/game/Referee.java +++ b/src/main/java/com/codingame/game/Referee.java @@ -40,6 +40,12 @@ public class Referee extends AbstractReferee { gameManager.setFrameDuration(2000); } + private void disqualify(Player player, String popup, String message) { + player.deactivate(player.getNicknameToken() + " " + popup); + gameManager.addToGameSummary(GameManager.formatErrorMessage(player.getNicknameToken() + " " + message)); + player.setScore(-1); + } + @Override public void gameTurn(int turn) { // System.err.println("Starting turn " + turn); @@ -61,15 +67,11 @@ public class Referee extends AbstractReferee { player.receiveGameTurn(); switch (player.type) { case Timeout: - gameManager.addToGameSummary(player.getNicknameToken() + " timed out!"); - player.deactivate(player.getNicknameToken() + " T/O"); - player.setScore(-1); + disqualify(player, "T/O", "timed out!"); disqual = true; break; case Invalid: - player.deactivate(player.getNicknameToken() + " INVALID"); - gameManager.addToGameSummary(GameManager.formatErrorMessage(player.getNicknameToken() + " provided an ill-formed action")); - player.setScore(-1); + disqualify(player, "INVALID", "provided an ill-formed action"); disqual = true; break; case Throw: @@ -80,9 +82,7 @@ public class Referee extends AbstractReferee { player.stoneThrow = player.model.consumeMaxStones(); } else { - gameManager.addToGameSummary(GameManager.formatErrorMessage(player.getNicknameToken() + " tried to throw more stones than they had. They went into debt trying to provide. The economy tanked, recession and famine ensued; even the troll wouldn't have wanted to bash them anymore. But that's no victory.")); - player.deactivate(player.getNicknameToken() + " ILLEGAL"); - player.setScore(-1); + disqualify(player, "ILLEGAL", "tried to throw more stones than they had. They went into debt trying to provide. The economy tanked, recession and famine ensued; even the troll wouldn't have wanted to bash them anymore. But that's no victory."); disqual = true; } } @@ -92,9 +92,7 @@ public class Referee extends AbstractReferee { player.stoneThrow = player.model.consumeMinStones(); } else { - gameManager.addToGameSummary(GameManager.formatErrorMessage(player.getNicknameToken() + "tried not throwing any stones. They were then eaten by a grue.")); - player.deactivate(player.getNicknameToken() + " ILLEGAL"); - player.setScore(-1); + disqualify(player, "ILLEGAL", "tried not throwing any stones. They were then eaten by a grue."); disqual = true; } } @@ -122,9 +120,7 @@ public class Referee extends AbstractReferee { delta += player.model.getMultiplier() * player.stoneThrow; if (player.stoneThrow < 0) { - player.deactivate(player.getNicknameToken() + " CHEAT"); - gameManager.addToGameSummary(GameManager.formatErrorMessage(player.getNicknameToken() + " cheated. Banning account.")); - player.setScore(-1); + disqualify(player, "CHEAT", "cheated. Banning account."); disqual = true; } else if (player.stoneThrow > 0) {