Informatik: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
Released by matroid on So. 07. Januar 2018 23:35:32 [Statistics]
Written by Delastelle - 742 x read [Outline] Printable version Printer-friendly version -  Choose language   
Software

\(\begingroup\) David H. Ahl veröffentlichte 1978 seine "Basic Computer Games". 1982 erschienen 2 Bände auch auf Deutsch. Aus diesem Buch habe ich das Programm "Irrgarten" abgetippt. Es läuft in Commodore Basic für einen Plus 4. Außerdem habe ich das Programm in Turbo Pascal/Freepascal umgewandelt. Also wer mal schnell einen Irrgarten benötigt - bitte sehr!

die ursprüngliche Klötzchengrafik des Basic-Programms für einen 19x10 Irrgarten

Teil 1: Basic

Vorgehensweise zum Rechnen:

(1) Start Vice Plus 4 (2) Options // Double size -> d.h. doppelt so großer Bildschirm (3) Autostart Disk "IRR2.P00" // Irr2.p00 findet man in meinem Notizbuch (siehe meine Stäbchen im Matheplanet-Profil Delastelle) // zum Download es sollte im selben Verzeichnis wie Vice stehen (4) DLOAD "IRR2" // DLOAD war mal Laden von Diskette (5) RUN Eingabe 1 < Enter >, z.B. 10 < Enter >, 10 < Enter > (6) Options // Maximum Speed -> No Limit // bringt bei mir Geschwindigkeit von 48x so schnell wie Original "Plus 4" (7) (Rechnung und Anzeige) (8) Options // Maximum Speed -> 100 % // wieder normale "Plus 4"-Geschwindigkeit (für Tastatureingaben gut) (9) < Enter > // verlassen des Grafikbildschirms

Umbelegung der Tastatur unter VICE

Beim Arbeiten mit dem VICE-Emulator sind die Tastatureingaben zum Teil mit anderen Zeichen belegt. (Deutscher Tastaturtreiber) Dies betrifft z.B. die von mir benutzte Version von VICE. PC-Taste -> VICE-Zeichen ö -> : , -> - ß -> + ä -> ; , -> , . -> . # -> = + -> * - -> / ; -> < : -> > Z -> Y Y -> Z

ein paar BASIC-Befehle

Ein paar nützliche Commodore-BASIC-Befehle: DIRECTORY // zeigt Dateien im aktuellen Verzeichnis an DLOAD"NAME" // lädt ein Programm von Festplatte DSAVE"NAME" // speichert ein Programm auf Festplatte GRAPHIC 0, GRAPHIC 1 // ausschalten, einschalten des Grafikbildschirms LIST, LIST 100-200 // zeigt Zeilen eines BASIC-Programms an PRINT, PRINT PI // Bildschirmausgabe REM TEXT // Kommentar RUN // Programmstart SCNCLR // Bildschirm löschen X = 1, PI = 3.14159265 // Zuweisung einer Variable

ein paar Hinweise zum Listing

