Programmieren von LegoMindstorms-Robotern mit NQC
Programmieren von LegoMindstorms-Robotern mit NQC
Programmieren von LegoMindstorms-Robotern mit NQC
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
#define MOVE_TIME 200<br />
#define TURN_TIME 160<br />
task main()<br />
{<br />
repeat(10)<br />
{<br />
repeat(4)<br />
{<br />
OnFwd(OUT_A+OUT_C);<br />
Wait(MOVE_TIME);<br />
OnRev(OUT_C);<br />
Wait(TURN_TIME);<br />
}<br />
}<br />
Off(OUT_A+OUT_C);<br />
}<br />
Es gibt hier eine repeat - Anweisung innerhalb der anderen. Man nennt dies eine " verschachtelte " repeat- Anweisung.<br />
du kannst repeat - Anweisungen verschachteln so viele du willst. Beachte bitte die Klammern {} und Einrückungen im<br />
Programm. Die task main () beginnt <strong>mit</strong> der ersten Klammer “{“ und endet <strong>mit</strong> der letzten “}”.<br />
Die erste repeat - Anweisung beginnt <strong>mit</strong> der zweiten Klammer “{“ und endet <strong>mit</strong> der vorletzten “}”. Die zweite,<br />
verschachtelte, repeat - Anweisung beginnt <strong>mit</strong> der dritten Klammer “{“ und endet <strong>mit</strong> der drittletzten “}”.<br />
Du siehst, Klammern { } werden immer paarweise verwendet und die Befehle dazwischen rücken wir etwas ein.<br />
3.3. Kommentare hinzu fügen<br />
Kommentare =Bemerkungen, Anmerkungen, Hinweise.<br />
Um dein Programm lesbarer zu gestalten, ist es sinnvoll Kommentare hinzuzufügen. Wann immer du die beiden Schrägstriche<br />
// verwendest, wird der Rest dieser Zeile ignoriert, also nicht als Befehl für den RCX verstanden, und kann für<br />
Kommentare verwendet werden. Lange Kommentare werden zwischen /* und */ gesetzt und können sich über mehrere<br />
Zeilen erstrecken. Kommentar wird im RCX-Command Center grün gefärbt.<br />
Dein Programm könnte wie folgt ausschauen:<br />
/* 10 Quadrate<br />
by Mark Overmars<br />
Dieses Programm veranlaßt den Roboter 10 Quadrate zu fahren<br />
*/<br />
#define MOVE_TIME 200 // Zeit für die Geradeausfahrt<br />
#define TURN_TIME 160 // Zeit für die 90º-Kurve<br />
task main()<br />
{<br />
repeat(10)<br />
{<br />
repeat(4)<br />
}<br />
{<br />
OnFwd(OUT_A+OUT_C);<br />
Wait(MOVE_TIME);<br />
OnRev(OUT_C);<br />
Wait(TURN_TIME);<br />
}<br />
}<br />
Off(OUT_A+OUT_C);<br />
// Fahre 10 Quadrate<br />
// Fahre die vier Ecken und Seiten<br />
// Schalte nun die Motoren ab<br />
3.4. Zusammenfassung<br />
In diesem Kapitel haben wir die repeat - Anweisung und die Verwendung <strong>von</strong> Kommentaren gelernt.<br />
Außerdem lernten wir die Verwendung verschachtelter Anweisungen kennen, und wie man zusammengehörende<br />
Anweisungen durch Klammern { } und Einrücken als zusammengehörend kenntlich macht.<br />
Da<strong>mit</strong> kannst du deinen Roboter schon dazu bringen die verschiedensten Wege zu fahren.<br />
Übe das doch ein wenig und verändere dein Programm ein paar mal, bevor du im nächsten Kapitel weitermachst.