[[2006a/B2]] 製作日:// 06-07-03 製作者:// Blue #define Do 523 #define Re 587 #define Mi 659 #define Fa 698 #define So 784 #define Ra 880 #define Si 988 task play_music() { while(true) { PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Do,40);Wait(70); PlayTone(So,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(So,30);Wait(70); PlayTone(Mi,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Do,30);Wait(35); } } int Light=0; int turn_time=90; task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); ClearTimer(0); while(Timer(0)<=turn_time) { if(SENSOR_1>Light) { Light=SENSOR_1; } OnFwd(OUT_A); OnRev(OUT_C); } OnFwd(OUT_A); OnRev(OUT_C); start play_music; until(SENSOR_1>=Light); while(true) { if(SENSOR_1<Light) { OnFwd(OUT_A); OnRev(OUT_C); until(SENSOR_1>=Light); } else { OnFwd(OUT_A+OUT_C); stop play_music; until(SENSOR_1<Light); } } } #define Do 523 #define Re 587 #define Mi 659 #define Fa 698 #define So 784 #define Ra 880 #define Si 988 task play_music() { while(true) { PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Do,40);Wait(70); PlayTone(So,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(So,30);Wait(70); PlayTone(Mi,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Do,30);Wait(35); Wait(20); } } #define turn_left OnFwd(OUT_C);OnRev(OUT_A); #define turn_right OnFwd(OUT_A);OnRev(OUT_C); #define turn_stop Float(OUT_A+OUT_C); #define TURN_TIME 500 task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); int light_max=0,time_max=0; turn_right; start play_music; ClearTimer(0); while(FastTimer(0) < TURN_TIME) { if(SENSOR_1 > light_max) { light_max=SENSOR_1; time_max=FastTimer(0); } } turn_stop; Wait(50); turn_left; Wait(TURN_TIME-time_max); turn_stop; stop play_music; while(true) { if(SENSOR_1<=light_max) { OnFwd(OUT_A+OUT_C); } if(SENSOR_1>80) { Off(OUT_A+OUT_C); } if(SENSOR_1<40) { Wait(100); int light_max=0,time_max=0; turn_right; start play_music; ClearTimer(0); while(FastTimer(0) < TURN_TIME) { if(SENSOR_1 > light_max) { light_max=SENSOR_1; time_max=FastTimer(0); } } turn_stop; Wait(50); turn_left; Wait(TURN_TIME-time_max); turn_stop; stop play_music; } } }