Das Programm benutzt viele Goto-Anweisungen, es ist ein Beispiel für sogenannten Spaghetticode ( de.wikipedia.org/wiki/Spaghetticode ). Das Programm ist somit nur schwer zu verstehen und zu verbessern. Auch ist es nicht völlig fehlerfrei. Nicht immer gelingt es dem Programm ein fehlerfreies Labyrinth zu generieren. Ursprünglich wurde der Irrgarten mit Klötzchengrafik erzeugt (siehe erstes Bild oben). Ich habe die Strich-Grafik hinzugefügt (restliche Bilder).
ein 30x30 Irrgarten \sourceon Basic 10 PRINT"IRRGARTEN" 80 INPUT"GRAPHISCH (0-NEIN, 1-JA)";G 100 PRINT"WELCHE BREITE UND LAENGE" 102 PRINT"GUT: 19x10 MAX: 66x66" 105 INPUT H,V 110 DIM W(H,V),V(H,V) 160 Q=0:Y=0:X=INT(RND(1)*H+1) 165 FOR I=X THEN 173 171 PRINT".-";:GOTO 180 173 PRINT". "; 180 NEXT I 190 PRINT"." 195 C=1:W(X,1)=C:C=C+1 200 R=X:S=1:GOTO 260 210 IF R<>H THEN 240 215 IF S<>V THEN 230 220 R=1:S=1:GOTO 250 230 R=1:S=S+1:GOTO 250 240 R=R+1 250 IF W(R,S)=0 THEN 210 260 IF R-1=0 THEN 530 265 IF W(R-1,S)<>0 THEN 530 270 IF S-1=0 THEN 390 280 IF W(R,S-1)<>0 THEN 390 290 IF R=H THEN 330 300 IF W(R+1,S)<>0 THEN 330 310 X=INT(RND(1)*3+1) 320 ON X GOTO 790,820,860 330 IF S<>V THEN 340 334 IF Y=1 THEN 370 338 Q=1:GOTO 350 340 IF W(R,S+1)<>0 THEN 370 350 X=INT(RND(1)*3+1) 360 ON X GOTO 790,820,910 370 X=INT(RND(1)*2+1) 380 ON X GOTO 790,820 390 IF R=H THEN 470 400 IF W(R+1,S)<>0 THEN 470 405 IF S<>V THEN 420 410 IF Z=1 THEN 450 415 Q=1:GOTO 430 420 IF W(R,S+1)<>0 THEN 450 430 X=INT(RND(1)*3+1) 440 ON X GOTO 790,860,910 450 X=INT(RND(1)*2+1) 460 ON X GOTO 790,860 470 IF S<>V THEN 490 480 IF Z=1 THEN 520 485 Q=1:GOTO 500 490 IF W(R,S+1)<>0 THEN 520 500 X=INT(RND(1)*2+1) 510 ON X GOTO 790,910 520 GOTO 790 530 IF S-1=0 THEN 670 540 IF W(R,S-1)<>0 THEN 670 545 IF R=H THEN 610 547 IF W(R+1,S)<>0 THEN 610 550 IF S<>V THEN 560 552 IF Z=1 THEN 590 554 Q=1:GOTO 570 560 IF W(R,S+1)<>0 THEN 590 570 X=INT(RND(1)*3+1) 580 ON X GOTO 820,860,910 590 X=INT(RND(1)*2+1) 600 ON X GOTO 820,860 610 IF S<>V THEN 630 620 IF Z=1 THEN 660 625 Q=1:GOTO 640 630 IF W(R,S+1)<>0 THEN 660 640 X=INT(RND(1)*2+1) 650 ON X GOTO 820,910 660 GOTO 820 670 IF R=H THEN 740 680 IF W(R+1,S)<>0 THEN 740 685 IF S<>V THEN 700 690 IF Z=1 THEN 730 695 Q=1:GOTO 830 700 IF W(R,S+1)<>0 THEN 730 710 X=INT(RND(1)*2+1) 720 ON X GOTO 860,910 730 GOTO 860 740 IF S<>V THEN 760 750 IF Z=1 THEN 780 755 Q=1:GOTO 770 760 IF W(R,S+1)<>0 THEN 780 770 GOTO 910 780 GOTO 1000 800 C=C+1:V(R-1,S)=2:R=R-1 810 IF C=H*V+1 THEN 1010 815 Q=0:GOTO 260 820 W(R,S-1)=C 830 C=C+1 840 V(R,S-1)=1:S=S-1:IF C=H*V+1 THEN 1010 850 Q=0:GOTO 260 860 W(R+1,S)=C 870 C=C+1:IF V(R,S)=0 THEN 880 875 V(R,S)=3:GOTO 890 880 V(R,S)=2 890 R=R+1 900 IF C=H*V+1 THEN 1010 905 GOTO 530 910 IF Q=1 THEN 960 920 W(R,S+1)=C:C=C+1:IF V(R,S)=0 THEN 940 930 V(R,S)=3:GOTO 950 940 V(R,S)=1 950 S=S+1:IF C=H*V+1 THEN 1010 955 GOTO 260 960 Z=1 970 IF V(R,S)=0 THEN 980 975 V(R,S)=3:Q=0:GOTO 1000 980 V(R,S)=1:Q=0:R=1:S=1:GOTO 250 1000 GOTO 210 1010 FOR J=1 TO V 1011 PRINT"I"; 1012 FOR I=1 TO H 1013 IF V(I,J)<2 THEN 1030 1020 PRINT" "; 1021 GOTO 1040 1030 PRINT" I"; 1040 NEXT I 1041 PRINT 1043 FOR I=1 TO H 1045 IF V(I,J)=0 THEN 1060 1050 IF V(I,J)=2 THEN 1060 1051 PRINT": "; 1052 GOTO 1070 1060 PRINT":-"; 1070 NEXT I 1071 PRINT"." 1072 NEXT J 1073 REM END 2000 IF G=0 THEN 2300 2010 GRAPHIC 1:REM GRAPHICBILDSCHIRM EINSCHALTEN 2020 SCNCLR:REM GRAPHICBILDSCHIRM LOESCHEN 2030 X=INT(300/H) 2040 Y=INT(180/V) 2050 FOR I=1 TO H 2060 IF W(I,1)=1 THEN 2080 2070 DRAW ,10+X*(I-1),10 TO 10+X*I,10 2080 NEXT I 2100 FOR J=1 TO V 2110 DRAW ,10,10+Y*(J-1) TO 10,10+Y*J 2120 FOR I=1 TO H 2130 IF V(I,J)=2 OR V(I,J)=3 THEN 2160 2140 REM RECHTE WAND 2150 DRAW ,10+X*I,10+Y*(J-1) TO 10+X*I,10+Y*J 2160 IF V(I,J)=1 OR V(I,J)=3 THEN 2190 2170 REM UNTERE WAND 2180 DRAW ,10+X*(I-1),10+Y*J TO 10+X*I,10+Y*J 2190 NEXT I 2200 NEXT J 2210 INPUT I 2220 GRAPHIC 0:REM GRAPHICBILDSCHIRM AUSSCHALTEN 2300 END \sourceoff
ein 60x60 Irrgarten

