Kara und die Blätter...

Das Hauptprogramm führt Kara bis zum nächsten Baum und ruft nach jedem Schritt eine Methode invertLeaf auf. Diese Methode schaut, ob Kara auf einem Kleeblatt steht; wenn ja, wird es aufgenommen, wenn nein, wird eines hingelegt.

def invertLeaf(kara)
  if kara.onLeaf
    kara.removeLeaf
  else
    kara.putLeaf
  end
end

invertLeaf(kara)
while not kara.treeFront
  kara.move
  invertLeaf(kara)
end