22.11.2013 Aufrufe

Programmieren von LegoMindstorms-Robotern mit NQC

Programmieren von LegoMindstorms-Robotern mit NQC

Programmieren von LegoMindstorms-Robotern mit NQC

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!