Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:pgzero:projekt2

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:pgzero:projekt2 [2021/04/26 13:30] lutzpython:pgzero:projekt2 [2023/03/16 08:23] (aktuell) lutz
Zeile 9: Zeile 9:
 =====Beschreibung des Programms===== =====Beschreibung des Programms=====
  
-<code python mario.py>+Zu nächst des gesamte Programm: 
 + 
 +[[python:pgzero:projekt2_quelltext|Projekt 2 - Super Mario - Quelltext]] 
 + 
 + 
 + 
 +Mit der Zeile  
 +<code python>
 from random import randint from random import randint
 +</code>
 +werden die Funktionen für Zufallszahlen eingebunden.
  
 +
 +Mit
 +<code python>
 WIDTH = 600 WIDTH = 600
 HEIGHT = 600 HEIGHT = 600
 score = 0 score = 0
- 
 game_over = False game_over = False
 +</code>
 +werden einige globale Konstanten bzw. Variablen festgelegt. ''%%WIDTH%%'' und ''%%HEIGHT%%'' legen die Größe des Spielfensters fest In ''%%score%%'' wird der Punktestand abgespeichert, ''%%game_over%%'' wird auf ''%%True%%'' gesetzt, wenn die Zeit abgelaufen ist.
  
 +
 +Mit
 +<code python>
 mario = Actor("mario.png" mario = Actor("mario.png"
 mario.pos = 100, 100 mario.pos = 100, 100
- 
 coin = Actor("money.png") coin = Actor("money.png")
 coin.pos = 200, 200 coin.pos = 200, 200
 +</code>
 +werden die Akteure des Spiels definiert.
  
 +<code python>
 def draw(): def draw():
     screen.fill("green")     screen.fill("green")
Zeile 33: Zeile 51:
         screen.fill("pink")         screen.fill("pink")
         screen.draw.text("Endstand:" + str(score), topleft=(10, 10), fontsize = 60)         screen.draw.text("Endstand:" + str(score), topleft=(10, 10), fontsize = 60)
 +</code>
 +
 +Mit der Funktion ''%%draw()%%'' werden die Akteure auf den Bildschirm gezeichnet und die Bildschirmfarbe auf grün  gesetzt. Wenn das Spiel vorbei ist, wird die Farbe des Bildschirms geändert und der Spielstand angezeigt.
  
 +<code python>
 def place_coin(): def place_coin():
     coin.x = randint(20, (WIDTH-20))     coin.x = randint(20, (WIDTH-20))
     coin.y = randint(20, (HEIGHT-20))     coin.y = randint(20, (HEIGHT-20))
 +</code>
 +
 +Mit der Funktion ''%%place_coin()%%'' wird die Münze an einer zufälligen Stelle auf dem Bildschirm platziert.
  
 +<code python>
 def time_up():  def time_up(): 
     global game_over     global game_over
     game_over = True     game_over = True
 +</code>
 +
 +Die Funktion ''%%time_up()%%'' setzt die Variable ''%%game_over()%%'' auf ''%%True%%''.
  
 +<code python>
 def update(): def update():
     global score     global score
Zeile 56: Zeile 86:
         score = score + 10         score = score + 10
         place_coin()         place_coin()
 +</code>
  
 +Die Funktion ''%%update()%%'' ist eine in Pygamezero vordefinierte Funktion. Sie wird sechszig mal pro Sekunde ausgeführt.
 +
 +Mit der **if-elif**-Anweisung wird auf die Pfeiltasten der Tastatur reagiert. Die Position von Mario wird dann entsprechend verändert ''%%coin_collected%%'' wird auf ''%%True%%'' gesetzt, wenn Mario und die Münze kollidieren.
 +
 +Wenn das passiert, wird der Score erhöht und die Münze an einer anderen Stelle platziert.
 +
 +<code python>
 clock.schedule(time_up, 20.0) clock.schedule(time_up, 20.0)
-place_coin() 
 </code> </code>
 +
 +Mit dieser Programmzeile wird festgelegt, wie lange das Programm läuft.
 +=====Erkärvideo=====
 +
 +{{youtube>TyWeB2UK0_4}}
 +
 +=====Aufgaben=====
 +
 +**Aufgabe 1**
 +
 +Teste den Programmcode! Verändere die Laufzeit des Programms und die Geschwindigkeit von Mario!
 +
 +**Aufgabe 2**
 +
 +Erhöhe die Anzahl der Münzen die angezeigt werden.
 +
 +**Aufgabe 3**
 +
 +Lass zusätzlich andere Münzen oder Gegenstände anzeigen, für die Mario einen anderen Score bekommt.
 +
 +\\
 +
 +~~DISCUSSION | Hier können Fragen zum Inhalt der Seite gestellt werden. ~~
python/pgzero/projekt2.1619436642.txt.gz · Zuletzt geändert: 2021/04/26 13:30 von lutz