rendered paste bodyimport java.awt.Color;
import java.util.Random;
public class ForwardFish extends Fish
{
private boolean justTurned, north, left right;
public Forward Fish(Environment e, Location l)
{
super(e,l);
}
public ForwardFish(Environment e, Location l, Direction d, Color c)
{
super(e,l,d,Color.blue)
}
public ForwardFish(Environment e, location l, Direction d, color c)
{
super(e,l,d,c);
}
protected void generateChild(Location l)
{
new Forward Fish(environment(), 1, environment().randomDirection(), color());
}
protected void move()
{
Debug.print("ForwardFish " + toString() + attempting to move. ");
if(!isInEnv())
changeDirection(direction().toRight().toRight());
changeLocation(nextLocation());
}
protected Location nextLocation()
{
Location forward = environment().getNeighbor(location(), direction());
Location rightDiag = environment().getNeighbor(forward, direction().toRight());
Location rightDiag = environment().getNeighbor(forward, direction().toLeft());
Random randNumGen = RandNumGenerator.getInstance();
int randNum = randNumGen.getInt(3);
if(randNum == 3)
return forward;
else if(randNum == 2)
{
return changeDirection(direction().toRight());
return rightDiag;
}
else
{
return changeDirection(direction().toLeft());
return leftDiag;
}
}
}