public class GraphicalDot { private static final int SIZE = 50; private static final int MAX_STEP = 5; private static Die die = new Die(GraphicalDot.MAX_STEP); private static int nextDotNumber = 0; private String dotColor; private int dotPosition; private Circle dotImage; private int distanceToDraw; public GraphicalDot(String color) { this.dotColor = color; this.dotPosition= 0; this.dotPosition = 0; this.dotImage = new Circle(); this.dotImage.changeColor(color); this.dotImage.changeSize(GraphicalDot.SIZE); this.dotImage.moveVertical(GraphicalDot.SIZE*(GraphicalDot.nextDotNumber)); this.dotImage.makeVisible(); GraphicalDot.nextDotNumber++; } public int getPosition() { return this.dotPosition; } public String getColor() { return this.dotColor; } public void step() { int distance = GraphicalDot.die.roll(); this.dotPosition += distance; this.distanceToDraw += distance; } public void reset() { this.dotImage.moveHorizontal(-this.dotPosition); this.dotPosition = 0; this.distanceToDraw = 0; } public void showPosition() { this.dotImage.slowMoveHorizontal(this.distanceToDraw); this.distanceToDraw = 0; } }