Tastenabfrage ohne Pygame

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
InformatikGKlerin
User
Beiträge: 1
Registriert: Mittwoch 30. Mai 2012, 14:23

Hallo,
also ich brauche dringend Hilfe!
Wir sollen nächste Woche ein Informatikprojekt abgeben. :shock:
Dabei handelt es sich um ein objekt-orientiertes Spiel, welches wir möglichst ohne Pygame programmieren müssen.
Ich bin nun schon so weit, dass ich mit Tkinter ein Spielmenü mit Buttons erstellt habe und alles, das einzige was fehlt ist jetzt noch das eigentliche Spiel :|

Das größte Problem dabei ist, dass ich nicht herausfinden kann, wie man Tastenabfragen macht. Die Beiträge, die ich hier schon gesehen habe, haben mir nicht geholfen.
Ich dachte an sowas:

If TasteRechts == gedrückt
Bewege Objekt um +1 nach rechts
If TasteRechts == nicht gedrückt

Aber wie gibt man eigentlich an, wo rechts und links ist, kann man das mit Koordinaten machen?

Liebe Grüße
PS: Bin leider nicht so Pythonvertraut...
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Ihr sollt ein Spiel abegeben, welches in Python geschrieben ist, aber ihr kennt euch mit Python nicht aus? Interessant.

Du willst/brauchst Events: http://effbot.org/tkinterbook/tkinter-e ... ndings.htm, der Abschnitt "Capturing Keyboard Events" ist wahrscheinlich genau das was du suchst.
the more they change the more they stay the same
BlackJack

@InformatikGKlerin: Eine Woche scheint ein wenig knapp für so etwas mit Deinem Wissensstand. Etwas wie ``if Taste gedrückt`` geht schon deswegen nicht, weil GUI-Programmierung so nicht funktioniert. Da arbeitet man ereignisbasiert. Du fragst keine Tasten ab, sondern registrierst Funktionen oder Methoden für bestimmte Ereignisse und die werden dann aufgerufen.

Was soll es überhaupt für ein Spiel werden? Muss es `Tkinter` sein? Vielleicht wäre `turtle` als Rahmenwerk eher etwas für Dich. Damit kann man zum Beispiel so etwas wie „Moorhuhn” umsetzen: http://xturtle.rg16.at/screenshots.html (ganz unten auf der Seite).
Antworten