package turtlekit.langtonAnts;
import java.awt.Color;
import turtlekit.kernel.Turtle;
import turtlekit.kernel.TurtleKit.Option;
public class RLR_LangtonAnt extends Turtle {
@Override
protected void activate() {
super.activate();
setNextAction("black");
home();
fd(0.5);
setHeading(90);
fd(0.5);
setPatchColor(Color.BLACK);
randomHeading();
setColor(Color.BLACK);
}
public String black(){
setPatchColor(Color.RED);
turnRight(90);
fd(1);
return getColorName();
}
public String red(){
setPatchColor(Color.GREEN);
turnRight(90);
fd(1);
return getColorName();
}
public String green(){
setPatchColor(Color.YELLOW);
turnLeft(90);
fd(1);
return getColorName();
}
public String yellow(){
setPatchColor(Color.RED);
turnLeft(90);
fd(1);
return getColorName();
}
private String getColorName() {
if(getPatchColor() == Color.RED)
return "red";
if(getPatchColor() == Color.GREEN)
return "green";
if(getPatchColor() == Color.YELLOW)
return "yellow";
if(getPatchColor() == Color.WHITE)
return "white";
return "black";
}
public String doIt(){
final Color c = getPatchColor();
if(c == Color.BLACK){
setPatchColor(Color.RED);
turnRight(90);
}
else if (c == Color.RED){
setPatchColor(Color.YELLOW);
turnRight(90);
}
else{
setPatchColor(Color.GREEN);
turnLeft(90);
}
fd(1);
return "doIt";
}
public static void main(String[] args) {
executeThisTurtle(5
,Option.envDimension.toString(),"1000,1000"
,Option.fastRendering.toString()
,Option.startSimu.toString()
);
}
}