X-Git-Url: https://troll.desast.re/troll.git/blobdiff_plain/21357ae2173926ec1eb908517ab7b1b3e9175ee5..e0290aa2bf6fe6c998d30101fcad648baa2cfcd5:/src/main/java/com/codingame/game/LeagueManager.java diff --git a/src/main/java/com/codingame/game/LeagueManager.java b/src/main/java/com/codingame/game/LeagueManager.java index ed7d455..78f15f1 100644 --- a/src/main/java/com/codingame/game/LeagueManager.java +++ b/src/main/java/com/codingame/game/LeagueManager.java @@ -12,12 +12,34 @@ class LeagueManager { TOLERATED, FORBIDDEN } - CheatLevel cheatLevel; + enum MapLevel { + SINGLE, + DISCRETE, + CONTINUOUS + } + MapLevel mapLevel; + + enum FixLevel { SOMETIMES, NEVER } + FixLevel fixLevel; + @Inject LeagueManager(MultiplayerGameManager gameManager) { - cheatLevel = CheatLevel.FORBIDDEN; + int level = gameManager.getLeagueLevel(); + if (level < 1 || level > 3) { + throw new InternalError("This game does not implement level " + level); + } + + cheatLevel = level <= 1 ? CheatLevel.ALLOWED + : level <= 2 ? CheatLevel.TOLERATED + : CheatLevel.FORBIDDEN; + + mapLevel = level <= 1 ? MapLevel.SINGLE + : level <= 2 ? MapLevel.DISCRETE + : MapLevel.CONTINUOUS; + + fixLevel = level <= 1 ? FixLevel.SOMETIMES : FixLevel.NEVER; } }