[[音楽が流れるロボ>2004/B5/音楽が流れるロボ]]

 /*パッヘルベルのカノン*/
 //周波数
 #define Do1 523
 #define Re1 587
 #define Mi1 659
 #define Fa1 698
 #define So1 784
 #define Ra1 880
 #define Si1 988
 #define Do2 1047
 #define Re2 1175
 #define Mi2 1319
 #define Fa2 1397
 #define So2 1568
 //音の長さ
 #define tone_1(s) PlayTone(s, 10); Wait(15);
 #define tone_2(s) PlayTone(s, 25); Wait(30);
 task music(){
   tone_2(So2);
   tone_1(Mi2);
   tone_1(Fa2);
   tone_2(So2);
   tone_1(Mi2);
   tone_1(Fa2);
   tone_1(So2);
   tone_1(So1);
   tone_1(Ra1);
   tone_1(Si1);
   tone_1(Do2);
   tone_1(Re2);
   tone_1(Mi2);
   tone_1(Fa2);
 
   tone_2(Mi2);
   tone_1(Do2);
   tone_1(Re2);
   tone_2(Mi2);
   tone_1(Mi1);
   tone_1(Fa1);
   tone_1(So1);
   tone_1(Ra1);
   tone_1(So1);
   tone_1(Fa1);
   tone_1(So1);
   tone_1(Mi1);
   tone_1(Fa1);
   tone_1(So1);
 
   tone_2(Fa1);
   tone_1(Ra1);
   tone_1(So1);
   tone_2(Fa1);
   tone_1(Mi1);
   tone_1(Re1);
   tone_1(Mi1);
   tone_1(Re1);
   tone_1(Do1);
   tone_1(Re1);
   tone_1(Mi1);
   tone_1(Fa1);
   tone_1(So1);
   tone_1(Ra1);
 
   tone_2(Fa1);
   tone_1(Ra1);
   tone_1(So1);
   tone_2(Ra1);
   tone_1(Si1);
   tone_1(Do2);
   tone_1(So1);
   tone_1(Ra1);
   tone_1(Si1);
   tone_1(Do2);
   tone_1(Re2);
   tone_1(Mi2);
   tone_1(Fa2);
   tone_1(So2);
 
   tone_2(Mi2);
   tone_1(Do2);
   tone_1(Re2);
   tone_2(Mi2);
   tone_1(Re2);
   tone_1(Do2);
   tone_1(Re2);
   tone_1(Si1);
   tone_1(Do2);
   tone_1(Re2);
   tone_1(Mi2);
   tone_1(Re2);
   tone_1(Do2);
   tone_1(Si1);
 
   tone_2(Do2);
   tone_1(Ra1);
   tone_1(Si1);
   tone_2(Do2);
   tone_1(Do1);
   tone_1(Re1);
   tone_1(Mi1);
   tone_1(Fa1);
   tone_1(Mi1);
   tone_1(Re1);
   tone_1(Mi1);
   tone_1(Do2);
   tone_1(Si1);
   tone_1(Do2);
 
   tone_2(Ra1);
   tone_1(Do2);
   tone_1(Si1);
   tone_2(Ra1);
   tone_1(So1);
   tone_1(Fa1);
   tone_1(So1);
   tone_1(Fa1);
   tone_1(Mi1);
   tone_1(Fa1);
   tone_1(So1);
   tone_1(Ra1);
   tone_1(Si1);
   tone_1(Do2); 
 
   tone_2(Ra1);
   tone_1(Do2);
   tone_1(Si1);
   tone_2(Do2);
   tone_1(Si1);
   tone_1(Ra1);
   tone_1(Si1);
   tone_1(Do2);
   tone_1(Re2);
   tone_1(Do2);
   tone_1(Si1);
   tone_1(Do2);
   tone_1(Ra1);
   tone_1(Si1);
   PlayTone(Do2, 20); Wait(50);
 }
 task main(){
  SetSensor(SENSOR_1, SENSOR_LIGHT);
  while(true){
    if(SENSOR_1>50){
       start music;
       OnFwd(OUT_A+OUT_C);
    }
    else{
       stop music;
       PlaySound(SOUND_DOUBLE_BEEP);
       OnRev(OUT_A+OUT_C);
    }
  }
 }

曲の部分がものすごく長いです。がんばって書いたので載せてみました。光センサーの値が50より大きいときに音楽を流しながら前進し、そうでないときはピーッ、ピーッという音を出して後退します。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS