2004/B5/練習問題/音楽が流れるロボ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[音楽が流れるロボ>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);//sは周波数
#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);
}
}
}
曲の部分がものすごく長いです。がんばって書いたので載せてみました(追記:MacNQCのPiano Panelを使えばいちいち書かなくても良いので、楽です)。音の長さが2種類しかないので、#defineを使って定義してあります。光センサーの値が50より大きいときに音楽を流しながら前進し、そうでないときはピーッ、ピーッという音を出して後退します。
終了行:
[[音楽が流れるロボ>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);//sは周波数
#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);
}
}
}
曲の部分がものすごく長いです。がんばって書いたので載せてみました(追記:MacNQCのPiano Panelを使えばいちいち書かなくても良いので、楽です)。音の長さが2種類しかないので、#defineを使って定義してあります。光センサーの値が50より大きいときに音楽を流しながら前進し、そうでないときはピーッ、ピーッという音を出して後退します。
ページ名: