Kurs starten

**** GET ****

GET: Tasten abfragen ohne RETURN

GET liest eine einzelne Taste, ohne dass RETURN gedrückt werden muss, und wartet dabei nicht. Das macht es zur Grundlage jeder Steuerung in Echtzeit.

Schreibweise

FormBedeutung
GET A$Holt die zuletzt gedrückte Taste als Text.
GET AHolt eine gedrückte Ziffer als Zahl.
IF A$="" THEN 10Wartet 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.

Auf eine Taste warten 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.

Eine kleine Steuerung 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.

HAEUFIGE FRAGEN

Fragen zu GET

Was ist der Unterschied zwischen GET und INPUT?

INPUT hält das Programm an und wartet auf eine komplette Eingabe mit RETURN. GET liest nur eine einzelne Taste und läuft sofort weiter, auch wenn nichts gedrückt wurde.

Wie frage ich Pfeiltasten oder den Joystick ab?

Auf dem echten C64 über bestimmte Speicherstellen mit PEEK. Dieser Nachbau unterstützt das nicht, hier kommen nur normale Zeichentasten bei GET an.

Gleich selbst ausprobieren

Tippe die Beispiele in den freien Editor und sieh dir an, was passiert.

Freien Editor oeffnen →