home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compy Shop Magazin 1989 May
/
Compy_Shop_Magazin_1989_05___de_Side_B.atr
/
hanoi.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
2023-02-26
|
2KB
|
1 lines
PROGRAM Tuerme_von_hanoi;¢¢VAR index,index_2, anzahl,schrittzahl:INTEGER;¢ haufenhoehe:ARRAY[1..3] OF INTEGER;¢¢¢#i D8:POSITION.I¢¢¢ PROCEDURE turm_verschieben (scheibenzahl,platz_1, platz_2,platz_3:INTEGER);¢¢ VAR index:INTEGER;¢¢¢ PROCEDURE scheibe (n,von,nach:INTEGER);¢¢ VAR index:INTEGER;¢¢ BEGIN¢ haufenhoehe[von]:=haufenhoehe[von]-1;¢ FOR index:=20*von-n+1 TO 20*von+n-1 DO¢ BEGIN¢ POSITION(index,15-haufenhoehe[von]);¢ WRITE(' ')¢ END;¢ FOR index:=20*nach-n+1 TO 20*nach+n-1 DO¢ BEGIN¢ POSITION(index,15-haufenhoehe[nach]);¢ WRITE('*')¢ END;¢ haufenhoehe[nach]:=haufenhoehe[nach]+1¢ END;¢ ¢¢ BEGIN¢ IF scheibenzahl>0 THEN¢ BEGIN¢ turm_verschieben(scheibenzahl-1,platz_1,platz_3,platz_2);¢ scheibe(scheibenzahl,platz_1,platz_2);¢ schrittzahl:=schrittzahl+1;¢ POSITION(1,1);¢ WRITE('anzahl der Schritte : ',schrittzahl);¢ turm_verschieben(scheibenzahl-1,platz_3,platz_2,platz_1)¢ END¢ END;¢¢¢BEGIN¢ WRITELN(CHR(125));¢ WRITE('Gib die Anzahl der Scheiben ein(1-10) :');¢ READLN(anzahl);¢ WRITELN(CHR(125));¢ haufenhoehe[1]:=anzahl;¢ haufenhoehe[2]:=0;¢ haufenhoehe[3]:=0;¢ schrittzahl:=0;¢ FOR index:=1 TO 3 DO¢ BEGIN¢ POSITION(20*index-3,18);¢ WRITE('platz ',index)¢ END;¢ FOR index:=1 TO anzahl DO¢ BEGIN¢ FOR index_2:=20-index+1 TO 20+index-1 DO¢ BEGIN¢ POSITION(index_2,15-haufenhoehe[1]+index);¢ WRITE('*')¢ END¢ END;¢ turm_verschieben(anzahl,1,2,3)¢END.¢¢¢ ¢