diff --git a/tp6/Turtle.java b/tp6/Turtle.java new file mode 100644 index 0000000000000000000000000000000000000000..b5224616cca508faf373a23e04aaa2a4e59c4b7c --- /dev/null +++ b/tp6/Turtle.java @@ -0,0 +1,65 @@ +import javax.swing.*; +import java.awt.*; +import java.security.PublicKey; + +public class Turtle { + public Color penColor; + public double angleDirection; + public Point position; + public boolean penDown; + public Painter painter; + + + public Turtle(int width, int height){ + penColor= null; + angleDirection=90; + painter=new Painter() { + @Override + public void paint(Graphics2D g, Object object, int width, int height) { + + } + }; + penDown=false; + this.position=new Point(width/2,height/2); + } + + public void moveForward(double distance){ + Point p=position; + Point position2=position.translate(distance*Math.cos(angleDirection),distance*Math.sin(angleDirection)); + if(penDown=false){ + p.drawLine(position2,painter,penColor); + } + position=position2; + + } + public void setColor(Color color ){ + this.penColor=color; + + } + public void turnLeft(double angle){ + this.angleDirection=angleDirection+angle; + } + public void turnRight(double angle){ + this.angleDirection=angleDirection+angle; + } + public void setPenDown(){ + this.penDown=true; + } + public void setPenUp(){ + this.penDown=false; + } + void drawString(String sequence, double length, double angle){ + if(sequence=="A"){ + moveForward(length); + + } + if(sequence=="+"){ + turnRight(angle); + } + if(sequence=="-"){ + turnLeft(angle); + } + + } + +}