- 追加された行はこの色です。
- 削除された行はこの色です。
[[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);
if ( 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); // time keisoku 1tu dake otosu
Wait(70);
Off(OUT_A+OUT_C);
Wait(50);
OnFwd(OUT_A);
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);
}
}