- 追加された行はこの色です。
- 削除された行はこの色です。
[[戻る>2005/A6]]
* 演奏するロボットと曲に合わせて踊るロボットのプログラム [#a6e5d4d5]
#ref(2005/A6/課題5/animal.jpeg.jpg,100%,center)
&size(40){&color(red){犬};・&color(blue){ねずちゅー};・&color(green){ネコ};};
**こいぬのマーチ [#e8c84f54]
**スケーターズワルツ [#e8c84f54]
// 製作日:12月2日
// 製作者:ジョニー
// ちょっとした手違いで、今現在はまだ曲は仮のものです。
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define Sol 784
#define Ra 880
task play_music() // 音楽を演奏するタスク
{
while (true)
{
PlayTone(Mi,40); Wait(40);
PlayTone(Do,20); Wait(40);
PlayTone(Mi,40); Wait(40);
PlayTone(Do,20); Wait(40);
PlayTone(Mi,40); Wait(40);
PlayTone(Sol,15); Wait(40);
PlayTone(Sol,50); Wait(80);
PlayTone(Fa,40); Wait(40);
PlayTone(Re,15); Wait(40);
PlayTone(Re,40); Wait(80);
PlayTone(Mi,40); Wait(40);
PlayTone(Do,15); Wait(40);
PlayTone(Do,40); Wait(85);
PlayTone(Mi,40); Wait(40);
PlayTone(Do,20); Wait(40);
PlayTone(Mi,40); Wait(40);
PlayTone(Do,20); Wait(40);
PlayTone(Mi,40); Wait(40);
PlayTone(Sol,15); Wait(40);
PlayTone(Sol,50); Wait(80);
PlayTone(Fa,40); Wait(40);
PlayTone(Re,15); Wait(40);
PlayTone(Re,15); Wait(40);
PlayTone(Re,40); Wait(40);
PlayTone(Do,40); Wait(40);
PlayTone(Mi,40); Wait(40);
PlayTone(Do,40); Wait(90);
PlayTone(Fa,80); Wait(90);
PlayTone(Ra,80); Wait(90);
PlayTone(Sol,80); Wait(90);
PlayTone(Mi,80); Wait(90);
PlayTone(Fa,40); Wait(40);
PlayTone(Re,15); Wait(40);
PlayTone(Re,15); Wait(40);
PlayTone(Re,40); Wait(40);
PlayTone(Do,40); Wait(40);
PlayTone(Mi,40); Wait(40);
PlayTone(Sol,40); Wait(80);
PlayTone(Fa,80); Wait(90);
PlayTone(Ra,80); Wait(90);
PlayTone(Sol,80); Wait(90);
PlayTone(Mi,80); Wait(90);
PlayTone(Fa,40); Wait(40);
PlayTone(Re,15); Wait(40);
PlayTone(Re,15); Wait(40);
PlayTone(Re,40); Wait(40);
PlayTone(Do,40); Wait(40);
PlayTone(Mi,40); Wait(40);
PlayTone(Do,60); Wait(100);
}
}
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define Ra 880
#define Si 988
#define Doo 1047
#define Ree 1175
task play_music()
{
while(true){
PlayTone(Mi,120);Wait(120);
PlayTone(So,80);Wait(80);
PlayTone(Ra,40); Wait(45);
PlayTone(Ra,240);Wait(245);
PlayTone(Fa,120);Wait(120);
PlayTone(Ra,80);Wait(80);
PlayTone(Si,40);Wait(45);
PlayTone(Si,240);Wait(245);
PlayTone(Ree,120);Wait(120);
PlayTone(Doo,80);Wait(80);
PlayTone(Mi,40);Wait(45);
PlayTone(So,120);Wait(120);
PlayTone(Fa,80);Wait(80);
PlayTone(Mi,40);Wait(45);
PlayTone(Mi,120);Wait(120);
PlayTone(Re,120);Wait(120);
PlayTone(Do,150);Wait(160);
PlayTone(So,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(So,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(So,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(So,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Doo,15);Wait(20);
PlayTone(So,40);Wait(40);
PlayTone(Si,30);Wait(40);
PlayTone(Si,40);Wait(40);
PlayTone(So,40);Wait(40);
PlayTone(Si,30);Wait(40);
PlayTone(Si,40);Wait(40);
PlayTone(So,15);Wait(20);
PlayTone(Ree,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Ree,15);Wait(20);
PlayTone(So,15);Wait(20);
PlayTone(Ree,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Ree,15);Wait(20);
PlayTone(So,15);Wait(20);
PlayTone(Ree,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Ree,15);Wait(20);
PlayTone(So,40);Wait(40);
PlayTone(Doo,30);Wait(40);
PlayTone(Doo,40);Wait(40);
PlayTone(So,40);Wait(40);
PlayTone(Doo,30);Wait(40);
PlayTone(Doo,40);Wait(40);
}
}
**演奏、指揮をするロボットのプログラム [#w189ebf3]
&ref(2005/A6/課題5/cat.jpeg.jpg,100%,left); &ref(2005/A6/課題5/rat.jpeg.jpg,100%,right);
&size(30){左&color(green){ネコ}; 右&color(blue){ねずちゅー};};
// 製作日:1月6日
// 製作者:A6員(主にA6L)
// ネコ型ロボットと、ネズミ型ロボットの二つを製作しました。
#define music_time 2400
task main()
{
ClearTimer(0); // Timer(0)をリセットする
start play_music; // 演奏を開始
while(Timer(0) <= music_time)
{
OnFwd(OUT_A + OUT_C); // 尻尾、ねずちゅーが右に動く
SendMessage(1); // Message(1)を送る
Wait(150); // 1.5秒間待つ
OnRev(OUT_A + OUT_C); // 尻尾、ねずちゅーが左に動く
Wait(150); // 1.5秒間待つ
OnFwd(OUT_A + OUT_C); // 尻尾、ねずちゅーが右に動く
SendMessage(2); // Message(2)を送る
Wait(150); // 1.5秒間待つ
OnRev(OUT_A + OUT_C); // 尻尾、ねずちゅーが左に動く
Wait(150); // 1.5秒間待つ
}
SendMessage(3); // Message(3)を送る
stop play_music ; // 演奏を停止
Float(OUT_A+OUT_B); // 動きも停止
}
** 曲に合わせて踊るロボットのプログラム [#o160fdd7]
#ref(2005/A6/課題5/dog.jpeg.jpg,100%,center);
&size(30){&color(red){犬};};
// 製作日:1月6日
// 製作者:A6員(主にA6R)
// 犬型のロボットを作るのにかなり時間が掛かってしまった。
#define first OnRev(OUT_A+OUT_B);OnFwd(OUT_C);
#define second OnFwd(OUT_A+OUT_B);OnRev(OUT_C);
#define fin Float(OUT_A+OUT_B+OUT_C);
task main()
{
while (true)
{
ClearMessage(); // Message() を 0 に設定
until (Message() != 0); // Message() に 0 以外の値が入るまで待つ
if ( Message() == 1 ) first; // 1 を受信したときには右に回りながら前足・後ろ足が上がる
if ( Message() == 2 ) second; // 2 を受信したときには左に回りながら前足・後ろ足が下がる
if ( Message() == 3 ) fin; // 3 を受信したときには止まる
}
}
#comment