projects:pong:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
projects:pong:start [2021/02/20 11:12] – [Programmierung des Schlägers] Martin Pabst | projects:pong:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 41: | Zeile 41: | ||
| | ||
if(isKeyDown(tasteRunter)) { | if(isKeyDown(tasteRunter)) { | ||
- | | + | |
move(0, dy); | move(0, dy); | ||
} | } | ||
Zeile 57: | Zeile 57: | ||
| | ||
- | ==== Wann stößt der Schläger oben/unten an? ==== | + | {{ : |
- | {{ : | + | ==== Wann stößt der Schläger oben an? ==== |
Am oberen Rand des Grafikbereichs stößt der Schläger dann an, wenn '' | Am oberen Rand des Grafikbereichs stößt der Schläger dann an, wenn '' | ||
+ | < | ||
+ | <div style=" | ||
+ | </ | ||
- | {{: | + | ==== Wann stößt der Schläger unten an? ==== |
+ | {{: | ||
Am unteren Rand des Grafikbereichs stößt der Schläger dann an, wenn '' | Am unteren Rand des Grafikbereichs stößt der Schläger dann an, wenn '' | ||
- | + | < | |
+ | <div style=" | ||
+ | </ | ||
===== Programmierung des Balls ===== | ===== Programmierung des Balls ===== | ||
Zeile 102: | Zeile 107: | ||
| | ||
if(isKeyDown(tasteRunter)) { | if(isKeyDown(tasteRunter)) { | ||
- | | + | |
move(0, dy); | move(0, dy); | ||
} | } | ||
Zeile 131: | Zeile 136: | ||
move(vx, vy); | move(vx, vy); | ||
- | if(getCenterY() < getWidth() / 2) { | + | if(getCenterY() < getHeight() / 2) { |
vy = vy * (-1); | vy = vy * (-1); | ||
} | } | ||
- | if(getCenterY() | + | if(getCenterY() |
vy = vy * (-1); | vy = vy * (-1); | ||
} | } | ||
Zeile 145: | Zeile 150: | ||
if(getCenterX() < - getWidth() / 2) { | if(getCenterX() < - getWidth() / 2) { | ||
| | ||
- | setCenter(400, 300); | + | moveTo(400, 300); |
} | } | ||
if(getCenterX() > 800 + getWidth() / 2) { | if(getCenterX() > 800 + getWidth() / 2) { | ||
| | ||
- | setCenter(400, 300); | + | moveTo(400, 300); |
} | } | ||
Zeile 180: | Zeile 185: | ||
</ | </ | ||
| | ||
+ | |||
+ | === Wann stößt der Ball oben/unten an? Wann verlässt er links/ | ||
+ | Hier eine erläuternde Grafik zu diesen Fragen: | ||
+ | {{ : | ||
===== Hauptprogramm, | ===== Hauptprogramm, | ||
{{ youtube> | {{ youtube> | ||
Zeile 265: | Zeile 274: | ||
| | ||
| | ||
- | ball.setCenter(400, 300); | + | ball.moveTo(400, 300); |
| | ||
| | ||
Zeile 309: | Zeile 318: | ||
| | ||
if(isKeyDown(tasteRunter)) { | if(isKeyDown(tasteRunter)) { | ||
- | | + | |
move(0, dy); | move(0, dy); | ||
} | } | ||
Zeile 347: | Zeile 356: | ||
move(vx, vy); | move(vx, vy); | ||
- | if(getCenterY() < getWidth() / 2) { | + | if(getCenterY() < getHeight() / 2) { |
vy = vy * (-1); | vy = vy * (-1); | ||
} | } | ||
- | if(getCenterY() | + | if(getCenterY() |
vy = vy * (-1); | vy = vy * (-1); | ||
} | } | ||
Zeile 362: | Zeile 371: | ||
| | ||
| | ||
- | setCenter(400, 300); | + | moveTo(400, 300); |
} | } | ||
Zeile 368: | Zeile 377: | ||
| | ||
| | ||
- | setCenter(400, 300); | + | moveTo(400, 300); |
} | } | ||
Zeile 403: | Zeile 412: | ||
- 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. | - 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. | ||
- Herausforderung (freiwillig): | - Herausforderung (freiwillig): | ||
+ | |||
+ | [[.hausaufgabe: | ||
==== Tipps zu den Aufgaben ==== | ==== Tipps zu den Aufgaben ==== |
projects/pong/start.1613815925.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)