部屋が明るいためセンサーがうまく働かなかったので、光に近付くと後退する
光から逃げるロボットにしました。
光が暗いときは前進でアニメ『トムとジェリー』に流れる音楽、光を感知すると
ドラクエに流れる音楽を出して後退し(逃げ)ます。
工夫として事前にtameshi13で『トムとジェリー』に流れる音楽を調整し、
またサブルーチンを使ってプログラムの簡略化を計ってみました
/*tameshi12*/   //hikari de   koutai
#define THRESHOLD 40
#define RUN_TIME 150
#define Do  523
#define Do1  554
#define Re  587
#define Re1  622
#define Mi  659
#define Fa  698
#define Fa1  740
#define So  784
#define So1  831
#define Ra  880
#define Ra1  932
#define Si  988

task winner()
{
while(true)
{
PlayTone(Mi,10);Wait(15);
PlayTone(Mi,10);Wait(15);
PlayTone(Mi,10);Wait(15);
PlayTone(Mi,20);Wait(30);
PlayTone(Re,10);Wait(15);
PlayTone(So,10);Wait(15);
PlayTone(Fa,40);Wait(50);
PlayTone(349,40); Wait(50);
}
} 

task tom()
{
while(true)
{
PlayTone(So,10);Wait(30);
PlayTone(Mi,10);Wait(30);
PlayTone(So,10);Wait(15);
PlayTone(Ra,10);Wait(15);
PlayTone(So,10);Wait(45); 

PlayTone(So,10);Wait(15);
PlayTone(Mi,10);Wait(15);
PlayTone(So,10);Wait(15);
PlayTone(Mi,10);Wait(30);

PlayTone(Do,10);Wait(30);
PlayTone(Do,10);Wait(15);
PlayTone(Do,10);Wait(15);
PlayTone(Do,10);Wait(15);

PlayTone(So,10);Wait(30);
PlayTone(Mi,10);Wait(30);
PlayTone(Do,10);Wait(15);
PlayTone(Do,10);Wait(15);

PlayTone(Ra,10);Wait(30);
PlayTone(So,10);Wait(15);

PlayTone(Mi,10);Wait(15);
PlayTone(Re,10);Wait(15);

PlayTone(1319,10);Wait(15);
PlayTone(1175,10);Wait(15);

PlayTone(Mi,10);Wait(15);
PlayTone(Re,10);Wait(30);
PlayTone(Do,10);Wait(30);
}}

sub go()
{ OnFwd(OUT_A); }

sub back()
{ OnRev(OUT_A); }

task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(Timer(0)<=RUN_TIME)
{ if(SENSOR_1<THRESHOLD)
{ go();
start tom; 
else
{
back();
start winner;
} 
} 
}

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