diff --git a/src/Worm.java b/src/Worm.java index 966c580..0d25d42 100644 --- a/src/Worm.java +++ b/src/Worm.java @@ -151,4 +151,27 @@ public class Worm { this.maxPoints = (int) Math.round(maxPoints); setPoints(this.points); } + + /** + * + * @param NumberSteps + * + * @post ... + * |new.CoordX = CoordX + NumberSteps * distanceX + * + * @post + * |new.CoordY = CoordY + NumberSteps * distanceY + * + * @throws IllegalArgumentException + * when the total of steps is lower then zero + * |NumberSteps < 0 + */ + public void move(int NumberSteps) { + if (NumberSteps < 0) + throw new IllegalArgumentException(); + double distanceX = getRadius() * Math.cos(getOrientation()); + double distanceY = getRadius() * Math.sin(getOrientation()); + setCoordX(getCoordX() + NumberSteps * distanceX); + setCoordY(getCoordY() + NumberSteps * distanceY); + } }