Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
elektronik:z8671:handbuch [2021/12/10 07:18] – Textkorrekturen volkerp | elektronik:z8671:handbuch [2024/02/14 11:13] (aktuell) – [Mastermind] volkerp | ||
---|---|---|---|
Zeile 477: | Zeile 477: | ||
100 PRINT "BITTE JA ODER NEIN EINGEBEN" | 100 PRINT "BITTE JA ODER NEIN EINGEBEN" | ||
110 LET N=J-1 | 110 LET N=J-1 | ||
- | 120 DRUCK " | + | 120 PRINT " |
130 INPUT N | 130 INPUT N | ||
140 IF N=J THEN PRINT " | 140 IF N=J THEN PRINT " | ||
Zeile 882: | Zeile 882: | ||
USR- oder GO@-Anweisung Binärdaten lesen und schreiben. | USR- oder GO@-Anweisung Binärdaten lesen und schreiben. | ||
- | input %8053 (ES1988, | + | input orig Z8671 %54 |
- | output %8058 (ES1988, | + | output orig Z8671 %61 |
Das folgende Beispielprogramm druckt das Hex-Äquivalent | Das folgende Beispielprogramm druckt das Hex-Äquivalent | ||
Zeile 889: | Zeile 889: | ||
10 PRINT "INPUT A CHARACTER, PLEASE"; | 10 PRINT "INPUT A CHARACTER, PLEASE"; | ||
- | 20 C = USER (%8053) | + | 20 C = USER (%54) |
30 PRINT" THE HEX VALUE OF "; | 30 PRINT" THE HEX VALUE OF "; | ||
- | 40 GO@ %8058, C | + | 40 GO@ %61, C |
50 PRINT" IS "; HEX (C);". SHALL WE DO ANOTHER?"; | 50 PRINT" IS "; HEX (C);". SHALL WE DO ANOTHER?"; | ||
- | 60 Q = USER (%8053) | + | 60 Q = USER (%54) |
70 PRINT : IF Q = %59 GOTO 10 | 70 PRINT : IF Q = %59 GOTO 10 | ||
80 REM %59 IS AN ASCII " | 80 REM %59 IS AN ASCII " | ||
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 "", | * THEN, LET, PRINT vor "", | ||
Zeile 910: | Zeile 910: | ||
< | < | ||
10 REM MASTERMIND | 10 REM MASTERMIND | ||
- | 20 @243=7: | + | 20 @243=7: |
- | 40 X=USR(84): | + | 40 X=USR(84): |
- | 50 "": | + | X=USR(84): |
- | 100 "GUESS ",:IN E,F,G,H | + | 50 "": |
+ | 100 "GUESS ",:IN E,F,G,H Eingabe 4 Werte (kommagetrennt) | ||
110 I=I+1 | 110 I=I+1 | ||
- | 300 J=^10+2: | + | 300 J=^10+2: |
- | 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: | + | 320 J=J+2: |
- | 330 J=^10+2: | + | 330 J=^10+2: |
- | 331 L=0 | + | 331 L=0 L Zähler 1..4 |
- | 340 IF ^J=^K LET R=R+1: | + | 340 IF ^J=^K LET R=R+1: |
- | 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: | + | 363 J=^10+2: |
- | 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/ |
- | 370 "RIGHT "; | + | 370 "RIGHT "; |
- | 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/ |
- | 400 "RIGHT IN "; | + | 400 "RIGHT IN "; |
- | 410 IF X=Y GOTO 10 | + | |
+ | 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; | ||
+ | ? N | ||
+ | : | ||
</ | </ | ||