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 >
Pascal/Delphi Source File  |  2023-02-26  |  2KB  |  1 lines

  1. 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.¢¢¢  ¢