api:documentation:robot:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
api:documentation:robot:start [2022/04/14 21:45] – [Beispielprogramm] Martin Pabst | api:documentation:robot:start [2022/04/15 10:51] – [Welt dynamisch vorbesetzen] Martin Pabst | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Die Klassen Robot und RobotWorld ====== | ====== Die Klassen Robot und RobotWorld ====== | ||
<WRAP center round info 80%> | <WRAP center round info 80%> | ||
- | Die Klassen '' | + | Die Klassen '' |
</ | </ | ||
Zeile 19: | Zeile 19: | ||
} | } | ||
| | ||
+ | } | ||
+ | for(int i = 0; i < 5; i++){ | ||
+ | | ||
+ | r.hinlegen(" | ||
+ | } | ||
+ | | ||
} | } | ||
</ | </ | ||
Zeile 25: | Zeile 31: | ||
</ | </ | ||
+ | |||
+ | ===== Mausinteraktion ===== | ||
+ | Durch Klicken und Ziehen im Bild kann die Kameraposition verändert werden. Mithilfe des Mausrads kann man zoomen. | ||
+ | |||
+ | ===== Methoden des Roboters ===== | ||
+ | [[.methoden: | ||
+ | |||
+ | ===== Welt vorbesetzen ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Robot r = new Robot(3, 2, """ | ||
+ | 1 1 1 1 | ||
+ | y1 1r | ||
+ | 2 2 | ||
+ | B1mR111111m | ||
+ | """ | ||
+ | //y1 1r bedeutet: Umschalten zur Ziegelfarbe Gelb, | ||
+ | //dann einen Ziegel setzen, 5 leere Felder, wieder einen Ziegel, | ||
+ | //dann umschalten zur Ziegelfarbe rot. | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Die Robot-Klasse besitzt einen Konstruktor, | ||
+ | * Jede Zeile steht für eine Reihe in der Welt (von West nach Ost). Die Zeilen werden durch einen Zeilenumbruch (" | ||
+ | * Ein Leerzeichen steht für ein leeres Quadrat in der Welt. | ||
+ | * Der Unterstrich (_) steht für ein Quadrat mit einem Marker, aber keinem Ziegel. | ||
+ | * Die Ziffern 1, 2, ..., 9, 0 stehen für 1, 2, ..., 10 Ziegel auf einem Feld. | ||
+ | * Die gesetzten Marken sind standardmäßig gelb. Die Zeichen R, Y, G, B schalten die Markenfarbe um zu Rot, Gelb, Grün, Blau. Alle nachfolgenden Marken werden in der neuen Farbe gesetzt. | ||
+ | * Die gesetzten Ziegel sind standardmäßig rot. Die Zeichen r, y, g, b schalten die Ziegelfarbe um zu Rot, Gelb, Grün, Blau. Alle nachfolgenden Ziegel werden in der neuen Farbe gesetzt. | ||
+ | </ | ||
+ | |||
+ | ===== Welt dynamisch vorbesetzen ===== | ||
+ | <WRAP center round info 80%> | ||
+ | Natürlich kann man die Welt auch dynamisch (z.B. mit Blöcken auf zufälligen Positionen) vorbesetzen. Dazu dienen die Methoden '' | ||
+ | **Bemerkung: | ||
+ | |||
+ | </ | ||
+ | == Beispiel: == | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new MyWorld(); | ||
+ | Robot r = new Robot(); | ||
+ | |||
+ | class MyWorld extends RobotWorld { | ||
+ | | ||
+ | super(10, 10); | ||
+ | for (int i = 0; i < 30; i++) { | ||
+ | | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Da das '' | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | MyRobot r = new MyRobot(); | ||
+ | |||
+ | class MyRobot extends Robot { | ||
+ | | ||
+ | super(2, 3, 10, 10); | ||
+ | RobotWorld rw = getWelt(); | ||
+ | for (int i = 0; i < 30; i++) { | ||
+ | | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
api/documentation/robot/start.txt · Zuletzt geändert: 2022/04/15 11:35 von Martin Pabst