2005/A5 プログラムのみで許してください。

プログラム

これは音楽を作る際のベースとなる部分です。

#define Do(t) PlayTone(262,t);Wait(t);PlayTone(0,1);Wait(1);   //ドの音をtの間鳴らす
#define Do2(t) PlayTone(277,t);Wait(t);PlayTone(0,1);Wait(1);
#define re(t) PlayTone(294,t);Wait(t);PlayTone(0,1);Wait(1);~
                                   〜中略〜
#define hra2(t) PlayTone(932,t);Wait(t);PlayTone(0,1);Wait(1);
#define hsi(t) PlayTone(988,t);Wait(t);PlayTone(0,1);Wait(1);
#define br(t) PlayTone(0,t);Wait(t);     //休符の代わり

作った音楽はこちら

task main()
{
 hdo(15) hdo(15) hdo(15) hre(45) hmi(30) hmi(30)
 hdo(30) hre(30) hmi(30) hfa(25) hmi(60) br(180)
 hdo(15) hdo(15) hdo(15) hre(45) hmi(30) hmi(30)
 hdo(30) hre(30) hmi(30) hmi(30) hdo(30) si(45) hdo(60) br(90)
 hdo(15) hdo(15) hdo(15) hre(45) hmi(30) hmi(30)
 hdo(30) hre(30) hmi(30) hfa(25) hmi(60) br(75)
 hdo(30) hre(45) hmi(60) br(105) hdo(30) si(60) br(135)
 si(60) hra(30) hsi(105) hra(180) br(90)
 ra(20) si(45) hra(30) hsi(105) hra(180) br(90)
}

工夫した点

Do(t)などで定義することでプログラム自体をかなり簡略化できた。
定義の最後にWaitを入れることで音が重なるのを防いだ。

反省点

プログラム自体は簡略化できたが定義の行が長くなってしまった。
結局ダンスロボットは作ることができなかったのが残念。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-02-15 (水) 17:17:47