[[2004/C6/ボロット]] -パックを持ち上げるロボット #define migi OUT_A #define hidari OUT_C #define ageru OUT_B #define midori 39 task main() {SetSensor(SENSOR_2,SENSOR_TOUCH); //壁に当たると反応するタッチセンサー SetSensor(SENSOR_1,SENSOR_LIGHT); //ライントレース用の光センサー OnRev(migi+hidari); Wait(300); //緑の線までバック OnRev(migi+hidari); until(SENSOR_1 == midori); Off(migi+hidari); Off(migi); OnFwd(hidari); Wait(250); //左を向く Off(migi+hidari); Wait(100); ClearTimer(0); while(Timer(0) <= 35) //3.5秒間緑の線をトレース {if(SENSOR_1 < midori) {OnFwd(hidari); Off(migi);} else{Off(hidari); OnFwd(migi);}} OnFwd(migi); OnRev(hidari); Wait(110); //右を向く Off(migi+hidari); Wait(100); OnRev(migi+hidari); //少しバック until(SENSOR_1 == midori); OnRev(migi+hidari); Wait(150); Off(migi+hidari); Wait(100); repeat(25){ //以下の動作を25回繰り返す SetSensor(SENSOR_3,SENSOR_LIGHT); //パックに反応する光センサー if(SENSOR_3 < 36) //ロボの前にパックがきたら {PlaySound(SOUND_UP); OnFwd(ageru);OnFwd(migi+hidari); //壁に当たるまで前進 until(SENSOR_2 == 1); Off(migi+hidari);Wait(100); OnFor(ageru,1500); //15秒間パックを持ち上げる動作をする OnRev(migi+hidari); Wait(200); //少しバック Off(migi+hidari);} } }