Schreibweise
| Form | Bedeutung |
|---|---|
GET A$ | Holt die zuletzt gedrückte Taste als Text. |
GET A | Holt eine gedrückte Ziffer als Zahl. |
IF A$="" THEN 10 | Wartet in einer Schleife, bis überhaupt eine Taste kam. |
GET wartet nicht, es schaut nur nach
Anders als INPUT hält GET das Programm nicht an. Es sieht nach, ob gerade eine Taste vorliegt, und läuft sofort weiter. Wurde nichts gedrückt, ist die Variable leer.
Genau deshalb steht GET fast immer in einer Schleife: Sie fragt viele Male pro Sekunde nach, bis etwas kommt. Dieses Muster heisst Warteschleife und steckt in jedem Spiel.
10 PRINT "DRUECK EINE TASTE"
20 GET A$
30 IF A$="" THEN 20
40 PRINT "DU HAST ";A$;" GEDRUECKT"
Zeile 30 schickt das Programm zurück, solange nichts gedrückt wurde.
Auf verschiedene Tasten reagieren
Sobald eine Taste vorliegt, vergleicht man sie mit den erwarteten Zeichen. So entsteht eine Steuerung mit mehreren Möglichkeiten.
10 GET A$
20 IF A$="" THEN 10
30 IF A$="R" THEN POKE 53280,2
40 IF A$="G" THEN POKE 53280,5
50 IF A$="B" THEN POKE 53280,6
60 IF A$="E" THEN END
70 GOTO 10
R, G und B setzen die Rahmenfarbe, E beendet das Programm.
Die Grundschleife jedes Spiels
Eingabe lesen, darauf reagieren, wiederholen: Dieses Muster ist der Kern jedes Spiels, vom einfachen Farbwechsel bis zum Jump-and-Run. In Lektion 23 baust du es als Farb-Disco selbst.
Typische Stolperfallen
Ohne Warteschleife verpasst GET die Taste
Ein einzelnes GET ohne Schleife trifft fast nie den Moment, in dem eine Taste anliegt. Die Prüfung auf den leeren Text und der Sprung zurück gehören dazu.
Gross- und Kleinschreibung
Eingaben werden hier in Grossbuchstaben umgewandelt. Vergleiche deshalb mit "R", nicht mit "r".
GET mit Zahlenvariable
GET A liefert nur bei Zifferntasten einen sinnvollen Wert, sonst 0. Für Buchstaben brauchst du eine Textvariable mit Dollarzeichen.
Passt dazu
Im Kurs lernst du GET in Lektion 23: Abschlussprojekt: Farb-Disco. Die vollständige Referenz aller Befehle steht im Befehls-Lexikon.