2006a/B1/課題3右

★光を追う&歌いだすロボット★

光を探してぐるぐる回る(課題1)光を見つけたら違う曲を演奏しながら追いかける!(課題2)(担当 高木) 

#define Do  523  //この音階がベース。ド
#define Re  587  //レ
#define Mi  659  //ミ 
#define Fa  698  //ファ
#define Sol 784  //ソ
#define La  880  //ラ
#define Ce  988  //シ
#define Do2  1047  //[2]は、1オクターブ高くなるの意。高いド
#define Re2  1175  //高いレ
#define Mi2  1319  //高いミ
#define La3  932  //[3]は、シャープ。 #ラ     
#define Re3  622  //#レ    
#define go_light OnFwd(OUT_A+OUT_C);  //光を見つけてから前に進みます。
#define turn_left OnRev(OUT_A);OnFwd(OUT_C);  //光を探すために旋回します。
task play_music()  //1曲目、「くまのプーさん」です
{
   while (true)
   {
       PlayTone(Mi,30); Wait(35);
       PlayTone(Re,20); Wait(20);
       PlayTone(Mi,35); Wait(45);
       PlayTone(Re,40); Wait(80);
        
       PlayTone(Mi,30); Wait(35);
       PlayTone(Re,20); Wait(20);
       PlayTone(Mi,35); Wait(45);
       PlayTone(Re,40); Wait(80);
        
       PlayTone(Do,30); Wait(35);
       PlayTone(Do,15); Wait(15);
       PlayTone(La3,30); Wait(35);
       PlayTone(La3,15); Wait(15);
       PlayTone(La,30); Wait(35);
       PlayTone(La,15); Wait(15);
       PlayTone(Sol,30); Wait(35);
       PlayTone(Sol,15); Wait(15);
       PlayTone(Fa,30); Wait(35);
       PlayTone(Fa,15); Wait(15);
       PlayTone(Mi,30); Wait(35);
       PlayTone(Mi,15); Wait(15);
       PlayTone(Re,30); Wait(35);
       PlayTone(Re,15); Wait(15);
       PlayTone(Re3,25); Wait(30);

        
        
        
        
        
        
        Wait(20);
    }
}
task play_music2()  //2曲目、おなじみ「チューリップの歌」です
{
   while (SENSOR_1 >50)
   {
       PlayTone(Do,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Mi,50); Wait(55);

       PlayTone(Do,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Mi,50); Wait(55);

       PlayTone(Sol,25);Wait(30);
       PlayTone(Mi,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Do,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Mi,25); Wait(30);
       PlayTone(Re,50); Wait(60);

       PlayTone(Do,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Mi,50); Wait(55);

       PlayTone(Do,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Mi,50); Wait(55);

       PlayTone(Sol,25);Wait(30);
       PlayTone(Mi,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Do,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Mi,25); Wait(30);
       PlayTone(Do,50); Wait(60);

       PlayTone(Sol,25); Wait(30);
       PlayTone(Sol,25); Wait(30);
       PlayTone(Mi,25); Wait(30);
       PlayTone(Sol,25); Wait(30);
       PlayTone(La,25); Wait(30);
       PlayTone(La,25); Wait(30);
       PlayTone(Sol,50); Wait(60);

       PlayTone(Mi,25); Wait(30);
       PlayTone(Mi,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Re,25); Wait(30);
       PlayTone(Do,75); Wait(80);
       Wait(20);
   }
}

task main ()  //ここから動作に入ります
  {
  SetSensor(SENSOR_1,SENSOR_LIGHT);  //光センサーの定義をして
  while(true)
   {
          stop play_music2;  //ここは繰り返しのための仕掛け。ここから光を探すプログラムが始まります
       start play_music;  //プーさんが演奏されます
     while (SENSOR_1 <40)
     {
       turn_left;  //光を探して旋回しています
     }
          stop play_music;  //ここから、光を見つけた場合のプロフラムです
       start play_music2;  //チューリップが演奏されます
     while (SENSOR_1 >45)
     {
     go_light;  //光に向けて突進します

     }
    }
   }

工夫した点

苦労した点および反省点

コメントお願いします


 


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-01 (火) 16:55:00