Teil 2: Free Pascal

Ich habe das Commodore-Basic-Programm in ein Free-Pascal-Programm umgewandelt. Erhalten geblieben sind die unschönen Goto-Anweisungen, in Pascal mittels der label-Anweisung umgesetzt. Das Programm ist unter Free Pascal viel schneller als in Basic.
das Basic-Programm erzeugt einen 90x90 Irrgarten \sourceon Pascal program irrgraph; uses Crt,Graph; label 173,180,190,210,230,240,250,260,330,340; label 350,370,390,420,430,450,470,490,500,520; label 530,560,570,590,610,630,640,660,670,700; label 730,740,760,770,780,790,820,830,860,880; label 890,910,940,950,960,980,1000,1010,1030,1040; label 1060,1070,2000,2080,2160,2190,2300; const OG = 500; OG2 = 1000; OG3 = 750; var W,V : array[1..OG,1..OG] of Longint; C,G,H,I,J,Q,R,S,VV,X,Y,Z : Longint; XX,YY : real; mode,treiber : integer; ss : String; begin randomize; writeln('IRRGARTEN'); write('GRAPHISCH (0-NEIN, 1-JA)'); readln(G); writeln('WELCHE BREITE UND LAENGE'); write('GUT: 19x10 MAX: 66x66'); readln(H,VV); { DIM W(H,V),V(H,V) } Q:=0; Y:=0; X:=random(H)+1; IF G=1 THEN GOTO 190; FOR I:=1 TO H DO begin IF I=X THEN GOTO 173; write('.-'); GOTO 180; 173: write('. '); 180: { } end; { NEXT I } writeln('.'); 190: C:=1; W[X][1]:=C; C:=C+1; R:=X; S:=1; GOTO 260; 210: IF R<>H THEN GOTO 240; IF S<>VV THEN GOTO 230; R:=1; S:=1; GOTO 250; 230: R:=1; S:=S+1; GOTO 250; 240: R:=R+1; 250: IF W[R][S]=0 THEN GOTO 210; 260: IF R-1=0 THEN GOTO 530; IF W[R-1][S]<>0 THEN GOTO 530; IF S-1=0 THEN GOTO 390; IF W[R][S-1]<>0 THEN GOTO 390; IF R=H THEN GOTO 330; IF W[R+1][S]<>0 THEN GOTO 330; X:=random(3)+1; { ON X GOTO 790,820,860 } IF X=1 THEN GOTO 790; IF X=2 THEN GOTO 820; IF X=3 THEN GOTO 860; 330: IF S<>VV THEN GOTO 340; IF Y=1 THEN GOTO 370; Q:=1; GOTO 350; 340: IF W[R][S+1]<>0 THEN GOTO 370; 350: X:=random(3)+1; { ON X GOTO 790,820,910 } IF X=1 THEN GOTO 790; IF X=2 THEN GOTO 820; IF X=3 THEN GOTO 910; 370: X:=random(2)+1; { ON X GOTO 790,820 } IF X=1 THEN GOTO 790; IF X=2 THEN GOTO 820; 390: IF R=H THEN GOTO 470; IF W[R+1][S]<>0 THEN GOTO 470; IF S<>VV THEN GOTO 420; IF Z=1 THEN GOTO 450; Q:=1; GOTO 430; 420: IF W[R][S+1]<>0 THEN GOTO 450; 430: X:=random(3)+1; { ON X GOTO 790,860,910 } IF X=1 THEN GOTO 790; IF X=2 THEN GOTO 860; IF X=3 THEN GOTO 910; 450: X:=random(2)+1; { ON X GOTO 790,860 } IF X=1 THEN GOTO 790; IF X=2 THEN GOTO 860; 470: IF S<>VV THEN GOTO 490; IF Z=1 THEN GOTO 520; Q:=1; GOTO 500; 490: IF W[R][S+1]<>0 THEN GOTO 520; 500: X:=random(2)+1; { ON X GOTO 790,910 } IF X=1 THEN GOTO 790; IF X=2 THEN GOTO 910; 520: GOTO 790; 530: IF S-1=0 THEN GOTO 670; IF W[R][S-1]<>0 THEN GOTO 670; IF R=H THEN GOTO 610; IF W[R+1][S]<>0 THEN GOTO 610; IF S<>VV THEN GOTO 560; IF Z=1 THEN GOTO 590; Q:=1; GOTO 570; 560: IF W[R][S+1]<>0 THEN GOTO 590; 570: X:=random(3)+1; { ON X GOTO 820,860,910 } IF X=1 THEN GOTO 820; IF X=2 THEN GOTO 860; IF X=3 THEN GOTO 910; 590: X:=random(2)+1; { ON X GOTO 820,860 } IF X=1 THEN GOTO 820; IF X=2 THEN GOTO 860; 610: IF S<>VV THEN GOTO 630; IF Z=1 THEN GOTO 660; Q:=1; GOTO 640; 630: IF W[R][S+1]<>0 THEN GOTO 660; 640: X:=random(2)+1; { ON X GOTO 820,910 } IF X=1 THEN GOTO 820; IF X=2 THEN GOTO 910; 660: GOTO 820; 670: IF R=H THEN GOTO 740; IF W[R+1][S]<>0 THEN GOTO 740; IF S<>VV THEN GOTO 700; IF Z=1 THEN GOTO 730; Q:=1; GOTO 830; 700: IF W[R][S+1]<>0 THEN GOTO 730; X:=random(2)+1; { ON X GOTO 860,910 } IF X=1 THEN GOTO 860; IF X=2 THEN GOTO 910; 730: GOTO 860; 740: IF S<>VV THEN GOTO 760; IF Z=1 THEN GOTO 780; Q:=1; GOTO 770; 760: IF W[R][S+1]<>0 THEN GOTO 780; 770: GOTO 910; 780: GOTO 1000; 790: W[R-1][S]:=C; C:=C+1; V[R-1][S]:=2; R:=R-1; IF C=H*VV+1 THEN GOTO 1010; Q:=0; GOTO 260; 820: W[R][S-1]:=C; 830: C:=C+1; V[R][S-1]:=1; S:=S-1; IF C=H*VV+1 THEN GOTO 1010; Q:=0; GOTO 260; 860: W[R+1][S]:=C; C:=C+1; IF V[R][S]=0 THEN GOTO 880; V[R][S]:=3; GOTO 890; 880: V[R][S]:=2; 890: R:=R+1; IF C=H*VV+1 THEN GOTO 1010; GOTO 530; 910: IF Q=1 THEN GOTO 960; W[R][S+1]:=C; C:=C+1; IF V[R][S]=0 THEN GOTO 940; V[R][S]:=3; GOTO 950; 940: V[R][S]:=1; 950: S:=S+1; IF C=H*VV+1 THEN GOTO 1010; GOTO 260; 960: Z:=1; IF V[R][S]=0 THEN GOTO 980; V[R][S]:=3; Q:=0; GOTO 1000; 980: V[R][S]:=1; Q:=0; R:=1; S:=1; GOTO 250; 1000: GOTO 210; 1010: IF G=1 THEN GOTO 2000; FOR J:=1 TO VV DO begin write('I'); FOR I:=1 TO H DO begin IF V[I][J]<2 THEN GOTO 1030; write(' '); GOTO 1040; 1030: write(' I'); 1040: { } end; { NEXT I } writeln; FOR I:=1 TO H DO begin IF V[I][J]=0 THEN GOTO 1060; IF V[I][J]=2 THEN GOTO 1060; write(': '); GOTO 1070; 1060: write(':-'); 1070: { } end; { NEXT I } writeln('.'); end; { NEXT J } { REM END } IF G=0 THEN GOTO 2300; { GRAPHIC 1; } { SCNCLR; } 2000: treiber := detect; initgraph(treiber,mode,''); XX:=1.0*OG2/H; YY:=1.0*OG3/VV; FOR I:=1 TO H DO begin IF W[I][1]=1 THEN GOTO 2080; Line(10+round(XX*(I-1)),10,10+round(XX*I),10); 2080: { } end; { NEXT I } FOR J:=1 TO VV DO begin Line(10,10+round(YY*(J-1)),10,10+round(YY*J)); FOR I:=1 TO H DO begin IF (V[I][J]=2) OR (V[I][J]=3) THEN GOTO 2160; { REM RECHTE WAND } Line (10+round(XX*I),10+round(YY*(J-1)),10+round(XX*I),10+round(YY*J)); 2160: IF (V[I][J]=1) OR (V[I][J]=3) THEN GOTO 2190; { REM UNTERE WAND } Line(10+round(XX*(I-1)),10+round(YY*J),10+round(XX*I),10+round(YY*J)); 2190: { } end; { NEXT I } end; { NEXT J } SS:=''; readln( SS); { GRAPHIC 0 } closegraph; 2300: { END } readln(SS); end. \sourceoff
ein 120x120 Irrgarten erzeugt mit dem Free Pascal Programm

