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:

walkingLeft2Right = true

while not (kara.treeFront and (kara.treeLeft or kara.treeRight))
  if walkingLeft2Right
    left2right(kara)
  else
    right2left(kara)
  end
  walkingLeft2Right = !walkingLeft2Right
end