[[2005/B2/わたるのノート]] #define black_green 40 #define green_white 50 int first_box ; int second_box ; int A; int B;
task main() { ClearMessage(); until (Message() != 0); SetSensor (SENSOR_1, SENSOR_LIGHT); i ( Message() ==31 ) //up { OnFwd(OUT_A+OUT_C);Wait(70); Off(OUT_A+OUT_C); Wait(20); if ( SENSOR_1 < 45 ) { A = 1; } if ((SENSOR_1>=45) && (SENSOR_1< 52)) { A = 2;PlaySound(SOUND_LOW_BEEP); Wait(100); } if(SENSOR_1>=52) { A = 3; } OnFwd(OUT_A+OUT_C);Wait(50); Off(OUT_A+OUT_C); OnRev(OUT_A); Wait(70); Off(OUT_A); SendMessage(32);Wait(200); } if ( Message() ==33 ) //up 2 { OnFwd(OUT_A+OUT_C); Wait(150); Off(OUT_A+OUT_C); if ( SENSOR_1 < 40 ) { B = 1; } if ((SENSOR_1>=40) && (SENSOR_1< 50)) { B = 2; } if(SENSOR_1>=50) { B = 3;PlaySound(SOUND_LOW_BEEP); Wait(100); }
SendMessage(34);Wait(200); } until(Message() ==100 ) start light_sensor; stop light_sensor; if (Message() ==3 ) //down { OnRev(OUT_A+OUT_C); Wait(70); Off(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); //2つ目を落とさないように上げる Wait(70); Off(OUT_A); SendMessage(21 );Wait(200); } } task light_sensor () { //(SENSOR_1 < black_green); // black //(SENSOR_1 >= black_green && SENSOR_1 <= green_white); //green //(SENSOR_1 > green_white ); //white if ((A == 2) && (B == 3)) { SendMessage(1);Wait(200); OnFwd(OUT_A+OUT_C);Wait(100); } if ((A == 2) && (B == 1)) //if - while { SendMessage(2);Wait(200); } if ((A == 3) && (B == 1)) { SendMessage(3);Wait(200); } if ((A == 3) && (B == 2)) { SendMessage(4);Wait(200); } if ((A == 1) && (B == 2)) { SendMessage(5);Wait(200); } if ((A == 1) && (B == 3)) { SendMessage(6);Wait(200); } }