Ich versuche gerade ein kleines Spiel mit anderen Leuten zu programmieren. Es werden auf einer PS2 Tastatur Tasten gedrückt, diese lösen bei jedem Druck einen Interrupt aus und wandeln den Scancode in Ascii um. Dieser Teil funktioniert. Das Spiel ist ein Hürdenspiel, also eine Tastenkombination von l/r laufen und s zum springen sollen das Spiel simulieren. Meine Versuche die eingelesene Taste in einer Variablen abzuspeichern und diese dann zum vergleichen heranzuziehen (egal ob scancode oder ascii) sind gescheitert. und mittlerweile frage ich mich eigentlich nur noch wie bekomme ich meine gedrückte Taste in die Spielefunktion??? Ich weiss das klingt echt banal, aber ich bin über meine Versuche etwas matschig geworden ;) Hat irgendjemand eine Idee?
Macht ein Diagramm wie soll dein Spiel funktionieren, wann erwartes du von dem Benutzer Eingabe ? was soll dann passieren ? Wie kommst du dahin ?. Irgendwo findest du dann wo die abfrage der Tasten reinkommen soll.
>Es werden auf einer PS2 Tastatur Tasten gedrückt, diese >lösen bei jedem Druck einen Interrupt aus und wandeln den Scancode in >Ascii um. Dieser Teil funktioniert. wenn du das geschafft hast, ist doch ein vergleich auf eine Taste kein Problem :
1 | uint8_t ascii; |
2 | |
3 | while(1) { |
4 | ascii=getAsciiKey(); // << das hast du schon |
5 | if(ascii=='a') { |
6 | // Taste-A wurde gedrückt |
7 | laufeLinks(); |
8 | } |
9 | else if(ascii=='d') { |
10 | // Taste-D wurde gedrückt |
11 | laufeRechts(); |
12 | } |
13 | else if(ascii=='s') { |
14 | // Taste-S wurde gedrückt |
15 | springe(); |
16 | } |
17 | } |
oder verstehe ich da was falsch ? Gruss Uwe
Ich hab´s anderes gelöst, aber trotzdem danke. mein Problem war, dass aus welchem Grund auch immer meine Spielfunktion nicht auf die getascii() zugreifen hat können. Ich hab jetzt einfach in meiner getascii ein Bit auf einem Pin gesetzt, wenn l gedrückt wird und auf einem anderen bei r. In der Spielfunktion setzte ich es wieder zurück. Schon schlimm, wenn man für eine so simple Lösung 6 Stunden verscheisst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.