Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
elektronik:z8671:handbuch [2022/05/06 08:37] – [Direkte Zeichen-Ein-Ausgabe] volkerp | elektronik: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 "", | * 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 | ||
+ | : | ||
</ | </ | ||