Abschluß

Das Basic Programm "IRR2.P00" und das Freepascalprogramm "IRRGRAPH2.PAS" stehen in meinem Notizbuch zum Download bereit. Dazu auf das Notizbuch-Stäbchen in meinem Profil "Delastelle" klicken und dann auf den Klammeraffen. Viel Spaß! Viele Grüße Ronald

\(\endgroup\)
Get link to this article Get link to this article  Printable version Printer-friendly version -  Choose language     Kommentare zeigen Comments  
pdfFür diesen Artikel gibt es keine pdf-Datei


Arbeitsgruppe Alexandria Dieser Artikel ist im Verzeichnis der Arbeitsgruppe Alexandria eingetragen:
: Spiel und Spaß :: Software :: automatisch eingefügt und unbearbeitet :
Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal [von Delastelle  
David H. Ahl veröffentlichte 1978 seine "Basic Computer Games". 1982 erschienen 2 Bände auch auf Deutsch. Aus diesem Buch habe ich das Programm "Irrgarten" abgetippt. Es läuft in Commodore Basic für einen Plus 4. Außerdem habe ich das Programm in Turbo Pascal/Freepascal umgewandelt. Also wer m
[Die Arbeitsgruppe Alexandria katalogisiert die Artikel auf dem Matheplaneten]

 
 
Aufrufzähler 742
 
Aufrufstatistik des Artikels
Insgesamt 83 externe Seitenaufrufe zwischen 2020.05 und 2021.12 [Anzeigen]
DomainAnzahlProz
https://matheplanet.com3339.8%39.8 %
https://www.startpage.com33.6%3.6 %
https://google.ch11.2%1.2 %
https://google.de3238.6%38.6 %
https://google.com1416.9%16.9 %

Aufrufer der letzten 5 Tage im Einzelnen
Insgesamt 32 Aufrufe in den letzten 5 Tagen. [Anzeigen]
DatumAufrufer-URL
2021.11.26-2021.12.04 (4x)fav.php?keyword=Software&agid=1�=view
2021.11.22-2021.12.04 (12x)fav.php?agid=1®=view&keyword=Software&oo=1
2021.11.26-2021.12.03 (3x)fav.php?agid=1�=view&keyword=Software&oo=1
2021.11.26-2021.12.03 (3x)fav.php?agid=1�=view&keyword=Software&oo=3
2021.11.29-2021.12.03 (2x)fav.php?agid=1�=view&keyword=Software&oo=4
2021.11.26-2021.12.03 (3x)fav.php?agid=1�=view&keyword=Software&oo=5
2021.11.26-2021.12.03 (3x)fav.php?agid=1�=view&keyword=Software&oo=6
2021.11.29-2021.12.03 (2x)fav.php?agid=1&keyword=Software&keyword2=automatisch eingefügt und unbearbei...

Häufige Aufrufer in früheren Monaten
Insgesamt 43 häufige Aufrufer [Anzeigen]
DatumAufrufer-URL
2020-2021 (29x)https://google.de/
2020-2021 (14x)https://google.com/

[Top of page]

"Informatik: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal" | 7 Comments
The authors of the comments are responsible for the content.

Re: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
von: Ex_Mitglied_477 am: Mo. 08. Januar 2018 00:23:27
\(\begingroup\)Oje, ich kriege Angst. Könntest Du noch den Notizbucheintrag mit Programm verlinken?\(\endgroup\)
 

Re: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
von: PhysikRabe am: Mo. 08. Januar 2018 09:25:01
\(\begingroup\)Sehr schön, Ronald, gefällt mir gut! Ich bin gerade dabei meine alten Computer zu durchforsten. Vielleicht speise ich das Basic-Programm mal mittels SD2IEC in meinen C64 ein und spiele ein bisschen damit herum. Gibt es eigentlich eine Möglichkeit, den (bzw. zumindest einen, falls es mehrere gibt) Weg durch den Irrgarten zu markieren? Gerade bei deinem Beispiel mit Free Pascal ist der Irrgarten so groß und verworren, dass es wohl lange dauern würde, nur durch Hinsehen einen Weg zu finden. 😉\(\endgroup\)
 

Re: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
von: Stefan_K am: Mo. 08. Januar 2018 15:37:16
\(\begingroup\)Labyrinth erstellen in LaTeX mit TikZ und integriertem Lua, von Mark Wibrow, Ausgabe in Form eine farbigen Weihnachts-Baumes (etwas herunterscrollen für den Code): http://tex.co/a/149576/213 (Leicht krakelige Linien sind Absicht, damit es nicht so starr aussieht.) Weihnachtsbaum-Labyrinth\(\endgroup\)
 

Re: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
von: Slash am: Mo. 08. Januar 2018 16:53:17
\(\begingroup\)Der Weihnachtsbaum ist ja wirklich spitze! Das Motiv für meine diesjährigen Weihnachtskarten. 😄 Ich hatte zwar keinen C64 (zu teuer), aber einen SHARP MZ-800 mit 4-Farb-Plotter. Ein damit erstelltes Apfelmännchen habe ich noch. Das BASIC Programm dazu hatte aber mein älterer Bruder geschrieben. Ich konnte da noch nicht mit komplexen Zahlen umgehen. Ein eigenes Programm hatte ich dann mal später mit Delphi5 geschrieben.\(\endgroup\)
 

Re: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
von: Delastelle am: Mo. 08. Januar 2018 20:48:55
\(\begingroup\)Hallo, schön, wenn die Programme Anklang finden. Für didaktische Zwecke sind sie aber eher nicht geeignet - dafür ist der Code zu unübersichtlich. mein Notizbuch ist hier: http://www.matheplanet.com/matheplanet/nuke/html/fav.php?uname=Delastelle @PhysikRabe der klassische Weg einen Pfad durch einen Irrgarten zu finden ist die kurzsichtige Maus. Dabei läuft man an jeder Gabelung erst recht, dann gerade und dann links. Falls es nicht weiter geht, geht man bis zur letzten Gabelung zurück. So kann man den Pfad hindurch finden. Viele Grüße Ronald\(\endgroup\)
 

Re: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
von: PhysikRabe am: Mo. 08. Januar 2018 21:36:34
\(\begingroup\)@Ronald: Ja, diesen Weg kenne ich, aber das war nicht meine Frage. 😉\(\endgroup\)
 

Re: Ein 40 Jahre altes Irrgarten-Programm in Commodore Basic und Free Pascal
von: Bernhard am: Mo. 08. Januar 2018 23:39:13
\(\begingroup\)Hallo! der klassische Weg einen Pfad durch einen Irrgarten zu finden ist die kurzsichtige Maus. Dabei läuft man an jeder Gabelung erst recht, dann gerade und dann links. Falls es nicht weiter geht, geht man bis zur letzten Gabelung zurück. So kann man den Pfad hindurch finden. Ich kenne das in einer etwas anderen und - wie ich finde - einfacheren Beschreibung: Immer mit der rechten Hand an der Mauer/Zaun/Hecke entlang weitergehen. Viele Grüße, Bernhard\(\endgroup\)
 

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]