Kara läuft abwechslungsweise von links nach rechts und von rechts nach links und "invertiert" dabei jeweils eine Zeile des Bildes. Das Hauptprogramm sieht wie folgt aus:

boolean walkingLeft2Right = true;

while (!( kara.treeFront() && 
          (kara.treeLeft() || kara.treeRight()) )) {
  if (walkingLeft2Right) {
    left2right();
  }
  else {
    right2left();
  }
  walkingLeft2Right = !walkingLeft2Right;
}