[[2005/MemberOnly/進行状況B]] 持ち上げプログラム int A; int B; task main() { SetSensor (SENSOR_1, SENSOR_LIGHT); ClearMessage() ; until (Message() != 0); if ( Message() == 31 ) //一つ目の箱を上げる { OnFwd(OUT_A+OUT_C);Wait(80); Off(OUT_A+OUT_C); if ( SENSOR_1 < 45 ) { A = 1 ; PlaySound(SOUND_DOUBLE_BEEP) ; } if ((SENSOR_1 >= 45) && (SENSOR_1 < 52)) { A = 2 ; PlaySound(SOUND_DOWN); Wait(100); } if(SENSOR_1 >= 52) { A = 3 ; PlaySound(SOUND_FAST_UP) ; } OnFwd( OUT_A + OUT_C );Wait(100); Off( OUT_A + OUT_C ); OnRev( OUT_A ); Wait(70); Off( OUT_A ); SendMessage(32);Wait(200); } if ( Message() == 33 ) //2つ目の箱を上げる {PlaySound(SOUND_FAST_UP);Wait(200); OnFwd(OUT_A+OUT_C); Wait(130); Off(OUT_A+OUT_C); if ( SENSOR_1 < 45 ) { B = 1 ; PlaySound(SOUND_DOUBLE_BEEP) ;Wait(100); } if ((SENSOR_1>=45) && (SENSOR_1< 52)) { B = 2 ; PlaySound(SOUND_DOWN); Wait(100); } if(SENSOR_1>=52) { B = 3 ; PlaySound(SOUND_FAST_UP) ; Wait(100); } SendMessage(34);Wait(200); } until(Message() ==10 ) //2つの箱の色のパターンによって送るメッセージを変える if (A == 2 && B == 3) { PlaySound(SOUND_CLICK) ; SendMessage(1);Wait(200); } if (A == 2 && B == 1) { PlaySound(SOUND_CLICK) ; SendMessage(2);Wait(200); } if (A == 3 && B == 1) { PlaySound(SOUND_CLICK) ; SendMessage(3);Wait(200); } if (A == 3 && B == 2) { PlaySound(SOUND_CLICK) ; SendMessage(4);Wait(200); } if (A == 1 && B == 2) { PlaySound(SOUND_CLICK) ; SendMessage(5);Wait(200); } if (A == 1 && B == 3) { PlaySound(SOUND_CLICK) ; SendMessage(6);Wait(200); } if (Message() ==3 ) //箱を落とす { PlaySound(SOUND_DOWN) ; OnRev(OUT_A+OUT_C); Wait(70); Off(OUT_A+OUT_C); OnFwd(OUT_A); Wait(70); Off(OUT_A); SendMessage(21 );Wait(200); } }