[[2006a/A2/課題2右]] **受け付けなかったプログラム(当たると旋回) //製作者 少年 [#yd9581c0] #define light 35 //光の閾値 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーと定義 SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2をタッチセンサーと定義 SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーと定義 OnFwd(OUT_B); //おまけを始動 while(1) //無限ループ { if(SENSOR_1>light) //センサー1が線の外の場合 { Float(OUT_C); //進みながら左へ曲がる }else{ //そうでない場合 OnFwd(OUT_A+OUT_C); //直進 } if(SENSOR_3<light) //センサー3が線の外の場合 { Float(OUT_A); //進みながら右へ曲がる }else{ //そうでない場合 OnFwd(OUT_A+OUT_C); //直進 } if(SENSOR_2==1); //物に触れた場合 { OnFwd(OUT_A);OnRev(OUT_C);Wait(180); //旋回 } } } **受け付けなかったプログラム(当たると追い越し) //製作者 少年 [#x8357d83] #define light 40 //光の閾値を設定 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1が光センサーと定義 SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2がタッチセンサーと定義 SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3が光センサーと定義 while(1) //無限ループ { if(SENSOR_1>light) //センサー1が線から外れた場合 { Float(OUT_C); //前進しながら左へ }else{ //センサー1が線の中の場合 OnFwd(OUT_A+OUT_C); //前進 if(SENSOR_3<light) //センサー3が線から外れた場合 { Float(OUT_A); //前進しながら右へ }eise{ //そうでない場合 OnFwd(OUT_A+OUT_C); //前進 if(SENSOR_2==1); //物に触れた場合 { Float(OUT_C);Wait(30); //前進しながら左へ OnFwd(OUT_C);Float(OUT_A);Wait(30); //前進しながら右へ OnFwd(OUT_A); //線の中へ } } }