sub The_slide()
{SetPower(OUT_C,10);OnFwd(OUT_C);Wait(10);Float(OUT_C);Wait(200);OnRev(OUT_C);Wait(60);Float(OUT_C);Wait(200);
}
sub Keep_slide()
{;OnRev(OUT_C);Wait(30);Off(OUT_C);
}
sub Ride()
{OnRev(OUT_A);Wait(50);Off(OUT_A);OnFwd(OUT_B);Wait(50);
Off(OUT_B);OnFwd(OUT_A);Wait(60);Off(OUT_A);
}
sub Push()
{OnFwd(OUT_A);Wait(10);OnRev(OUT_A);Wait(10);Off(OUT_A);
}
sub Descend()
{OnFwd(OUT_B);Wait(50);Off(OUT_B);OnRev(OUT_A);Wait(200);Off(OUT_A);
OnRev(OUT_B);Wait(20);Off(OUT_B);
}
sub Sound_Message()
{ PlaySound(SOUND_DOUBLE_BEEP) ;}
sub Sound_Sensor()
{PlaySound(SOUND_CLICK);}
#define floor_distinction SENSOR_1
#define box_distinction SENSOR_2
#define Black SENSOR_2<41
#define White 52<SENSOR_2
#define Green 45<SENSOR_2<50
#define body OUT_B
#define beetle OUT_A
task main()
{int i;
SetSensor(floor_distinction, SENSOR_LIGHT); 
SetSensor(box_distinction, SENSOR_LIGHT);         
until(Message()==1); Sound_Message();                                         //<1>1
for(i=1;i<=20;i++){SendMessage(2);};
Wait(50);
OnRev(body);                               
until(floor_distinction<48);Sound_Sensor();
Off(body);
OnRev(beetle);                             //2
Wait(180);
Off(beetle);
Wait(800);
OnFwd(beetle);Wait(50);OnRev(beetle);Wait(30);OnFwd(beetle);    //3                                    
Wait(200);
Off(beetle);
repeat(3){OnRev(beetle);Wait(100);Off(beetle);
if(Black)                                                 
{Wait(20);The_slide();Keep_slide();Wait(100);}
if(White)
{OnFwd(body);Wait(30);until(floor_distinction<48);Sound_Sensor();Off(body);
Wait(20);The_slide();Keep_slide();
OnRev(body);Wait(30);until(floor_distinction<48);Off(body);Wait(100);}
if(Green)
{OnFwd(body);Wait(30);until(floor_distinction<48);Sound_Sensor();Wait(30);until(floor_distinction<48);Sound_Sensor();
;Off(body);
Wait(20);The_slide();Keep_slide();
OnRev(body);Wait(30);until(floor_distinction<48);Wait(30);Sound_Sensor();until(floor_distinction<48);Sound_Sensor();
Off(body);Wait(100);}
OnRev(beetle);Wait(100);Off(beetle);Wait(200);OnFwd(beetle);Wait(50);OnRev(beetle);Wait(30);OnFwd(beetle);                                     
Wait(200);
Off(beetle);
}
OnFwd(beetle);Wait(30);until(floor_distinction<48);Off(body);
until(Message()==6); Sound_Message();                                         //<2>1
for(i=1;i<=20;i++){SendMessage(7);};
Wait(50);
OnRev(body);                               
until(floor_distinction<48);Sound_Sensor();
Off(body);
OnRev(beetle);                             //2
Wait(180);
Off(beetle);
Wait(800);
OnFwd(beetle);Wait(50);OnRev(beetle);Wait(30);OnFwd(beetle);    //3                                    
Wait(200);
Off(beetle);
repeat(3){OnRev(beetle);Wait(100);Off(beetle);
if(Black)                                                 
{Wait(20);The_slide();Keep_slide();Wait(100);}
if(White)
{OnFwd(body);Wait(30);until(floor_distinction<48);Sound_Sensor();Off(body);
Wait(20);The_slide();Keep_slide();
OnRev(body);Wait(30);until(floor_distinction<48);Off(body);Wait(100);}
if(Green)
{OnFwd(body);Wait(30);until(floor_distinction<48);Sound_Sensor();Wait(30);until(floor_distinction<48);Sound_Sensor();
;Off(body);
Wait(20);The_slide();Keep_slide();
OnRev(body);Wait(30);until(floor_distinction<48);Wait(30);Sound_Sensor();until(floor_distinction<48);Sound_Sensor();
Off(body);Wait(100);}
OnRev(beetle);Wait(100);Off(beetle);Wait(200);OnFwd(beetle);Wait(50);OnRev(beetle);Wait(30);OnFwd(beetle);                                     
Wait(200);
Off(beetle);
};}
*First (変形ロボット)                      made by Nishizawa&Tozuka[#mcc3342a]
**動きの説明 [#d610f3f2]
-箱を持ち上げずに、滑らせることにより中央のboxの上に乗せる
-モータに取り付けられたタイヤが、ブロックで作られたレール上を動くことにより運搬する
-そのためには、機体の大きさが少なくとも50cmはないといけないので、変形させることにより確保した。(ルールより、始めの機体は32cm以内)
**変形 [#h87445ac]
-写真に撮るのを忘れてしまったので、実際の動きは写真を見つつ想像して下さい
#ref(5.jpg,around)
#ref(4.jpg)
-初期状態(32cm)
#ref(3.jpg,center)
-最終形態(全長54cm)
-本当は手ではなく、レール上のモータがぶつかることにより変形する(はずだった)。
*Second & Third                                 made by Hideshi [#r61c2387]
**動きの説明 [#u9630dbd]
-box上の機体が箱を運び、待機している機体の上に乗せる
-色の違いを識別し、所定のカゴの前まできたら、滑り台を降ろし、箱を滑らせてカゴの中に入れる
#ref(1-1.jpg)
-箱を最下点まで滑らせた後、滑り台を2回程上げ下げし、箱をカゴの中に入れる


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS