Informatikwiki

Albert Einstein Gymnasium Reutlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


app:app_lektion005_02

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
app:app_lektion005_02 [04.01.2015 11:01] Stefan Gaumapp:app_lektion005_02 [21.01.2015 10:57] (aktuell) Stefan Gaum
Zeile 1: Zeile 1:
 ~~NOTOC~~ ~~NOTOC~~
-[[app:app_lektion005_01|=> Lektion 5.1: der Clock-Timer]] +[[app:app_lektion005_01|=> Lektion 5.1: Bewegung des Schlägers]] 
-====== Lektion 5.2: Bewegung in x-Richtung ======+====== Lektion 5.2: Bewegung des Balls ======
  
-{{  :app:clock_schwarz_2.png?400|}} +Der Ball soll sich frei auf dem Spielfeld bewegen könnenEr springt zwar nicht, prallt jedoch an den Wänden und am Schläger ab.
-Bevor wir den Ball bewegen lassen, müssen wir überprüfen, ob sich der Ball überhaupt im Spielfeld befindetDafür legt man die bedien Variablen ''randMin'' und ''randMax'' fest.\\  {{:app:rand_var.png?250|}}+
  
-==== Veränderung des x-Wertes entsprechend dem Sensor ====+=== Der EinwurfButton ===
  
-  * Idee: {{:app:clock_schwarz_3.png?500|}} +Nach dem Einwurf wird die Geschwindigkeit des Balls auf ein vorher festgelegtes Minimum über eine ''global speed''-Variable gesetztDer Ball soll am oberen Spielfeldrand, s.h. Y-Wert  
-  {{  :app:speed_var.png?200|}} Aber ist das gut? => Nein! Das Spielfeld ist zu groß und der Ball würde zu lange benötigenbis er sich bewegt hatDeswegen  verwenden wir ein Vielfaches dieser Bewegung.\\ {{:app:clock_schwarz_4.png?650|}}+{{  :app:squash_blocks_11.png?350|}} 
 +ist Nullan einer beliebigen Stelle X eingeworfen werden.
  
-==== Was passiert, wenn sich der Ball an einem der Ränder befindet? ====+Einen beliebigen Wert erhält man über ''random integer''.
  
-Falls der Ball aus dem Spielfeld zu geraten droht, legen wir seine Koordinaten entsprechend der Spielfeldbreite fest.+{{  :work.png|}} 
 +==== Aufgabe 16 ====
  
-{{:app:clock_schwarz_5.png?700|}}+  - 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//.
  
-==== Die x-Koordinate dem Ball zuordnen ====+=== Abprallen am Spielfeldrand ===
  
-Wenn sich der Ball an die berechnete Stelle bewegen sollmüssen ihm die Koordinaten mitgeteilt werdenDafür gibt es das Ereignis ''MoveTo'' unter der Komponente ''Ball''.+**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:clock_schwarz_6.png?350|}}{{:app:clock_schwarz_7.png?350|}}+{{:app:squash_blocks_3.png?700|}}
  
-Da der y-Wert noch nicht berechnet wurde, setzen wir ihn auf eine Konstante festNun sollte sich der Ball auf einer Linie, parallel zur x-Achse und 100px vom Rand entfernt, von links nach rechts bewegen lassen.+{{  :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: Bewegung in y-Richtung]]\\ +[[app:app_lektion005_03|=> Lektion 5.3: Zusatzfunktionen]]\\ 
 [[app:start|=> Übersicht: Android APPs programmieren]] [[app:start|=> Übersicht: Android APPs programmieren]]
- 
app/app_lektion005_02.1420369303.txt.gz · Zuletzt geändert: 04.01.2015 11:01 von Stefan Gaum

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki