Zum Inhalt

Grundlagen

Lernziele

  • zeichnen
  • Event-Abfragen
    • Tasten
    • Maus

Arbeite die folgenden Punkte durch.

Objekte Zeichnen

  1. Lade die Datei "einf_pygame_01.py" herunter.
  2. Öffne die Datei und starte das Programm. Du solltest ein rotes Quadrat in der Mitte des Fensters sehen. Sonst passiert nichts.
  3. Ein Pygame-Programm sollte immer den folgenden Aufbau haben.

    Ablauf

    Schau dir den Programmcode an und identifiziere darin die Programmblöcke, welche zu den Punkten in der obigen Abbildung gehören.

  4. Ganz wichtig: Die Spielschleife sollte nie länger unterbrochen werden!

  5. Wechsle die Farbe des Quadrats und des Hintergrunds.
  6. Ändere die Position des Quadrats.
  7. Füge einen Kreis irgendwo hinzu (siehe in der Dokumentation).

Objekte bewegen und erste Event-Abfragen

Wir wollen im Folgenden das Quadrat bewegen. Im Moment hat es fixe Koordinaten, die sich (aktuell) nicht ändern:

Quadrat: py.draw.rect(screen, [255, 0, 0], (350, 350, 100, 100), 0)

  1. Definiere im Block "Globale Variabeln initialisieren" zwei Variablen qx und qy setze bei beiden die Werte 350. In diesen beiden Variablen wollen wir die Koordinaten des Quadrates speichern.

  2. Ersetze beim Quadrat die entsprechenden Zahlen durch die beiden Variablen qx und qy.

  3. Nun wollen wir das Quadrat mit Hilfe der Pfeiltasten bewegen. Dazu müssen wir wissen, wann eine Taste gedrückt wurde. Dazu Fragen wir alle Events im Zusammenhang mit einem Tastendruck ab. Dies geschieht grundsätzlich in der Hauptschleife an der folgenden Stelle:

    key = py.key.get_pressed()
    
    Hier wurden die Zustände aller Tasten abgefragt und diese in der Variablen key gespeichert. key ist ein Dictionary mit folgender Abbildungsvorschrift:

    \(\texttt{Taste} \longrightarrow \texttt{True/False}\)

    Bei True wurde die Taste gedrückt, sonst nicht.

  4. Nun fragen wir, ob die linke Pfeiltaste gedrückt worden ist. Dies geschieht an der Stelle:

    if key[py.K_LEFT] == True:
    
    Wenn ja, dann soll sich jetzt die \(x\)-Koordinate des Quadrats ändern; und zwar soll sie sich um 5 erhöhen. Implementiere diesen Sachverhalt.

  5. Wiederhole die obigen Schritte mit den anderen Pfeiltasten.

Weitere Aufträge

  1. Füge weitere Objekte dem Bildschirm hinzu (nicht nur Rechtecke ;)).
  2. Füge einen Kreis hinzu, wenn nicht bereits vorhanden, dessen Koordinaten der Maus folgen (siehe hier).
  3. (s) Ein anderes Objekt deiner Wahl, soll automatisch über den Bildschirm von links nach rechts wandern. Wenn der rechte Rand überschritten wurde, soll das Objekt auf der linken Seite wieder herauskommen. Der % Operator kann dir dabei helfen.
  4. (s) Ein weiterer Kreis soll sich ebenfalls entlang der \(x\)-Richtung bewegen. Diesmal soll er aber von der Wand zurückprallen, wenn er diese berührt. Mit dem Mausrad soll zusätzlich noch die Grösse, also der Radius, des Kreises geändert werden.