|
| 1 | +# Pong |
| 2 | + |
| 3 | +Pong ist wohl der Spieleklassiker schlechthin. Die erste Version erschien 1972 von Atari und war in Spielhallen sehr |
| 4 | +beliebt. |
| 5 | + |
| 6 | +# Spielregeln |
| 7 | + |
| 8 | +> Das Spielprinzip von Pong ist simpel und ähnelt dem des Tischtennis: Ein Punkt ("Ball") bewegt sich auf dem Bildschirm hin und her. Jeder der beiden Spieler steuert einen senkrechten Strich ("Schläger"), den er mit Tasten (hoch/runter) nach oben und unten verschieben kann. Lässt man den "Ball" am "Schläger" vorbei, erhält der Gegner einen Punkt. |
| 9 | +
|
| 10 | +Auszug aus [Wikipedia](https://de.wikipedia.org/wiki/Pong) |
| 11 | + |
| 12 | +Zum Start kann man Pong einfach implementieren: zwei Spieler spielen an einem Rechner gegeneinander. Oder man spielt selber beide Schläger. |
| 13 | +Später können wir das Spiel so erweitern, dass man gegen einen Computergegner (Bot, KI) spielen kann. |
| 14 | + |
| 15 | +# Der Grundaufbau |
| 16 | + |
| 17 | +Zuerst brauchen wir wie immer ein Fenster. Außerdem platzieren wir die Spieler auf dem Spielfeld |
| 18 | + |
| 19 | +```java |
| 20 | +/* Positionen der Schläger. Da die Spieler sie nur nach oben |
| 21 | + * und unten bewegen können, ist nur die Y-Koordinate variabel. |
| 22 | + * Auf der X-Achse bleiben die Schläger immer, wo sie sind. */ |
| 23 | +float player1y, player2y; |
| 24 | + |
| 25 | +/* Beim Ball sieht es anders aus. Dieser bewegt sich frei im Raum. |
| 26 | + * Daher brauchen wir hier X- und Y-Koordinate. */ |
| 27 | +float ballx, bally; |
| 28 | + |
| 29 | +void setup() { |
| 30 | + size(800, 600); |
| 31 | + |
| 32 | + // Spielerpositionen: zum Start mittig |
| 33 | + player1y = height / 2 - 45; |
| 34 | + player2y = height / 2 - 45; |
| 35 | + |
| 36 | + // Ball mittig positionieren |
| 37 | + ballx = width / 2 - 10; |
| 38 | + bally = height / 2 - 10; |
| 39 | +} |
| 40 | + |
| 41 | +void draw() { |
| 42 | + background(0, 0, 0); |
| 43 | + fill(255, 255, 255); |
| 44 | + |
| 45 | + // Spieler 1 |
| 46 | + rect(25, player1y, 25, 90); |
| 47 | + |
| 48 | + // Spieler 2 |
| 49 | + rect(width - 50, player2y, 25, 90); |
| 50 | + |
| 51 | + // Ball |
| 52 | + ellipse(ballx, bally, 20, 20); |
| 53 | +} |
| 54 | +``` |
| 55 | +Danach haben wir dieses Ergebnis: |
| 56 | + |
| 57 | + |
| 58 | + |
0 commit comments