Planung für die Do, 04.12.14 Thema: Greenfoot Das Asteroid-Szenario o Vererbung Besprechungen: o Java-Quelltext Nachschreib-Test: Anna Libero: Philip (nochmal) Arbeiten, die 4- oder schwächer sind, müssen unterschrieben werden. Wiederholungen entfällt Hausaufgabenbesprechung: 1. Installiere Java, Greenfoot und die Buchszenarien mit Hilfe der kopierten Anleitung. 2. Bearbeite alle Aufgaben zum Wombat-Szenario. 3. Lies die Zusammenfassungen der Programmiertechniken und der Konzepte. Notiere dir Fragen, wenn du etwas nicht verstehst. Themen: Referat Thorsten Das Asteroid-Szenario 1. S. experimentieren mit dem Szenario (Hinweis auf Tastatursteuerung und schießen mit der Leertaste!!!) 2. L-Demo zum Asteroid-Szenario (Das Klassendiagramm) a. Die Klassen World, Space b. Unterklassen (Ist-eine-Beziehungen): i. Space World Space ist eine World ii. Explosion, Mover Actor Explosion und Mover sind Actor iii. Bullet, Rocket, Asteroid Mover Bullet, Rocket, Asteroid sind Mover iv. Aber auch Bullet, Rocket, Asteroid sind Actor!!!!!!! c. Unterklassen sind eine Spezialisierung der Oberklassen d. Hinweis auf das Objektmenü. 3. S.-Aufgaben a. Wenn du das Spiel eine Weile gespielt hast, dürfte dir nicht entgangen sein, dass deine Schüsse erst mit einiger Verzögerung abgefeuert werden. Um dieses Manko zu beheben, wollen wir unseren Code zum Feuern aus dem Raumschiff ein wenig optimieren. Dann hast du gegen die Asteroiden eine bessere Chance. Platziere eine Rakete in der Welt, rufe dann (über das Objektmenü) die dazugehörige Methode setGunReloadTime auf und setze die Zeit zum erneuten Laden auf 5. Spiele dann noch einmal (ein Raumschiff und mit zwei Asteroiden), um die Änderung auszuprobieren. D:\769783096.doc b. Nachdem du ein wenig ausprobiert hast, finde heraus, wie viele Schüsse du abgegeben hast. Drücke dazu ggfs. die Pause-Taste. Auch dazu steht dir im Objektmenü eine Methode zur Verfügung, die den entsprechenden Rückgabewert anzeigt. Versuche nun, zwei Asteroiden mit so wenigen Schüssen wie möglich zu zerstören. c. Sicher ist die aufgefallen, dass sich die Rakete zu Beginn ein wenig bewegt. Finde heraus, wie hoch ihre Anfangsgeschwindigkeit ist. d. Asteroiden haben eine inhärente Stabilität. Jedes Mal, wenn sie von einer Kugel getroffen werden, nimmt ihre Stabilität ab. Wenn die Stabilität null erreicht ist, sind die Asteroiden zerstört. Wie hoch ist der Stabilitätswert der Asteroiden bei ihrer Erzeugung? Um wie viel nimmt die Stabilität ab, wenn der Asteroid durch eine Kugel getroffen wird? e. Erstelle einen sehr großen Asteroiden. 4. Besprechung der neuen Erkenntnisse 5. L-Demo zum Asteroid-Szenario (Quelltext) a. Die Methoden einer Klasse werden in Java geschrieben. b. Den Quelltext aller Methoden einer Klasse erhält man i. durch Rechtsklick auf die Klasse ii. dann wählt man im sich öffnenden Kontextmenü EDITOR ÖFFNEN. iii. Oder durch Doppelklick auf die Klasse. c. Setzen der Anfangsgeschwindigkeit für Raketen auf 5 durch Neuzuweisung von 5 auf die Variablen gunReloadTime. (Zeile 25 in Rocketquelltext) d. Hinweis auf Schraffierung der Klasse Neukompilierung notwendig Übungen/Hausaufgaben 1. Ändere im Quelltext die Anfangsgeschwindigkeit der Raketen. 2. Finde heraus, wo im Quelltext der Stabilität ein Wert zugewiesen wird und wo sich die Stabilität ändert. Experimentiere, indem du den Quelltext (dosiert) veränderst. 3. Versuche durch Quelltextveränderungen, das Verhalten der Asteroiden zu beeinflussen. 4. Versuche eine wirksamere Kugel, die mehr Schaden anrichtet, zu erzeugen. Du musst in der nächsten Stunde deine Ergebnisse der Klasse vorstellen und anhand des Quelltextes erklären können. D:\769783096.doc