#define zensin(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC); #define ageru(t) OnRev(OUT_B);Wait(t);Off(OUT_B); task main () { SetSensor(SENSOR_2,SENSOR_LIGHT); int turntime = 300; //360度回転するための時間 int lightmax = 5; // int timemax; // ClearTimer(0); // タイマーのリセット SetPower(OUT_AC,1); // 観測時のタイヤの回転の速さによる変化を抑えるための準備 OnFwd(OUT_A);OnRev(OUT_C); //回転 while(FastTimer(0) < turntime) // 観測中の最大値を求めるための条件式
{ if(SENSOR_2 > lightmax) { lightmax = SENSOR_2; timemax = FastTimer(0); } } Off(OUT_AC); // 回転終了 SetPower(OUT_AC,1); // 観測時に読み取った光の最大値のある場所への移動 OnFwd(OUT_C);OnRev(OUT_A); Wait(turntime - timemax); Off(OUT_AC); } ageru(25); // アームを上げる zensin(80); // 前進 }