PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu while(true) schleifen



proevofreak
19.03.2008, 18:11
hallo, hab ne frage zu der while(true) schleifen.... was ist der unterschied zwischen folgenden 3 fällen:

fall1:

while(true)
{....
move(100,FWD,DIST_MM(300),0);
....}



fall2:

while(true)
{....
move(100,FWD,DIST_MM(300),true);
....}



fall 3:

while(true)
{....
move(100,FWD,DIST_MM(300),blocking);
...}


dass ich jetzt den befehl move(.....) genommen hab soll nur in beispiel sein.... ich will einfach nur wissen was grundsätzlich der unterschied zwischen dem 0, true und blocking in den klammern bewirkt....
gruß

Dirk
19.03.2008, 18:57
Hallo proevofreak,

den Fall 3 gibt es so nicht.

Zu den Fällen 1 und 2:
In der RP6-Anleitung wird das auf den Seiten 100 bis 102 gut erklärt.

Du kannst im move-Befehl am Ende den "blocking"-Parameter auf true (=1) oder auf false (=0) setzen. Dabei ist es egal, ob du z.B. false oder 0 einsetzt.
Identisch ist also:
move(100,FWD,DIST_MM(300),0);
... und ...
move(100,FWD,DIST_MM(300),false);

Identisch ist auch:
move(100,FWD,DIST_MM(300),1);
... und ...
move(100,FWD,DIST_MM(300),true);

Ich würde immer true/false nehmen, weil man dann beim Lesen des Progs sofort erkennt, ob der Parameter wahr = true oder unwahr = false ist.

Gruß Dirk

proevofreak
19.03.2008, 19:25
danke... is ja wirklich schlecht zu finden in d anleitung... hab unter schleifen gesucht.... also so hab ich des jetzt verstanden:

wenn man...
move(....,....,true)
while()
{
....}
nimmt, geht das programm erst zur schleife über wenn die gesamte strecke abgefahren wurde, wenn man antstatt true false nehmen würde würde es gleich zur schleife übergehen. liege ich mit diesen annahmen richtig? gruß

SlyD
19.03.2008, 20:12
hab unter schleifen gesucht....


Die funktionsweise der "move" Funktion hat damit ja nicht wirklich was zu tun. Schleifen sind ein allgemeines C Konstrukt - move eine spezielle Funktion aus der RP6 Library ...

"BLOCKING" ist übrigens schlicht ein #define (=Textersatz) und steigert die Lesbarkeit des Programmcodes, da man sofort sieht ob die Funktion im blockierenden Modus verwendet wird oder nicht.

MfG,
SlyD