Class Wolf

java.lang.Object
  extended bySimpleTurtle
      extended byTurtle
          extended byWolf
Direct Known Subclasses:
HungryWolf

public class Wolf
extends Turtle

Class that represents a wolf. The wolf class tracks all the living wolves with a linked list.

Author:
Barb Ericson ericson@cc.gatech.edu

Field Summary
protected static int maxSpeed
          class constant for top speed (max num steps can move in a timestep)
protected  WolfDeerSimulation mySim
          My simulation
protected static double PROB_OF_STAY
          class constant for probability of NOT turning
protected static Random randNumGen
          random number generator
 
Constructor Summary
Wolf(int x, int y, ModelDisplay modelDisplayer, WolfDeerSimulation thisSim)
          Constructor that takes the x and y and a model display to draw it on
Wolf(ModelDisplay modelDisplayer, WolfDeerSimulation thisSim)
          Constructor that takes the model display (the original position will be randomly assigned)
 
Method Summary
 void act()
          Method to act during a time step pick a random direction and move some random amount up to top speed
 AgentNode getClosest(double distance, AgentNode list)
          Method to get the closest deer within the passed distance to this wolf.
 void init(WolfDeerSimulation thisSim)
          Method to initialize the new wolf object
 
Methods inherited from class Turtle
square
 
Methods inherited from class SimpleTurtle
backward, drawInfoString, drop, forward, forward, getBodyColor, getDistance, getHeading, getInfoColor, getModelDisplay, getName, getPen, getPenColor, getPenWidth, getPicture, getShellColor, getShowInfo, getXPos, getYPos, hide, isPenDown, isVisible, moveTo, paintComponent, penDown, penUp, setBodyColor, setColor, setHeading, setInfoColor, setModelDisplay, setName, setPen, setPenColor, setPenDown, setPenWidth, setPicture, setShellColor, setShowInfo, setVisible, show, toString, turn, turnLeft, turnRight, turnToFace, turnToFace, updateDisplay
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROB_OF_STAY

protected static final double PROB_OF_STAY
class constant for probability of NOT turning

See Also:
Constant Field Values

maxSpeed

protected static final int maxSpeed
class constant for top speed (max num steps can move in a timestep)

See Also:
Constant Field Values

mySim

protected WolfDeerSimulation mySim
My simulation


randNumGen

protected static Random randNumGen
random number generator

Constructor Detail

Wolf

public Wolf(ModelDisplay modelDisplayer,
            WolfDeerSimulation thisSim)
Constructor that takes the model display (the original position will be randomly assigned)

Parameters:
modelDisplayer - thing that displays the model
thisSim - my simulation

Wolf

public Wolf(int x,
            int y,
            ModelDisplay modelDisplayer,
            WolfDeerSimulation thisSim)
Constructor that takes the x and y and a model display to draw it on

Parameters:
x - the starting x position
y - the starting y position
modelDisplayer - the thing that displays the model
thisSim - my simulation
Method Detail

init

public void init(WolfDeerSimulation thisSim)
Method to initialize the new wolf object


getClosest

public AgentNode getClosest(double distance,
                            AgentNode list)
Method to get the closest deer within the passed distance to this wolf. We'll search the input list of the kind of objects to compare to.

Parameters:
distance - the distance to look within
list - the list of agents to look at
Returns:
the closest agent in the given distance or null

act

public void act()
Method to act during a time step pick a random direction and move some random amount up to top speed