207c
<< <> >>
 : VORBEREITUNG ( - )
   0                           \ Fuer laengsten Weg
   #MOTOREN 0                  \ Pro Motor:
   DO I DORT @ I HIER @
      2DUP <
      DUP 2* 1+ I SCHRITT !    \ 1 oder -1, Richtung
      IF SWAP THEN -
      DUP I VERBRAUCH !        \ Abstand
      MAX                      \ Groesster Abstand?
   LOOP DUP TO #ETAPPEN
   2/ #MOTOREN 0
   DO DUP I TANK !             \ Tanks halb voll
   LOOP DROP ;

 \ Fuer die Bildschirmversion, ohne die Hardware
 : >MOTOR ( neue-stellung motor# - ) 2DROP ;

 \ Um die Motorstellungen auf den Bildschirm zu bringen
 : .HIER ( - ) CR #MOTOREN 0
   DO I HIER @ 4 .R LOOP SPACE ;

 : ETAPPE ( - ) #MOTOREN 0
   DO I TANK @ I VERBRAUCH @
      2DUP <                   \ Kraftstoff zu knapp?
      IF #ETAPPEN -            \ Dann auftanken
         I SCHRITT @ I HIER +! \ Neuer Motorstand
         I HIER @ I >MOTOR     \ P-L-O-P
      THEN - I TANK !
   LOOP ;

 : BEWEGE ( - ) \ Das Ziel muss schon festgelegt sein.
   VORBEREITUNG
   #ETAPPEN 0
   ?DO .HIER ETAPPE
      KEY? IF KEY DROP LEAVE THEN
      WARTE MS
   LOOP .HIER ;

 : GEHE ( zielpositionen - ) ZIEL BEWEGE ;

 \ Beispiel: 10 20 13 7 30 GEHE
>>