Die Lösung implementiert den Algorithmus von Buneman und Levy wie folgt:

  1. Im Zustand "odd" wird die kleinste Scheibe im Uhrzeigersinn auf den nächsten Turm verschoben und in den Zustand "even 0" gewechselt.
  2. Im Zustand "even 0" wird das untere Ende des aktuellen Turms gesucht. Wird das Ende gefunden (ein freies Feld), wird in den Zustand "even 1" gewechselt. Ansonsten terminiert das Programm.
  3. Befindet sich TuringKara im Zustand "even 1" auf einer 0, so muss diese um einen Turm (zyklisch) im Uhrzeigersinn nach rechts verschoben werden. Anschliessend wird in den Zustand "climb" gewechselt. Befindet sich TuringKara auf einem leeren Feld, wird in den Zustand "even 2" gewechselt.
  4. Befindet sich TuringKara im Zustand "even 2" auf einer 0, so muss diese um zwei Türme (zyklisch) im Uhrzeigersinn nach rechts verschoben werden. Anschliessend wird in den Zustand "climb" gewechselt.
  5. Im Zustand "climb" sucht TuringKara die oberste Zeile der Türme und wechselt in den Zustand "odd". Das Spiel geht weiter...