|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjturtle.JTurtle
public class JTurtle
This class is a simple SLogo turtle model for illustrating rudimentary MVC for turtles and simple Graphics2D concepts
Field Summary | |
---|---|
(package private) static int |
HEIGHT
|
(package private) double |
myHeading
|
private java.util.List<TurtleListener> |
myListeners
|
(package private) java.util.List<JTurtleMove> |
myMoveHistory
|
(package private) java.awt.geom.Point2D |
myNextPoint
|
(package private) boolean |
myPenDown
|
(package private) java.awt.geom.Point2D |
myPoint
|
(package private) Renderer |
myRenderer
|
(package private) static int |
START_X
|
(package private) static int |
START_Y
|
(package private) static int |
WIDTH
|
Constructor Summary | |
---|---|
|
JTurtle()
Create a turtle using the default (triangle) image. |
|
JTurtle(java.awt.Image img)
|
private |
JTurtle(Renderer renderer)
|
Method Summary | |
---|---|
void |
addTurtleListener(TurtleListener listener)
Add a listener. |
void |
draw(java.awt.Graphics g)
Draw the turtle, pass in a Graphics2D object. |
java.awt.Rectangle |
getBounds(java.awt.Rectangle r)
Mirrors the functionality of JComponent/Component. |
double |
getHeading()
Returns the naive view of heading, 0 degrees = north |
java.util.List<JTurtleMove> |
getMoveHistory()
Returns the List of Moves the turtle has taken thus far |
java.awt.geom.Point2D |
getPoint()
Returns the turtle's point (should be centroid) |
void |
move(int steps)
Moves the turtle forward. |
void |
notifyListeners()
Ask all registered listeners to process this turtle |
void |
reset()
Reposition turtle at the origin, facing north. |
void |
setHeading(double radians)
Set heading in radians, notify listeners. |
void |
setHeading(int degrees)
Set heading in degrees, notify listeners. |
void |
setPenToDown()
Set the pen to Down |
void |
setPenToUp()
Set the pen to up |
void |
setPoint(java.awt.geom.Point2D p)
Sets the turtles point, notifies listeners. |
protected double |
trueHeading()
Return the real/true heading of the turtle. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
double myHeading
java.awt.geom.Point2D myPoint
java.awt.geom.Point2D myNextPoint
Renderer myRenderer
java.util.List<JTurtleMove> myMoveHistory
boolean myPenDown
static final int START_X
static final int START_Y
static final int WIDTH
static final int HEIGHT
private java.util.List<TurtleListener> myListeners
Constructor Detail |
---|
public JTurtle()
public JTurtle(java.awt.Image img)
private JTurtle(Renderer renderer)
Method Detail |
---|
public java.awt.Rectangle getBounds(java.awt.Rectangle r)
Component.getBounds()
public void reset()
public void draw(java.awt.Graphics g)
g
- is the graphics context in which Turtle is drawnprotected double trueHeading()
public void move(int steps)
steps
- is the number of steps movedpublic void setHeading(int degrees)
degrees
- will be Turtle's new headingpublic void setHeading(double radians)
radians
- Turtle's new headingpublic double getHeading()
public java.awt.geom.Point2D getPoint()
public java.util.List<JTurtleMove> getMoveHistory()
public void notifyListeners()
public void addTurtleListener(TurtleListener listener)
listener
- is the listener addedpublic void setPoint(java.awt.geom.Point2D p)
p
- is the new center pointpublic void setPenToUp()
public void setPenToDown()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |