public class Turtle extends Object
Constructor and Description |
---|
Turtle()
Construct a turtle located at coordinates (0, 0) and facing towards the
right.
|
Turtle(IPoint2D position,
Color penColor)
Construct a turtle located at the given coordinates, facing towards the
right, using the given pen color to draw with.
|
Turtle(Turtle other)
Construct a copy of another turtle.
|
Modifier and Type | Method and Description |
---|---|
int |
getAngle()
Gets the direction that the turtle is facing in measured as an angle in
degrees from the positive x axis.
|
Color |
getPenColor()
Gets the color of the pen that the turtle is currently using to draw with.
|
IPoint2D |
getPosition()
Gets the current position of the turtle.
|
void |
move(double distance)
Moves the turtle the specified distance in the direction that the turtle is
currently facing; a line is drawn in the current pen color as the turtle moves.
|
void |
setPenColor(Color penColor)
Sets the color of the pen that the turtle is currently using to draw with.
|
String |
toString()
Returns a string representation of the object.
|
void |
turnLeft()
Changes the direction that the turtle is facing in by turning the turtle 90
degrees to its left.
|
void |
turnRight()
Changes the direction that the turtle is facing in by turning the turtle 90
degrees to its right.
|
public Turtle()
Color.BLACK
.public Turtle(IPoint2D position, Color penColor)
penColor == null
then the turtle's pen color will be set to
Color.BLACK
.IllegalArgumentException
- if the starting position is outside of the grid that the turtle
can move onposition
- the desired starting position of the turtlepenColor
- the desired pen color that the turtle will use to draw withpublic Turtle(Turtle other)
other
- the turtle to copypublic void move(double distance)
The turtle will never move outside the rectangle with bottom left corner located at coordinates (-10, -8) and the top left corner located at coordinates (10, 8); it will always stop at the border of the rectangle.
distance
- the distance to move the turtlepublic void turnLeft()
public void turnRight()
public IPoint2D getPosition()
public int getAngle()
0 <= angle < 360
.public Color getPenColor()
public void setPenColor(Color penColor)
penColor == null
then the current pen color remains
unchanged.penColor
- the new pen colorpublic String toString()
cse1030.drawing.IPoint2D.toString()
and
java.awt.Color.toString()
, respectively. The string
representation of the angle is identical to the string representation of an
integer value.toString
in class Object
Object.toString()