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?
- self.direction
- self.music (correct)
- self.rect
- self.costume
Der Vektor self.direction beschreibt die Farbe des Balls.
Der Vektor self.direction beschreibt die Farbe des Balls.
False (B)
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.
Ordne die folgenden Eigenschaften des Balls ihren Funktionen zu:
Ordne die folgenden Eigenschaften des Balls ihren Funktionen zu:
Was passiert, wenn der Ball den Spieler berührt?
Was passiert, wenn der Ball den Spieler berührt?
Der Ball kann in Pygame keinen Ton abspielen.
Der Ball kann in Pygame keinen Ton abspielen.
Was muss zuerst erfolgen, um einen Ton in Pygame abzuspielen?
Was muss zuerst erfolgen, um einen Ton in Pygame abzuspielen?
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 _____ .
Ordne die folgenden Programmierkomponenten ihren Funktionen zu:
Ordne die folgenden Programmierkomponenten ihren Funktionen zu:
Was bewirkt der Befehl screen.fill([0, 0, 0])
?
Was bewirkt der Befehl screen.fill([0, 0, 0])
?
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.
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.
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.
Welche Farbe hat das rote Rechteck?
Welche Farbe hat das rote Rechteck?
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.
Ordne die Formen den richtigen Farben zu:
Ordne die Formen den richtigen Farben zu:
Wie viele Ecken hat das grüne Polygon?
Wie viele Ecken hat das grüne Polygon?
Welches Befehl wird verwendet, um ein Bild auf dem Bildschirm darzustellen?
Welches Befehl wird verwendet, um ein Bild auf dem Bildschirm darzustellen?
Die Variable 'pad' enthält das Bild 'pad.gif'.
Die Variable 'pad' enthält das Bild 'pad.gif'.
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?
Die Hauptschleife wird mit while ___________ gestartet.
Die Hauptschleife wird mit while ___________ gestartet.
Ordne die folgenden Befehle ihren Funktionen zu:
Ordne die folgenden Befehle ihren Funktionen zu:
Was passiert, wenn event.type == py.QUIT wahr ist?
Was passiert, wenn event.type == py.QUIT wahr ist?
Die Methode screen.blit() wird verwendet, um ein Bild nur einmal darzustellen.
Die Methode screen.blit() wird verwendet, um ein Bild nur einmal darzustellen.
Was ist die Rolle der Variable game_is_running?
Was ist die Rolle der Variable game_is_running?
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/__________").
Welcher Befehl aktualisiert den Bildschirm nach dem Zeichnen?
Welcher Befehl aktualisiert den Bildschirm nach dem Zeichnen?
Was geschieht, wenn der Ball den Spieler trifft?
Was geschieht, wenn der Ball den Spieler trifft?
Kollisionserkennung ist nur für den Ball und die Wand notwendig.
Kollisionserkennung ist nur für den Ball und die Wand notwendig.
Was passiert mit dem Bewegungsvektor bei einer Kollision mit dem rechten Rand?
Was passiert mit dem Bewegungsvektor bei einer Kollision mit dem rechten Rand?
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.
Wie wird die Kollision zwischen dem Ball und dem Spieler visualisiert?
Wie wird die Kollision zwischen dem Ball und dem Spieler visualisiert?
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?
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.
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.
Ordne die Funktionen den Aktionen zu:
Ordne die Funktionen den Aktionen zu:
Ordne die folgenden Elemente zu:
Ordne die folgenden Elemente zu:
Welche Farbe hat das provisorische Rechteck für die Kollisionserkennung?
Welche Farbe hat das provisorische Rechteck für die Kollisionserkennung?
Der Ball wird immer auf eine bestimmte Koordinate gezeichnet.
Der Ball wird immer auf eine bestimmte Koordinate gezeichnet.
Welcher Ausdruck überprüft die Kollision mit dem unteren Rand?
Welcher Ausdruck überprüft die Kollision mit dem unteren Rand?
Kollisionen von Sprites müssen selten während eines Spiels erkannt werden.
Kollisionen von Sprites müssen selten während eines Spiels erkannt werden.
Was ist der Zweck des Codes in den Zeilen 36 bis 38?
Was ist der Zweck des Codes in den Zeilen 36 bis 38?
Kollision wird getestet, indem die _____ des Objekts überprüft werden.
Kollision wird getestet, indem die _____ des Objekts überprüft werden.
Was muss passieren, wenn eine Kollision erkannt wird?
Was muss passieren, wenn eine Kollision erkannt wird?
Das Programm sorgt dafür, dass der Ball __________ bleibt.
Das Programm sorgt dafür, dass der Ball __________ bleibt.
Was kann zusätzlich zur Kollision mit dem Spieler implementiert werden?
Was kann zusätzlich zur Kollision mit dem Spieler implementiert werden?
Wie viele Kollisionen erkannt werden können?
Wie viele Kollisionen erkannt werden können?
Flashcards
Bildschirm füllen
Bildschirm füllen
Füllt den Bildschirm mit einer bestimmten Farbe, bevor neue Objekte gezeichnet werden.
screen.fill([0, 0, 0])
screen.fill([0, 0, 0])
Füllt den Bildschirm mit Schwarz (RGB).
py.draw.rect()
py.draw.rect()
Zeichnet ein Rechteck auf den Bildschirm.
py.draw.polygon()
py.draw.polygon()
Signup and view all the flashcards
Koordinaten
Koordinaten
Signup and view all the flashcards
RGB-Farbwerte
RGB-Farbwerte
Signup and view all the flashcards
Reihenfolge der Befehle
Reihenfolge der Befehle
Signup and view all the flashcards
Objektbewegung
Objektbewegung
Signup and view all the flashcards
Variable pad
Variable pad
Signup and view all the flashcards
screen.blit(pad, (300, 550))
screen.blit(pad, (300, 550))
Signup and view all the flashcards
game_is_running
game_is_running
Signup and view all the flashcards
py.image.load("res/pad.gif")
py.image.load("res/pad.gif")
Signup and view all the flashcards
Hauptschleife (while game_is_running)
Hauptschleife (while game_is_running)
Signup and view all the flashcards
py.event.get()
py.event.get()
Signup and view all the flashcards
event.type == py.QUIT
event.type == py.QUIT
Signup and view all the flashcards
game_is_running = False
game_is_running = False
Signup and view all the flashcards
py.display.update()
py.display.update()
Signup and view all the flashcards
Mauskoordinaten
Mauskoordinaten
Signup and view all the flashcards
Soundeffekte einfügen
Soundeffekte einfügen
Signup and view all the flashcards
Sound laden
Sound laden
Signup and view all the flashcards
prallt Ball ab
prallt Ball ab
Signup and view all the flashcards
Kollidiert Ball mit Spieler?
Kollidiert Ball mit Spieler?
Signup and view all the flashcards
y-Richtung ändern
y-Richtung ändern
Signup and view all the flashcards
Kollisionserkennung
Kollisionserkennung
Signup and view all the flashcards
Umgebungsrechteck
Umgebungsrechteck
Signup and view all the flashcards
Rechteck zeichnen (py.draw.rect())
Rechteck zeichnen (py.draw.rect())
Signup and view all the flashcards
Ball-Position
Ball-Position
Signup and view all the flashcards
Schläger-Position
Schläger-Position
Signup and view all the flashcards
Ball-Reflexion
Ball-Reflexion
Signup and view all the flashcards
Sprite
Sprite
Signup and view all the flashcards
Koordinaten (x, y)
Koordinaten (x, y)
Signup and view all the flashcards
screen.blit()
screen.blit()
Signup and view all the flashcards
Spielobjekte
Spielobjekte
Signup and view all the flashcards
self.music
self.music
Signup and view all the flashcards
py.mixer.Sound.play(self.music)
py.mixer.Sound.play(self.music)
Signup and view all the flashcards
Abprallen von Wänden
Abprallen von Wänden
Signup and view all the flashcards
self.direction
self.direction
Signup and view all the flashcards
self.costume
self.costume
Signup and view all the flashcards
Bewegungsvektor
Bewegungsvektor
Signup and view all the flashcards
Kollision mit Rand
Kollision mit Rand
Signup and view all the flashcards
Richtung umkehren
Richtung umkehren
Signup and view all the flashcards
Koordinate multiplizieren
Koordinate multiplizieren
Signup and view all the flashcards
Rechteck des Objekts
Rechteck des Objekts
Signup and view all the flashcards
win_size
win_size
Signup and view all the flashcards
self.rect
self.rect
Signup and view all the flashcards
Abprallen vom Rand (If-Bedingung)
Abprallen vom Rand (If-Bedingung)
Signup and view all the flashcards
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 Objektsself.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.