Projekt:2022/RoboRally: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 20: Zeile 20:
* [https://zeichenmaschine.xyz/docs JavaDoc der Zeichenmaschine]
* [https://zeichenmaschine.xyz/docs JavaDoc der Zeichenmaschine]
** [https://zeichenmaschine.xyz/docs/schule/ngb/zm/layers/DrawingLayer.html JavaDoc der Zeichenebene]
** [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 ==