Hallo Leute
Ich bin z.Z. am Programmieren eines Roboterarms der durch einen NXT von Lego angesteuert ist. Im Moment klappt aber folgender Code-Teil nicht so ganz:
Die Variable ball ist ein Array, indem die Elemente 1 oder 0 sein können. Diejenigen die dann 1 sind sollten vertauscht werden. Mein Problem ist nun aber, dass hier nicht nur das allererste if, und d.h. exchangeball(3); ausgeführt wird, sonder der Reihe nach alle andern auch.Code:int ball[3][3]; ball[0][0] = 1; ball[0][1] = 0; ball[0][2] = 0; ball[1][0] = 0; ball[1][1] = 0; ball[1][2] = 0; ball[2][0] = 0; ball[2][1] = 0; ball[2][2] = 0; if(ball[0][0] == 1){ exchangeball(3);} if(ball[2][0] == 1){ exchangeball(1);} if(ball[0][1] == 1){ exchangeball(5);} if(ball[2][1] == 1){ exchangeball(6);} if(ball[0][2] == 1){ exchangeball(10);} if(ball[2][2] == 1){ exchangeball(8);}
Hat jemand eine Ahnung wieso?
thx
Anything that can go wrong, will go wrong. Kabel sind entweder zu lang oder zu kurz...
hallo orph,
das ist so nicht nachvollziehbar, aber
Dann weisst du, ob mit dem ballarray etwas unvorhergesehenes angestellt wurde, und ob die Bedingung wirklich als wahr erkannt wird.Code:int ball[3][3]; ball[0][0] = 1; ball[0][1] = 0; ball[0][2] = 0; ball[1][0] = 0; ball[1][1] = 0; ball[1][2] = 0; ball[2][0] = 0; ball[2][1] = 0; ball[2][2] = 0; if(ball[0][0] == 1){ exchangeball(3);} if(ball[2][0] == 1){ // lasse hier den Wert von ball[2][0] ausgeben exchangeball(1);} if(ball[0][1] == 1){ exchangeball(5);} if(ball[2][1] == 1){ exchangeball(6);} if(ball[0][2] == 1){ exchangeball(10);} if(ball[2][2] == 1){ exchangeball(8);}
grüsse,
Hannes
Lesezeichen