Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
elektronik:z8671:handbuch [2022/05/06 08:37] – [Direkte Zeichen-Ein-Ausgabe] volkerpelektronik:z8671:handbuch [2024/02/14 11:13] (aktuell) – [Mastermind] volkerp
Zeile 903: Zeile 903:
 Erläuterungen Erläuterungen
   * Zeile 20 initialisiert den Zähler T2 für Zufallszahlen   * Zeile 20 initialisiert den Zähler T2 für Zufallszahlen
-  * Zeile 30 erzeugt 4 Zufasllzahlen. Dazu ist 4x eine beliebige Taste zu drücken (USR(84) = char input)+  * Zeile 30 erzeugt 4 Zufallszahlen. Dazu ist 4x eine beliebige Taste zu drücken (USR(84) = char input)
   * ^10+2 = YY22 Pointer auf Variable A   * ^10+2 = YY22 Pointer auf Variable A
   * THEN, LET, PRINT vor "", GOTO vor Zahl nach IF, Leerzeichen können entfallen,\\ Für Tempo und Lesbarkeit sollten sie stehen.   * THEN, LET, PRINT vor "", GOTO vor Zahl nach IF, Leerzeichen können entfallen,\\ Für Tempo und Lesbarkeit sollten sie stehen.
Zeile 910: Zeile 910:
 <code> <code>
 10 REM MASTERMIND 10 REM MASTERMIND
-20 @243=7:@242=10:@241=14 +20 @243=7:@242=10:@241=14 Init Timer 
-40 X=USR(84):A=@242-1:X=USR(84):B=@242-1:X=USR(84):C=@242-1:X=USR(84):D=@242-1 +40 X=USR(84):A=@242-1:X=USR(84):B=@242-1: jeweils Warten auf Tastendruck, A..D=Zufallszahl 0..9 
-50 "":I=0 +   X=USR(84):C=@242-1:X=USR(84):D=@242-1 
-100 "GUESS ",:IN E,F,G,H+50 "":I=0 I=Anzahl Versuche 
 +100 "GUESS ",:IN E,F,G,H Eingabe 4 Werte (kommagetrennt)
 110 I=I+1 110 I=I+1
-300 J=^10+2:K=J+8 +300 J=^10+2:K=J+8 J zeigt auf A, K zeigt auf E 
-301 L=0 +301 L=0 L Zähler 1..4 
-302 R=0:P=0 +302 R=0:P=0 R Zähler richtige Zahl, P Zähler richtiger Platz 
-310 IF ^J=^K LET P=P+1 +310 IF ^J=^K LET P=P+1 Test auf gleiche Zahl, gleicher Platz 
-320 J=J+2:K=K+2:L=L+1:IF 4>L GOTO 310 +320 J=J+2:K=K+2:L=L+1:IF 4>L GOTO 310 nächste Plätze (J zeigt auf B , K auf F etc.), next L 
-330 J=^10+2:K=J+8 +330 J=^10+2:K=J+8 J zeigt auf A, K zeigt auf E 
-331 L=0 +331 L=0 L Zähler 1..4 
-340 IF ^J=^K LET R=R+1:^J=^J+10:L=3 +340 IF ^J=^K LET R=R+1:^J=^J+10:L=3 Wenn A=E, dann Zähler richtige Zahl +1, A=A+10 setzen (ausblenden),L auf Ende 
-341 J=J+2 +341 J=J+2 nächste Plätze 
-350 L=L+1: IF 4>L GOTO 340 +350 L=L+1: IF 4>L GOTO 340 next L 
-351 J=^10+2 +351 J=^10+2 J zeigt auf A 
-352 L=0 +352 L=0 L Zähler 
-360 K=K+2:IF ^10+17>K GOTO 340 +360 K=K+2:IF ^10+17>K GOTO 340 nächster Platz K auf F etc., next 
-363 J=^10+2:K=J+8 +363 J=^10+2:K=J+8 J zeigt auf A, K zeigt auf E 
-366 IF ^J>9 LET ^J=^J-10 +366 IF ^J>9 LET ^J=^J-10 ggf. wieder 10 abziehen 
-367 J=J+2 +367 J=J+2 nächster Platz 
-368 IF ^10+9>J GOTO 366 +368 IF ^10+9>J GOTO 366 Ende nach D 
-369 Y=1:N=0 +369 Y=1:N=0 Yes/No-Abfrage init. 
-370 "RIGHT ";R;" PLACE ";P +370 "RIGHT ";R;" PLACE ";P Anzeige Auswertung 
-380 IF 4>P GOTO 100 +380 IF 4>P GOTO 100 wenn weniger als 4 am richtigen Platz, weiter raten 
-390 X=0:Y=1 +390 X=0:Y=1 Yes/No-Abfrage vorbereiten 
-400 "RIGHT IN ";I;" GUESSES;";"PLAY ANOTHER Y/N":INPUT X +400 "RIGHT IN ";I;" GUESSES;";"PLAY ANOTHER Y/N": Anzeige Anzahl Versuche 
-410 IF X=Y GOTO 10+    INPUT X Eingabe Variablenname Y oder N  
 +410 IF X=Y GOTO 10 Wenn Eingabe == 1 (Wert von Y), dann neues Spiel 
 + 
 +:RUN 
 +1111 Zufallszahlen init 
 +GUESS   ? 1,2,3,4 
 +RIGHT 2 PLACE 0 
 +... 
 +GUESS   ? 3,7,1,0 
 +RIGHT 4 PLACE 4 
 +RIGHT IN 15 GUESSES;PLAY ANOTHER Y/N 
 +? N 
 +:
 </code> </code>
  
  • elektronik/z8671/handbuch.txt
  • Zuletzt geändert: 2024/02/14 11:13
  • von volkerp