Podcast
Questions and Answers
Welches Attribut wird verwendet, um den Soundeffekt des Balls zu speichern?
Welches Attribut wird verwendet, um den Soundeffekt des Balls zu speichern?
Der Vektor self.direction beschreibt die Farbe des Balls.
Der Vektor self.direction beschreibt die Farbe des Balls.
False
Was muss an der richtigen Stelle eingefügt werden, um den Sound des Balls beim Aufprall abzuspielen?
Was muss an der richtigen Stelle eingefügt werden, um den Sound des Balls beim Aufprall abzuspielen?
py.mixer.Sound.play(self.music)
Der Ball wird _____ Pixel über dem Boden positioniert.
Der Ball wird _____ Pixel über dem Boden positioniert.
Signup and view all the answers
Ordne die folgenden Eigenschaften des Balls ihren Funktionen zu:
Ordne die folgenden Eigenschaften des Balls ihren Funktionen zu:
Signup and view all the answers
Was passiert, wenn der Ball den Spieler berührt?
Was passiert, wenn der Ball den Spieler berührt?
Signup and view all the answers
Der Ball kann in Pygame keinen Ton abspielen.
Der Ball kann in Pygame keinen Ton abspielen.
Signup and view all the answers
Was muss zuerst erfolgen, um einen Ton in Pygame abzuspielen?
Was muss zuerst erfolgen, um einen Ton in Pygame abzuspielen?
Signup and view all the answers
Wenn der Ball fällt, ändert sich die y-Richtung durch die Multiplikation mit _____ .
Wenn der Ball fällt, ändert sich die y-Richtung durch die Multiplikation mit _____ .
Signup and view all the answers
Ordne die folgenden Programmierkomponenten ihren Funktionen zu:
Ordne die folgenden Programmierkomponenten ihren Funktionen zu:
Signup and view all the answers
Was bewirkt der Befehl screen.fill([0, 0, 0])
?
Was bewirkt der Befehl screen.fill([0, 0, 0])
?
Signup and view all the answers
Der Kreis kann nur von rechts nach links über den Bildschirm bewegt werden.
Der Kreis kann nur von rechts nach links über den Bildschirm bewegt werden.
Signup and view all the answers
Nenne die Koordinaten der Ecken des grünen Polygons in der richtigen Reihenfolge.
Nenne die Koordinaten der Ecken des grünen Polygons in der richtigen Reihenfolge.
Signup and view all the answers
Bevor du Objekte zeichnest, musst du immer den Befehl screen.fill([___])
ausführen.
Bevor du Objekte zeichnest, musst du immer den Befehl screen.fill([___])
ausführen.
Signup and view all the answers
Welche Farbe hat das rote Rechteck?
Welche Farbe hat das rote Rechteck?
Signup and view all the answers
Um ein blaues Rechteck zu zeichnen, wird der Befehl py.draw.rect(screen, [0, 0, 255], ...)
verwendet.
Um ein blaues Rechteck zu zeichnen, wird der Befehl py.draw.rect(screen, [0, 0, 255], ...)
verwendet.
Signup and view all the answers
Ordne die Formen den richtigen Farben zu:
Ordne die Formen den richtigen Farben zu:
Signup and view all the answers
Wie viele Ecken hat das grüne Polygon?
Wie viele Ecken hat das grüne Polygon?
Signup and view all the answers
Welches Befehl wird verwendet, um ein Bild auf dem Bildschirm darzustellen?
Welches Befehl wird verwendet, um ein Bild auf dem Bildschirm darzustellen?
Signup and view all the answers
Die Variable 'pad' enthält das Bild 'pad.gif'.
Die Variable 'pad' enthält das Bild 'pad.gif'.
Signup and view all the answers
Was stellt die Zahl (300, 550) in dem Befehl screen.blit(pad, (300, 550)) dar?
Was stellt die Zahl (300, 550) in dem Befehl screen.blit(pad, (300, 550)) dar?
Signup and view all the answers
Die Hauptschleife wird mit while ___________ gestartet.
Die Hauptschleife wird mit while ___________ gestartet.
Signup and view all the answers
Ordne die folgenden Befehle ihren Funktionen zu:
Ordne die folgenden Befehle ihren Funktionen zu:
Signup and view all the answers
Was passiert, wenn event.type == py.QUIT wahr ist?
Was passiert, wenn event.type == py.QUIT wahr ist?
Signup and view all the answers
Die Methode screen.blit() wird verwendet, um ein Bild nur einmal darzustellen.
Die Methode screen.blit() wird verwendet, um ein Bild nur einmal darzustellen.
Signup and view all the answers
Was ist die Rolle der Variable game_is_running?
Was ist die Rolle der Variable game_is_running?
Signup and view all the answers
Um das Bild 'pad.gif' zu laden, verwendet man: pad = py.image.load("res/__________").
Um das Bild 'pad.gif' zu laden, verwendet man: pad = py.image.load("res/__________").
Signup and view all the answers
Welcher Befehl aktualisiert den Bildschirm nach dem Zeichnen?
Welcher Befehl aktualisiert den Bildschirm nach dem Zeichnen?
Signup and view all the answers
Was geschieht, wenn der Ball den Spieler trifft?
Was geschieht, wenn der Ball den Spieler trifft?
Signup and view all the answers
Kollisionserkennung ist nur für den Ball und die Wand notwendig.
Kollisionserkennung ist nur für den Ball und die Wand notwendig.
Signup and view all the answers
Was passiert mit dem Bewegungsvektor bei einer Kollision mit dem rechten Rand?
Was passiert mit dem Bewegungsvektor bei einer Kollision mit dem rechten Rand?
Signup and view all the answers
Die Richtung des Balls verändert sich nicht, wenn er einen Bildschirmrand berührt.
Die Richtung des Balls verändert sich nicht, wenn er einen Bildschirmrand berührt.
Signup and view all the answers
Wie wird die Kollision zwischen dem Ball und dem Spieler visualisiert?
Wie wird die Kollision zwischen dem Ball und dem Spieler visualisiert?
Signup and view all the answers
Wie wird die y-Koordinate des Bewegungsvektors bei einer Kollision mit dem oberen Rand behandelt?
Wie wird die y-Koordinate des Bewegungsvektors bei einer Kollision mit dem oberen Rand behandelt?
Signup and view all the answers
Um die Kollision besser zu verstehen, werden die _____ des Balls und des Spielers eingezeichnet.
Um die Kollision besser zu verstehen, werden die _____ des Balls und des Spielers eingezeichnet.
Signup and view all the answers
Bei einer Kollision mit dem linken Rand wird die x-Koordinate mit __________ multipliziert.
Bei einer Kollision mit dem linken Rand wird die x-Koordinate mit __________ multipliziert.
Signup and view all the answers
Ordne die Funktionen den Aktionen zu:
Ordne die Funktionen den Aktionen zu:
Signup and view all the answers
Ordne die folgenden Elemente zu:
Ordne die folgenden Elemente zu:
Signup and view all the answers
Welche Farbe hat das provisorische Rechteck für die Kollisionserkennung?
Welche Farbe hat das provisorische Rechteck für die Kollisionserkennung?
Signup and view all the answers
Der Ball wird immer auf eine bestimmte Koordinate gezeichnet.
Der Ball wird immer auf eine bestimmte Koordinate gezeichnet.
Signup and view all the answers
Welcher Ausdruck überprüft die Kollision mit dem unteren Rand?
Welcher Ausdruck überprüft die Kollision mit dem unteren Rand?
Signup and view all the answers
Kollisionen von Sprites müssen selten während eines Spiels erkannt werden.
Kollisionen von Sprites müssen selten während eines Spiels erkannt werden.
Signup and view all the answers
Was ist der Zweck des Codes in den Zeilen 36 bis 38?
Was ist der Zweck des Codes in den Zeilen 36 bis 38?
Signup and view all the answers
Kollision wird getestet, indem die _____ des Objekts überprüft werden.
Kollision wird getestet, indem die _____ des Objekts überprüft werden.
Signup and view all the answers
Was muss passieren, wenn eine Kollision erkannt wird?
Was muss passieren, wenn eine Kollision erkannt wird?
Signup and view all the answers
Das Programm sorgt dafür, dass der Ball __________ bleibt.
Das Programm sorgt dafür, dass der Ball __________ bleibt.
Signup and view all the answers
Was kann zusätzlich zur Kollision mit dem Spieler implementiert werden?
Was kann zusätzlich zur Kollision mit dem Spieler implementiert werden?
Signup and view all the answers
Wie viele Kollisionen erkannt werden können?
Wie viele Kollisionen erkannt werden können?
Signup and view all the answers
Study Notes
Pygame Hauptschleife und Events
- Die Hauptschleife wird verwendet, solange das Spiel nicht beendet ist.
- Sie aktualisiert ständig den Bildschirm.
- Die Hauptschleife sollte nicht unterbrochen werden, sonst funktioniert das Spiel nicht korrekt.
Die Events
- Spiele leben von Interaktionen mit dem Benutzer (z.B. Mausklicks, Tastatureingaben).
- Diese Interaktionen werden als Events bezeichnet.
- Events werden von Eingabegeräten ausgelöst (z.B. Tastatur, Maus).
- Das Betriebssystem erkennt diese Auslösung und teilt sie an die Programme weiter.
- Die Events werden in der Hauptschleife des Spiels abgefragt.
- Die Funktion
py.event.get()
liefert eine Liste aller ausgelösten Events. - Die Liste kann leer sein.
- Mit einer
for
-Schleife werden die Events abgearbeitet. - Wenn das Spiel beendet werden soll, wird die Variable
game_is_running
aufFalse
gesetzt. -
py.quit()
schließt das Fenster und beendet das Programm.
Zeichnen von Grundfiguren
- Mit
py.draw.rect()
können Rechtecke gezeichnet werden. Parameter: Bildschirm, Farbe, Koordinaten (x,y,Länge,Breite), ob gefüllt (0=ja) - Mit
py.draw.circle()
können Kreise gezeichnet werden. Parameter: Bildschirm, Farbe, Koordinaten (x,y,Radius), ob gefüllt (0=ja) - Mit
py.draw.polygon()
können Polygone gezeichnet werden. Parameter: Bildschirm, Farbe, Liste der Eckkoordinaten, ob gefüllt (0=ja) - Mit
screen.fill([0,0,0])
wird das Fenster mit der Farbe schwarz gefüllt.
Bildladen und -zeichnen
- Bilder werden mit
py.image.load("Pfad")
geladen. -
screen.blit(Image, Position)
zeichnet das Bild an der angegebenen Position.
Mauskoordinaten
- Die Mauskoordinaten können mit
py.mouse.get_pos()
abgefragt werden. - Die Koordinaten können verwendet werden, um einen Objekt an die Mausposition anzupassen.
- Das Fenster kann mit
screen.fill([0,0,0])
vorher mit schwarz gefüllt werden, um einen Abdruck des Rechtecks zu vermeiden.
Die Sprite-Klasse
- Die
Sprite
-Klasse ist ein vordefiniertes Objekt in Pygame, das nützliche Eigenschaften hat, um mit Objekten zu arbeiten. - Objekte werden mit
ClassName()
erzeugt. -
self.image
: Die Grafik des Objekts -
self.rect
: Das Rechteck, das die Grenzen des Objekts markiert. (Das enthält diex
,y
Koordinaten) -
draw()
: Funktion zum Zeichnen des Objekts. -
refresh()
: Aktualisiert das Aussehen oder die Bewegung des Objekts.
Kostüme
- Die Klasse
Ball
ermöglicht das Laden der Bilder für das Kostüm der Animation. - Die Bilder müssen im Verzeichnis „res“ liegen.
- Mit
file_names
wird eine Liste aller Bildnamen im Verzeichnis erzeugt. - Mit
animation
wird eine Liste von Bildern erzeugt. - Mit
self.image = self.animation[0]
wird das erste Bild als aktuelles Kostüm gesetzt. -
self.costume
ist die Index-Variable, die auf das gerade angezeigte Kostüm verweist.
Framerate
- Framerate (FPS) gibt die Anzahl Bilder pro Sekunde an.
-
clock.tick(24)
steuert die Framerate.
Kollisionen
- Mit
py.sprite.collide_rect(ball, player)
kann man überprüfen, ob sich die Begrenzungsrechtecke von Ball und Spieler überschneiden. - Bei Kollisionen können Aktionen wie z.B. Richtungsänderung des Balls durchgeführt werden.
Sounds
- Sounds werden mit
py.mixer.Sound("Pfad")
geladen. - Sound wird mit
py.mixer.Sound.play()
abgespielt.
Hintergrundbild
- Ein Hintergrundbild kann mit
py.image.load("Pfad")
geladen werden. -
screen.blit(background_image, (0, 0))
zeichnet das Bild in der oberen linken Ecke des Bildschirms.
Punktzahl
- Die Punktzahl wird in einer Variablen (z.B.
player.points
) gespeichert. - Die Punktzahl kann mit
screen.blit(text, (x, y))
auf dem Bildschirm angezeigt werden. - Für die Anzeige ist vorher eine Schriftart (
my_font
) zu laden.
Spielende
- Das Spiel kann beendet werden, indem die Variable
game_is_running
aufFalse
gesetzt wird. - Durch die Abfrage in der
for
-Schleife (if event.type == py.QUIT
). - Mit
py.quit()
wird die Engine beendet und das Fenster geschlossen.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Dieser Quiz behandelt die Hauptschleife und Event-Handling in Pygame. Du wirst lernen, wie man Benutzereingaben verarbeitet und welche Funktionen dafür verwendet werden. Teste dein Wissen über die Grundlagen von Pygame und interaktive Spieleentwicklung.