X-Git-Url: https://troll.desast.re/troll.git/blobdiff_plain/00ef746e66b9aa761ca570cffea2a695f007fd9e..424174766971a11af0e953a6d5a328d466b8f68b:/src/main/java/com/codingame/game/Player.java diff --git a/src/main/java/com/codingame/game/Player.java b/src/main/java/com/codingame/game/Player.java index bf40000..ac96489 100644 --- a/src/main/java/com/codingame/game/Player.java +++ b/src/main/java/com/codingame/game/Player.java @@ -1,69 +1,42 @@ package com.codingame.game; +import java.util.List; + +import java.util.regex.Pattern; +import java.util.Scanner; +import java.util.InputMismatchException; +import java.util.NoSuchElementException; + import com.codingame.gameengine.core.AbstractMultiplayerPlayer; import com.codingame.gameengine.module.entities.Group; import com.codingame.gameengine.module.entities.Text; import com.codingame.gameengine.module.entities.Sprite; public class Player extends AbstractMultiplayerPlayer { - Group avatar; - Text stoneCounter; - Sprite castle; - Text stone; - - - private int castlePosition; - public int getCastlePosition() { - return castlePosition; - } - public void setCastlePosition(int pos) { - castlePosition = pos; - } - - private int stones; - public int getStones() - { - return stones; - } - public void consumeStones(int n) throws InvalidAction { - if (n > stones) { - throw new InvalidAction("attempted to throw more stones than they had."); - } - setStones(stones - n); - } - public void setStones(int n) { - stones = n; - if (stones <= 0) { - stoneCounter.setText("No stones!"); - stoneCounter.setFillColor(0xff7777); - } - else if (stones == 1) { - stoneCounter.setText("1 stone"); - stoneCounter.setFillColor(0xffbb77); - } - else { - stoneCounter.setText(stones + " stones"); - } - } + Model.Player model; + View.Player view; - private int multiplier; - public int getMultiplier() { - return multiplier; - } - public void setMultiplier(int m){ - multiplier = m; - } - - public void adjustScore(int trollPosition) { - setScore(Math.abs(castlePosition - trollPosition)); - } + private String messageString = ""; + public String getMessageString() { return messageString; } @Override public int getExpectedOutputLines() { return 1; } + static final Pattern rest = Pattern.compile(".*"); + static final Pattern eol = Pattern.compile("\n"); public int getAction() throws TimeoutException, NumberFormatException { - return Integer.parseInt(getOutputs().get(0)); + Scanner s = new Scanner(getOutputs().get(0)); + messageString = ""; + try { + int st = s.nextInt(); + s.useDelimiter(eol); + if (s.hasNext(rest)) + messageString = s.next(rest); + return st; + } + catch (InputMismatchException e) { throw new NumberFormatException(); } + catch (NoSuchElementException e) { throw new NumberFormatException(); } } }