Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:pong:start

Dies ist eine alte Version des Dokuments!


Gemeinsames Projekt: Pong

Quelle: https://commons.wikimedia.org/wiki/File:Pong.png

Das 1972 von Atari veröffentlichte Pong war eines der ersten Computerspiele, hier mehr zu seiner Geschichte.

Zwei Spieler steuern je einen Schläger am linken bzw. rechten Bildschirmrand und versuchen, einen Ball so abprallen zu lassen, dass ihn der Gegner mit seinem Schläger nicht mehr erwischt, ähnlich wie beim Tennis. Der Ball prallt sowohl an den Schlägern als auch am oberen und unteren Bildschirmrand ab. Das gestrichelte "Netz" in der Mitte des Bildschirms hat spieltechnisch keine Bedeutung.


Programmierung des Schlägers


Programmierung des Balls


Hauptprogramm, Punkteanzeige, Startbildschirm, Game over


Aufgaben

Erweitere das PONG-Spiel folgendermaßen:

  1. Wenn der Ball am oberen oder unteren Rand abprallt, soll ein tiefer Ton zu hören sein (Anweisung Sound.playSound(Sound.pong_d);), wenn er an einem Schläger abprallt, soll ein hoher Ton zu hören sein (Anweisung Sound.playSound(Sound.pong_f);).
  2. Oft dauert es ewig, bis ein Tor erzielt wird. Je länger der Ball im Spiel ist, desto schneller soll er werden. Gleichzeitig soll auch die Geschwindigkeit der Schläger zunehmen. Sobald ein Tor erzielt wird, soll die Geschwindigkeit der Schläger wieder auf den ursprünglichen Wert zurückgesetzt werden.
  3. Herausforderung (freiwillig): Wenn der Ball einen Schläger mittig trifft, soll er ganz normal abprallen. Je weiter außen er den Schläger trifft, desto stärker soll er zusätzlich in diese Richtung abgelenkt werden.

Tipps zu den Aufgaben

Zu 1.) Ihr müsst die beiden Statements nur an den richtigen Stellen des Programms einfügen.

Zu 2.) Die Geschwindigkeit des Balls ist in den Attributen vx und vy gespeichert. Mit vx *= 1.01 und vy *= 1.01 kann man diese geringfügig erhöhen. Diese Statements kann man bspw. in der act-Methode der Klasse Ball einfügen, so dass sie 20-mal pro Sekunde ausgeführt werden.
Die Geschwindigkeit der Schläger ist im Attribut dy abgelegt. Auch dieses kann man bspw. in der act-Methode der Schläger immer wieder ein ganz kleines Stück erhöhen, dann werden die Schläger immer schneller. Wenn ein Tor erzielt wurde, setzt man den Wert von dy einfach wieder auf den initialen Wert 5 zurück.

projects/pong/start.1613589344.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki