Skip to content

Commit 1cc5878

Browse files
author
Tobias Eilert
committedFeb 7, 2016
Pong: Bewegung
1 parent c95ef87 commit 1cc5878

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed
 

‎README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ Ich fange gerne mit diesen Icebreakern an:
3333

3434
Diese Projekte sind dann schon etwas aufwändiger.
3535

36-
[Pong](pong.md)
36+
[Pong](pong.md)

‎pong.md

+44
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,47 @@ Danach haben wir dieses Ergebnis:
5656

5757
![Pong Spielaufbau](images/pong1.png)
5858

59+
## Die Schläger bewegen
60+
61+
Wir definieren eine Variable für die Geschwindigkeit. Damit können wir selbige leichter ändern, bis wir mit dem Ergebnis
62+
zufrieden sind.
63+
64+
```java
65+
float playerSpeed = 5.0;
66+
```
67+
68+
Dann kommt noch eine neue Funktion dazu, in der die ganze Bewegungsmagie passiert:
69+
70+
```java
71+
/* Diese Funktion wird immer aufgerufen, wenn eine Taste gedrückt wird.
72+
* Wir schauen in der Variable `key` oder `keyCode` nach, welche Tasten gerade
73+
* gedrückt werden und reagieren darauf. */
74+
void keyPressed() {
75+
76+
// Rechter Schläger, reagiert auf Pfeiltaste hoch und runter.
77+
// Bei den Pfeiltasten muss man in der Variable `keyCode` nachsehen
78+
if (keyCode == DOWN) {
79+
player2y = player2y + playerSpeed;
80+
}
81+
if (keyCode == UP) {
82+
player2y = player2y - playerSpeed;
83+
}
84+
85+
// Linker Schläger, lauscht auf `w` und `s`.
86+
// Für Tasten mit Buchstaben darauf muss man in der Variable `key` nachsehen.
87+
if (key == 's') {
88+
player1y = player1y + playerSpeed;
89+
}
90+
if (key == 'w') {
91+
player1y = player1y - playerSpeed;
92+
}
93+
}
94+
```
95+
96+
Wer es ausprobiert, wird schnell merken, dass hier einige Dinge nicht stimmen.
97+
98+
* die Bewegung mit W und S passiert nur _einmal_ bei Tastendruck. Danach muss man loslassen und die Taste erneut drücken, damit sich der linke Schläger bewegt.
99+
* die Pfeiltasten funktionieren zwar besser, man kann die Taste gedrückt halten. Dennoch, nach dem Drücken gibt es eine kurze, merkliche Verzögerung, bis die Bewegung weitergeht.
100+
101+
Das ist beides nicht cool! Der rechte Spieler hat einen deutlichen Vorteil durch die bessere Bewegung. Beide sollten sich gleich bewegen. Und die Verzögerung muss auch weg, sonst fühlt es sich komisch an.
102+

0 commit comments

Comments
 (0)
Please sign in to comment.