- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006b/MemberOnly/進行状況A]]
*課題3:光を追いかけるロボット [#tfc7107d]
*光を追いかけるロボットのプログラム [#s337c172]
#define TURN_TIME 700
#define Do 523
#define Do_s 554
#define Re 587
#define Re_s 622
#define Mi 659
#define Fa 698
#define Fa_s 740
#define Sol 784
#define Sol_s 831
#define La 880
#define La_s 932
#define Si 988
#define Do_up 1047
#define Re_up 1175
#define TURN_TIME 400
task play_music()
{while (true)
{PlayTone(La,15);Wait(20);
PlayTone(Si,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,50);Wait(60);
PlayTone(Si,25);Wait(30);
#define G2 392
#define C 523
#define D 587
#define E 659
#define F 698
#define G 784
task play_music1()
{
while (true){
PlayTone(E,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(F,30); Wait(35);
PlayTone(G,30); Wait(35);
PlayTone(G,30); Wait(35);
PlayTone(F,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(E,60); Wait(65);
PlayTone(D,15); Wait(20);
PlayTone(D,30); Wait(35);
Wait(30);
PlayTone(E,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(F,30); Wait(35);
PlayTone(G,30); Wait(35);
PlayTone(G,30); Wait(35);
PlayTone(F,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(D,60); Wait(65);
PlayTone(C,15); Wait(20);
PlayTone(C,60); Wait(65);
Wait(30);
PlayTone(D,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(E,15); Wait(20);
PlayTone(F,15); Wait(20);
PlayTone(E,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(E,15); Wait(20);
PlayTone(F,15); Wait(20);
PlayTone(E,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(G2,50); Wait(55);
Wait(30);
PlayTone(E,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(F,30); Wait(35);
PlayTone(G,30); Wait(35);
PlayTone(G,30); Wait(35);
PlayTone(F,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(C,30); Wait(35);
PlayTone(D,30); Wait(35);
PlayTone(E,30); Wait(35);
PlayTone(D,60); Wait(65);
PlayTone(C,15); Wait(20);
PlayTone(C,60); Wait(65);
Wait(60);
}
}
task play_music2()
{
while (true)
{
PlayTone(La,15);Wait(20);
PlayTone(Si,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,50);Wait(60);
PlayTone(Si,25);Wait(30);
PlayTone(Re_up,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Fa_s,50);Wait(55);
PlayTone(Sol,50);Wait(55);
PlayTone(Sol,15);Wait(20);
PlayTone(Re_up,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Fa_s,50);Wait(55);
PlayTone(Sol,50);Wait(55);
PlayTone(Sol,15);Wait(20);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Re,15);Wait(20);
PlayTone(Re,50);Wait(55);
PlayTone(Mi,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Re,15);Wait(20);
PlayTone(Re,50);Wait(55);
PlayTone(Mi,25);Wait(30);
PlayTone(Sol,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Sol,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,25);Wait(30);
PlayTone(Re,15);Wait(20);
PlayTone(Do,25);Wait(30);
PlayTone(Re,25);Wait(30);
PlayTone(Mi,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,25);Wait(30);
PlayTone(Re,15);Wait(20);
PlayTone(Do,25);Wait(30);
PlayTone(Re,25);Wait(30);
PlayTone(Mi,25);Wait(30);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Si,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,50);Wait(55);
PlayTone(Si,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Si,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,50);Wait(55);
PlayTone(Si,15);Wait(20);
PlayTone(Re_up,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Fa_s,50);Wait(55);
PlayTone(Sol,50);Wait(55);
PlayTone(Sol,15);Wait(20);
PlayTone(Re_up,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Fa_s,50);Wait(55);
PlayTone(Sol,50);Wait(55);
PlayTone(Sol,15);Wait(20);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Re,15);Wait(20);
PlayTone(Re,50);Wait(55);
PlayTone(Mi,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Re,15);Wait(20);
PlayTone(Re,50);Wait(55);
PlayTone(Mi,25);Wait(30);
PlayTone(Sol,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Sol,25);Wait(30);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Si,25);Wait(30);
PlayTone(Do_up,25);Wait(30);
PlayTone(Si,25);Wait(30);
PlayTone(La,25);Wait(30);
PlayTone(Mi,25);Wait(30);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Do_up,25);Wait(30);
PlayTone(Si,25);Wait(30);
PlayTone(La,25);Wait(30);
PlayTone(Mi,25);Wait(30);
PlayTone(Sol,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,25);Wait(30);
Wait(50);}
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(La,15);Wait(20);
PlayTone(Fa_s,15);Wait(20);
PlayTone(Sol,25);Wait(30);
Wait(50);
}
}
task main()
{SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
int light_max,time_max;
ClearTimer(0);
start play_music1;
while(FastTimer(0)<TURN_TIME)
{OnFwd(OUT_A);
OnRev(OUT_C);
if(SENSOR_1>light_max);
{light_max=SENSOR_1;
ClearTimer(1);}
}
time_max=FastTimer(1);
time_max=FastTimer(1);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(time_max);
start play_music;
stop play_music1;
start play_music2;
while(true)
{OnFwd(OUT_A+OUT_C);
if(SENSOR_1>SENSOR_3)
{Off(OUT_A);
OnFwd(OUT_C);
Wait(5);}
Wait(10);}
if(SENSOR_3>SENSOR_1)
{Off(OUT_C);
OnFwd(OUT_A);
Wait(5);}
}
Wait(10);}
}
}