396
Bearbeitungen
Ngb (Diskussion | Beiträge) |
Ngb (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 18: | Zeile 18: | ||
* [https://git.ngb.schule/IF-LK-2022/RoboRally Gitea-Repository] | * [https://git.ngb.schule/IF-LK-2022/RoboRally Gitea-Repository] | ||
* [https://board.ngb.schule/project/changeCurrentProject/7 Scrum-Board und Issue-Tracker] | * [https://board.ngb.schule/project/changeCurrentProject/7 Scrum-Board und Issue-Tracker] | ||
* [https://zeichenmaschine.xyz/docs JavaDoc der Zeichenmaschine] | |||
** [https://zeichenmaschine.xyz/docs/schule/ngb/zm/layers/DrawingLayer.html JavaDoc der Zeichenebene] | |||
{{Info:Start}} | |||
=== Hinweise zur Zeichenmaschine === | |||
* Die Hauptklasse <code>RoboRally</code> erweitert die Klasse [https://zeichenmaschine.xyz/docs/schule/ngb/zm/Zeichenmaschine.html Zeichenmaschine], die für die Ausführung des Programms zuständig ist und das Programmfenster verwaltet. | |||
* Zum Zeichnen auf die Zeichenfläche wird die Klasse [https://zeichenmaschine.xyz/docs/schule/ngb/zm/layers/DrawingLayer.html DrawingLayer] verwendet. Sie bietet diverse Methoden zum Zeichnen von Formen an. | |||
* Ein Objekt der Klasse <code>DrawingLayer</code> wird an die <code>draw</code> Methoden der verschiedenen Klassen (z.B. <code>Tile</code>) als Parameter <code>drawing</code> übergeben. (Siehe Beispiele in den vorhandenen Unterklassen von <code>Tile</code>.) | |||
* Die meisten Klassen erben von der Oberklasse [https://zeichenmaschine.xyz/docs/schule/ngb/zm/Constants.html Constants], die eine Reihe an Hilfsmethoden zur Verfügung stellt. Diese reichen von Zufallszahlen (<code>random(int, int)</code>), über mathematische Funktionen (<code>sin(double)</code>) bis zu Abstandsberechnungen (<code>distance(double, double, double, double)</code>). So können die Methoden in den Unterklassen einfach verwendet werden. | |||
* Die Klasse <code>Constants</code> besitzt auch eine Menge konstanter Werte und einige Variablen, die global im laufenden Programm gelten. Dazu gehören Konstanten für Farben (<code>BLUE</code>, <code>RED</code>, ...) und z.B. die Größe der Zeichenfläche (<code>canvasWidth</code>, <code>canvasHeight</code>). | |||
{{Info:End}} | |||
== Aufgaben Erweiterungsphase == | == Aufgaben Erweiterungsphase == | ||
Zeile 26: | Zeile 38: | ||
# Entwirf eine Idee für eine neue Kachel für die Fabrikkarte. Überleg Dir dazu, wie die Kachel funktioniert und wie sie aussehen könnte. | # Entwirf eine Idee für eine neue Kachel für die Fabrikkarte. Überleg Dir dazu, wie die Kachel funktioniert und wie sie aussehen könnte. | ||
# Erstelle eine Karte im [https://board.ngb.schule/project/changeCurrentProject/7 Scrum-Board], die Deine Kachel beschreibt. Stelle als '''Meilenstein''' "III. Erweiterung" ein und weise sie Dir selber als Bearbeiter:in zu. (Prüfe auch, ob ein ähnlicher Effekt schon von jemand anderem implementiert wird und tausche Dich ggf. darüber aus. Beschreibe deinen Effekt so präzise, dass die anderen ihn nachvollziehen können.) | # Erstelle eine Karte im [https://board.ngb.schule/project/changeCurrentProject/7 Scrum-Board], die Deine Kachel beschreibt. Stelle als '''Meilenstein''' "III. Erweiterung" ein und weise sie Dir selber als Bearbeiter:in zu. (''Prüfe auch, ob ein ähnlicher Effekt schon von jemand anderem implementiert wird und tausche Dich ggf. darüber aus. Beschreibe deinen Effekt so präzise, dass die anderen ihn nachvollziehen können.'') | ||
# Erstelle eine neue Unterklasse der Klasse <code>Tile</code> im Paket <code>tiles</code>. Implementiere sie nach Deiner Idee und teste sie ausgiebig. | # Erstelle eine neue Unterklasse der Klasse <code>Tile</code> im Paket <code>tiles</code>. Implementiere sie nach Deiner Idee und teste sie ausgiebig. | ||