~~NOTOC~~ [[app:app_lektion005_01|=> Lektion 5.1: Bewegung des Schlägers]] ====== Lektion 5.2: Bewegung des Balls ====== Der Ball soll sich frei auf dem Spielfeld bewegen können. Er springt zwar nicht, prallt jedoch an den Wänden und am Schläger ab. === Der EinwurfButton === Nach dem Einwurf wird die Geschwindigkeit des Balls auf ein vorher festgelegtes Minimum über eine ''global speed''-Variable gesetzt. Der Ball soll am oberen Spielfeldrand, s.h. Y-Wert {{ :app:squash_blocks_11.png?350|}} ist Null, an einer beliebigen Stelle X eingeworfen werden. Einen beliebigen Wert erhält man über ''random integer''. {{ :work.png|}} ==== Aufgabe 16 ==== - Implementiere die Eigenschaft ''EinwurfButton.Click'' - Das SpeedLabel erhält dabei den Wert der ''global speed''-Variable - Der Ball soll in Richtung des unteren Spielfeldrandes wandern.\\ Verwende dazu {{:app:squash_blocks_10.png?450|}}\\ und überlege dir, welche Werte man einsetzen //könnte//. === Abprallen am Spielfeldrand === **Erklärung:** - Der Ball prallt an der Wand des Spielfeldes ab. - Falls der Ball am unteren Spielfeldrand abprallt (edge = -1), hat der Schläger den Ball verfehlt, deswegen wird der Counter dafür hoch gezählt. - Falls nun die Geschwindigkeit zu hoch war (größer als die Minimalgeschwindigkeit), wird sie um den Faktor ''getroffen durch verfehlt'' verringert. {{:app:squash_blocks_3.png?700|}} {{ :work.png|}} ==== Aufgabe 17 ==== {{ :app:squash_blocks_12.png?300|}} Implementiere nach obigem Schema das **Abprallen am Schläger** unter folgenden Voraussetzungen: - Der Ball prallt theoretisch an der Ecke ''-1'' ab. - Die Zahl der Treffer wird um eins erhöht. - Die Geschwindigkeit wird um den Faktor ''getroffen durch verfehlt'' erhöht. ---- [[app:app_lektion005_03|=> Lektion 5.3: Zusatzfunktionen]]\\ [[app:start|=> Übersicht: Android APPs programmieren]]