[[2004/B1/21班練習問題]]

* 5. 演奏ロボット(必須) [#q8c5c74e]
インストラクション(説明書)の最後にある「Top Secret」を参考に、音楽を演奏しながら前進し障害物にぶつかったら(あるいは明るい光にあたったら)後退しながら方向を変えるロボットを作成しなさい。ただし移動のためのモータはひとつだけ使うものとし、また前進しているときと後進している時で違う音楽を演奏すること。
 int x;//変数
 #define x2 392
 #define si2 440
 #define Do 466
 #define re 523
 #define mi 554
 #define fa 622
 #define so 698 
 #define si 880 
 #define do2 932
 #define re2 1047
 #define mi2 1175
 #define fa2 1245 
 task play_music()                       // 音楽を演奏するタスク
 {
     while (true)
     {
         赤とんぼのメロディー(とても長いので省略します)
     }
 }
 task main()
 {
     start play_music ;                  //曲を演奏
     SetSensor(SENSOR_1, SENSOR_LIGHT);
     while(true)
     { 
         OnFwd(OUT_A);                   //前進
         x=784;                          //変数をラに設定
         if(SENSOR_1>70)
         {
             Rev(OUT_A);                 //ライトを当てると方向変換
             x=740;Wait(200);            //変数をラ#に設定
         }
     }
 }

●プログラミング…ライトを当てた場合後退して方向転換するロボット。前進しているときは長調の赤とんぼを、後退しているときは単調の赤とんぼを演奏するようにしました。単調にするには、その調の第三音にあたる音を半音下げることでできます。この場合シをラ#にします。

●ロボット…誰か書いてくれm(_ _)m
●ロボット…誰か書いてくれm(_ _)m by成田

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