- 追加された行はこの色です。
- 削除された行はこの色です。
#define turn_left OnFwd(OUT_B);
#define turn_right OnRev(OUT_B);
#define shot OnFwd(OUT_A);Wait(15);Off(OUT_A);
#define turn_left OnFwd(OUT_B);//右に曲がる
#define turn_right OnRev(OUT_B);//左に曲がる
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_LIGHT);
SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1は光センサー(以下光1とする)
SetSensor(SENSOR_3,SENSOR_LIGHT);//センサ−3は光センサー (以下光3)
while(true){
if(SENSOR_1>=40&&SENSOR_3>=40&&SENSOR_1<SENSOR_3){
turn_right ;//光1と光3が40以下で光3の光の方が強いとき右に曲がる
}
if(SENSOR_1>=40&&SENSOR_3>=40&&SENSOR_1>SENSOR_3){
turn_left ;//光1と光3が40以下で光1の光の方が強いとき左に曲がる
}
if(SENSOR_1<40&&SENSOR_3>=40){
turn_left ;//光1が40以下で光3が40以上のとき左に曲がる
}
if(SENSOR_1>=40&&SENSOR_3<40){
turn_right ;//光3が40以下で光1が40以上のとき右に曲がる
}
if(SENSOR_1<40&&SENSOR_3<40&&SENSOR_1<SENSOR_3){
turn_right ;//光1と光3が40以上で光3の光の方が強いとき右に曲がる
}
if(SENSOR_1<40&&SENSOR_3<40&&SENSOR_1>SENSOR_3){
turn_left ;//光1と光3が40以上で光1の光の方が強いとき左に曲がる
}
}}
#define turn_left OnFwd(OUT_B);//右に曲がる
#define turn_right OnRev(OUT_B);//左に曲がる
#define shot OnFwd(OUT_A);Wait(15);Off(OUT_A);//投げる
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1は光センサー(以下光1とする)
SetSensor(SENSOR_2,SENSOR_TOUCH);//センサ−2はタッチセンサー(以下タッチ2)
SetSensor(SENSOR_3,SENSOR_LIGHT);//センサ−3は光センサー (以下光3)
while(true){
if(SENSOR_1>=40&&SENSOR_3>=40&&SENSOR_1<SENSOR_3){
turn_right ;
turn_right ;//光1と光3が40以下で光3の光の方が強いとき右に曲がる
}
if(SENSOR_1>=40&&SENSOR_3>=40&&SENSOR_1>SENSOR_3){
turn_left ;
turn_left ;//光1と光3が40以下で光1の光の方が強いとき左に曲がる
}
if(SENSOR_1<40&&SENSOR_3>=40){
turn_left ;
if(SENSOR_1<40&&SENSOR_3>=40){
turn_left ;//光1が40以下で光3が40以上のとき左に曲がる
}
if(SENSOR_1>=40&&SENSOR_3<40){
turn_right ;
turn_right ;//光3が40以下で光1が40以上のとき右に曲がる
}
if(SENSOR_1<40&&SENSOR_3<40&&SENSOR_1<SENSOR_3){
turn_right ;
if(SENSOR_1<40&&SENSOR_3<40&&SENSOR_1<SENSOR_3){
turn_right ;//光1と光3が40以上で光3の光の方が強いとき右に曲がる
}
if(SENSOR_1<40&&SENSOR_3<40&&SENSOR_1>SENSOR_3){
turn_left ;
if(SENSOR_1<40&&SENSOR_3<40&&SENSOR_1>SENSOR_3){
turn_left ;//光1と光3が40以上で光1の光の方が強いとき左に曲がる
}
if(SENSOR_1>=60&&SENSOR_3>=60){
shot;
shot;//光1と光3がともに60を超えたとき投げる
}
if(SENSOR_2 == 1)
{Off(OUT_B); }
}}
if(SENSOR_2 == 1) // タッチ2に当たると止まる
{ Off(OUT_B); }
}}