#define RUN_TIME 020
sub turn_left() {OnRev(OUT_A);Wait(RUN_TIME);}
sub turn_right() {OnFwd(OUT_A);Wait(RUN_TIME);}
sub throw() {OnRev(OUT_C);Wait(100);}
task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); int count=0; while(count<5) {if(SENSOR_1>SENSOR_3) {turn_left(); if(SENSOR_1>SENSOR_3) {turn_left(); count=0; }else{ turn_right(); count+=1;} }else{ if(SENSOR_1>SENSOR_3) {turn_light(); count+=1; }else{ turn_left(); count=0;} } } Off(OUT_A); throw(); Off(OUT_C); }
最初に「変数を使ってカウント」をイメージした時はこんな感じでした。 やたらに短くて不安だったが、案の定動かなかった。 (しかも、変数の性質を全く活かせていない)