You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: pong.md
+44
Original file line number
Diff line number
Diff line change
@@ -56,3 +56,47 @@ Danach haben wir dieses Ergebnis:
56
56
57
57

58
58
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.
0 commit comments