
Zitat von
travell0r
Und wenn das ein Countdown sein soll, auf was bezieht er sich dann beim runterzählen? Also Sekunden? Millisekunden? *allgemeineverwirrung*
Mit Countdown ist diesmal gemeint, dass i (eine Variable, z.b. von Typ int) bei jedem Schleifendurchgang runter anstatt hochgezählt wird. Eine for-Schleife ist in C ein Spezialfall der while-Schleife, ganau genommen ist for(a; b; c ; ) { d } dasselbe wie a; while(b) {d; c ;} . Das erste Statement in der Klammer der for-Schleife wird also nur einmal bedingungslos ausgeführt. Solange das zweite Statement wahr (true) ist, wird das, was nach der for-Schleife steht, sowie das dritte Statement ausgeführt.
Bespiel: Du hast ein int-Arry mit 10 Elementen, und du möchtest dass in dem Array nacheinander die Zahlen 0-9 stehen. Das kann man z.b. so machen
Code:
int array[10];
array[0] = 0;
array[1] = 1;
...
array[9] = 9;
oder mit einer while-Schleife
Code:
int array[10];
int i;
i = 0;
while(i<10)
{
array[i] = i;
i++;
}
oder eben mit einer for-Schleife
Code:
int array[10];
int i;
for(i=0; i<10; i++)
array[i] = i;
Letzteres hat einfach den Vorteil, dass es übersichtlicher ist.
In dem Code, dan Du gepostet hast wird in einer Endlosschleife while(1) zuerst jeweils die Geschwindigkeit eingestellt, mit der ASURO fahren soll und dann eine gewisse Zeit mit Sleep abgewartet (während dieser Zeit faäht ASURO weiter). Weil die Sleep-Funktion keine übergroßen Werte annimmt, furt man sie in einer for-Schleife mehrmals nacheinander auf.
Mal ehrlich, arbeite erstmal ein gutes C-Tutorial durch oder kauf Dir ein C-Buch, bevor Du mit ASURO weitermachst. Es ist doch viel zu schade, dass gute Ideen einfach nur deshalb scheitern, weil man die Programmiersprache nicht beherrscht. Es ist wie beim Schreiben eines Romans: nicht die Beherrschung der Grammatik, sondern die Phantasie ist das wichtigste. Aber selbst die größte Phantasie nutzt einem nichts, wenn man Analphabet ist.
MfG Mark
Lesezeichen