rendered paste body import java.awt.Color;
public class SpiralFishEnviroment
{
private static final int ENV_ROWS =11;
private static final int ENV_COLS = ENV_ROWS;
private static final int NUM_STEPS = ENV_ROWS * ENV_COLS + 2 ;
private static final int DELAY = (50/ENV_ROWS*(ENV_ROWS+10)) ;
public static void main(String[] args)
{
Location locstart = new Location(0,ENV_COLS -1);
BoundedEnv env = new BoundedEnv(ENV_ROWS, ENV_COLS);
SpiralFish s1 = new SpiralFish(env, locstart, Direction.SOUTH, Color.CYAN);
SimpleMBSDisplay display = new SimpleMBSDisplay(env, DELAY);
display.showEnv();
System.out.println("Enviroment is " + ENV_ROWS + " by " + ENV_COLS);
System.out.println("Number of steps till completion is " + NUM_STEPS);
System.out.println("Run Delay is " + DELAY);
Location loc1 = new Location(env.numRows() - env.numCols(),env.numCols() - 1);
Location loc2 = new Location(env.numRows() -1,env.numCols() -2);
Location loc3 = new Location(env.numRows() - 2,env.numCols() - env.numRows());
Location loc4 = new Location(env.numRows() - env.numCols(),env.numCols() - 10);
Location loc5 = new Location(env.numRows() - (env.numRows() -1),env.numCols() -2);
Location loc6 = new Location(env.numRows() - 2,env.numCols() -3);
Location loc7 = new Location(env.numRows() - 3,env.numCols() -10);
Location loc8 = new Location(env.numRows() - 10,env.numCols() -9);
Location loc9 = new Location(env.numRows() - 9,env.numCols() -3);
Location loc10 = new Location(env.numRows() - 3,env.numCols() -4);
Location loc11 = new Location(env.numRows() - 4,env.numCols() -9);
Location loc12 = new Location(env.numRows() - 9,env.numCols() -8);
Location loc13 = new Location(env.numRows() - 8,env.numCols() -4);
Location loc14 = new Location(env.numRows() - 4,env.numCols() -5);
Location loc15 = new Location(env.numRows() - 5,env.numCols() -8);
Location loc16 = new Location(env.numRows() - 8,env.numCols() -7);
Location loc17 = new Location(env.numRows() - 7,env.numCols() -5);
Location loc18 = new Location(env.numRows() - 5,env.numCols() -6);
Location loc19 = new Location(env.numRows() - 6,env.numCols() -7);
Location loc20 = new Location(env.numRows() - 7,env.numCols() -6);
Location locend = new Location(env.numRows() - 6,env.numCols() -6);
// Run the simulation for the specified number of steps.
for ( int i = 0; i < NUM_STEPS; i++ )
{
s1.act();
display.showEnv();
if (s1.nextLocation().equals(loc1)) {
s1.changeDirection(Direction.SOUTH);
}
if (s1.nextLocation().equals(loc2)) {
s1.changeDirection(Direction.WEST);
}
if (s1.nextLocation().equals(loc3)) {
s1.changeDirection(Direction.NORTH);
}
if (s1.nextLocation().equals(loc4)) {
s1.changeDirection(Direction.EAST);
}
if (s1.nextLocation().equals(loc5)) {
s1.changeDirection(Direction.SOUTH);
}
if (s1.nextLocation().equals(loc6)) {
s1.changeDirection(Direction.WEST);
}
if (s1.nextLocation().equals(loc7)) {
s1.changeDirection(Direction.NORTH);
}
if (s1.nextLocation().equals(loc8)) {
s1.changeDirection(Direction.EAST);
}
if (s1.nextLocation().equals(loc9)) {
s1.changeDirection(Direction.SOUTH);
}
if (s1.nextLocation().equals(loc10)) {
s1.changeDirection(Direction.WEST);
}
if (s1.nextLocation().equals(loc11)) {
s1.changeDirection(Direction.NORTH);
}
if (s1.nextLocation().equals(loc12)) {
s1.changeDirection(Direction.EAST);
}
if (s1.nextLocation().equals(loc13)) {
s1.changeDirection(Direction.SOUTH);
}
if (s1.nextLocation().equals(loc14)) {
s1.changeDirection(Direction.WEST);
}
if (s1.nextLocation().equals(loc15)) {
s1.changeDirection(Direction.NORTH);
}
if (s1.nextLocation().equals(loc16)) {
s1.changeDirection(Direction.EAST);
}
if (s1.nextLocation().equals(loc17)) {
s1.changeDirection(Direction.SOUTH);
}
if (s1.nextLocation().equals(loc18)) {
s1.changeDirection(Direction.WEST);
}
if (s1.nextLocation().equals(loc19)) {
s1.changeDirection(Direction.NORTH);
}
if (s1.nextLocation().equals(loc20)) {
s1.changeDirection(Direction.EAST);
}
if (s1.location().equals(locend)) {
System.out.println("End!");
}
}
}
}