2017-06-04 3 views
0

Ich arbeite an einem Programm, das verschiedene Programme für jeden einzelnen Schlüssel in QuickBasic 4.5 (für ein Spiel) öffnet. Leider mehr als einen INKEY $ -Befehl Schleife führt dazu, dass es meist nicht registriert die Zeit.Akzeptieren von Schlüsseln ohne Schleife in QuickBasic

Gibt es eine Bibliothek/Methode, um dies zu umgehen?

Hier ist, was ich legte in:

DO  
IF INKEY$ = "n" GOTO 2000 
IF INKEY$ = "y" GOTO 3000 
IF INKEY$ = "e" GOTO 4000 
LOOP 
+0

Speichern der Schlüssel zu einer Variablen dann vergleichen. Jede Verwendung von 'INKEY $' liest ein anderes Zeichen. –

+0

Wie würde ich das tun? (Ich bin ein Noob bei diesem.) – Mark

Antwort

1

So etwas wie dies funktionieren sollte. Aber ich schlage vor, Sie beginnen zu lernen, wie man in Variablen speichert, und Sie brauchen GOTO in Basic nicht, es gibt andere Möglichkeiten, die das Programm in der Zukunft leichter ändern lassen.

DIM KeyPressed AS STRING 

INPUT "Please Enter A Key (y,n,e): ", KeyPressed 

KeyPressed = LCASE$(KeyPressed) 

SELECT CASE KeyPressed 
    CASE "n" 
    GOTO 2000 
    CASE "y" 
    GOTO 3000 
    CASE "e" 
    GOTO 4000 
END SELECT 
+0

Ihre UCASE $ sollte zu LCASE geändert werden $ – eoredson

+0

@eoredson, richtig. Ich habe es jetzt geändert. Danke, dass du es bemerkt hast. –

Verwandte Themen