[[2004/C7/光を追いかけるロボット(必須)]] /* 光を追いかけて進むプログラム */ #define act_trace 300 #define turn_right OnFwd(OUT_A);OnRev(OUT_C); #define turn_left OnFwd(OUT_C);OnRev(OUT_A); #define go_straight OnFwd(OUT_C);OnFwd(OUT_A); #define stop Off(OUT_C+OUT_A); int max_light; int l_1 #define act_trace 300 #define turn_right OnFwd(OUT_A); OnRev(OUT_C); #define turn_left OnFwd(OUT_C); OnRev(OUT_A); #define go_straight OnFwd(OUT_C); OnFwd(OUT_A); #define stop Off(OUT_C+OUT_A); int max_light; int l_1 task main() { /* 定義 */ /* 定義 */ SetSensor(SENSOR_2, SENSOR_LIGHT); /* 2を光センサーと宣言 */ SetPower(OUT_A,2); SetPower(OUT_C,2); /* A,Cの出力を2に */ max_light = 0; /* 光センサーの最大値を定義 */ max_light = SENSOR_2; turn_left; if(SENSOR_2 >= max_light) {l_1 = SENSOR_2; go_stright} While(Timer(0) <= act_trace) {ClearTimer(0); if(SENSOR_2 <= l_1) {ClearTimer(1); turn_left; if(Timer(1) > 5) {turn_right;} until(SENSOR_2 >= l_1); go_straight; } ClearTimer(0); } }