Homepage von Papa

Projekt Snake

Das Fenster

Um die Arbeitsweise von pygame besser zu verstehen, erweitern wir zunächst die Spielschleife:

...
def spielschleife_aufrufen():
    print('in spielschleife_aufrufen')
    global spielen
    while spielen:
        for event in pygame.event.get():
            # Ausgeben aller Aktivitaeten, die innerhalb des Fensters stattfinden
            print(event)
            # wenn das x im Fenster gedrueckt wird, soll das Fenster zugehen
            if event.type == pygame.QUIT:
                spielen = False 
...

Alle Aktivitäten, die in einem mit pygame erzeugten Fenster passieren, können über die Funktion pygame.event.get() abgefragt werden. Innerhalb unserer while-Schleife fragen wir permanent die im Fenster stattfindenden Aktivitäten ab und geben diese mit der print()-Funktion in Zeile 8 aus.

In Zeile 10 fangen wir ein speziellesevent ab, nämlich der Klick auf das Kreuz im Fenster:

Cool
Cool

Auch die Tastatur wird überwacht. Nachfolgendes Beispiel aus der Kommandozeile:

Cool

Die ersten 4 Einträge zeigen meine Mausbewegung, dann hat der Mauszeiger das Fenster verlassen und der Buchstabe "q" wurde eingegeben.

Das führt zu 3 events, einmal dem KeyDown, also dem Herunterdrücken der Taste "q", dem event TextInput mit "q" und dem event KeyUp für das Loslassen der Taste "q".

Das envent Quit nutzen wir, um die Abbruchbedingung für die Schleife zu setzen (Zeilen 10 bis 11).

Probiert es aus, macht Euch vertraut mit den events.

  • Zurück
  • Weiter

Inhaltsverzeichnis:

1. Vorwort
2. Das Projekt
3. Vorarbeiten
4. Projekt Snake
4.1. Der Funktionsumfang
4.2. Die Planung der Umsetzung
4.3. Das Coden
4.3.1. Das Grundgerüst
4.3.2. Das Fenster
4.3.3. Der Schlangenkopf
4.3.4. Die Bewegung der Schlange
4.3.5. Kleine Verbesserungen
4.3.6. Das Futter platzieren
4.3.7. Die Schlange wächst
4.3.8. Den Spielstand ausgeben
4.3.9. Die Wiederholung
4.3.10. Der finale Stand
5. Abschluss

© by Papa. Die Seite ist online seit 2020.

Menu

  • Startseite
  • Projekte
    • Übersicht aller Projekte
    • Nachbau Snake
    • Taschenrechner
  • Helferlein
    • Übersicht Hilfprogramme
    • Fonts in pygame
    • Quellcode nach HTML
    • Text nach HTML
  • Impressum
  • Disclaimer
This is message 1

Modal content goes here