- 追加された行はこの色です。
- 削除された行はこの色です。
ロボコン
*ロボコンについて
*ロボット [#oe7f4bf4]
*プログラム [#fe82c9cc]
アーム第一稿
#define ARM_TIME 25
#define UP_TIME 25
task main(){
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_2,SENSOR_TOUCH);
while(true){
ClearMessage();
if((SENSOR_1==1)&&(SENSOR_2==1))
{SendMessage(2);
OnFwd(OUT_A); Wait(ARM_TIME);
OnFwd(OUT_B); Wait(UP_TIME);Off(OUT_A+OUT_B);}
if( (SENSOR_1==1))
{SendMessage(1);
OnFwd(OUT_A); Wait(ARM_TIME);
OnFwd(OUT_B); Wait(UP_TIME);Off(OUT_A+OUT_B);}
if(Message()==3){OnRev(OUT_B); Wait(25);
OnRev(OUT_A); Wait(30);Off(OUT_A+OUT_B);}
}
}
足回り第一稿
#define line_1 while ( Timer(2) <= 60 ) { if(SENSOR_1<40){OnFwd(OUT_A);OnRev(OUT_C); Wait(5);}if(SENSOR_2<40){OnFwd(OUT_C);OnRev(OUT_A);Wait(5);}else{OnFwd(OUT_A+OUT_C);} }
#define line_2 while ( Timer(2) <= 20 ) { if(SENSOR_1<40){OnFwd(OUT_A);OnRev(OUT_C); Wait(5);}if(SENSOR_2<40){OnFwd(OUT_C);OnRev(OUT_A);Wait(5);}else{OnFwd(OUT_A+OUT_C);} }
#define line_3 while ( Timer(0) <= 80 ) { if(SENSOR_1<40){OnFwd(OUT_A);OnRev(OUT_C); Wait(5);}if(SENSOR_2<40){OnFwd(OUT_C);OnRev(OUT_A);Wait(5);}else{OnFwd(OUT_A+OUT_C);} }
int turn_time;
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
turn_time=10;
while(true){
ClearMessage();
ClearTimer(0);
ClearTimer(1);
ClearTimer(2);
OnFwd(OUT_A+OUT_C); Wait(30);
if(Message()==1) {
Off(OUT_A+OUT_C); Wait(60); OnRev(OUT_A+OUT_C); Wait(15);
OnFwd(OUT_C); OnRev(OUT_A);
Wait(80); OnFwd(OUT_A+OUT_C); Wait(10);
line_1; OnFwd(OUT_A+OUT_C);
if(SENSOR_3<40){OnFwd(OUT_C); OnRev(OUT_A); Wait(30);}
line_2; SendMessage(3);
Float(OUT_A+OUT_C); Wait(60); OnRev(OUT_A+OUT_C); Wait(20);
OnFwd(OUT_A); OnRev(OUT_C); Wait(40);
line_3;}
if(Message()==2) {
Off(OUT_A+OUT_C); Wait(60); OnRev(OUT_A+OUT_C); Wait(15);
OnFwd(OUT_A); OnRev(OUT_C);
Wait(80); OnFwd(OUT_A+OUT_C); Wait(10);
line_1; OnFwd(OUT_A+OUT_C);
if(SENSOR_3<40){OnFwd(OUT_A); OnRev(OUT_C); Wait(30);}
line_2; SendMessage(3);
Float(OUT_A+OUT_C); Wait(60); OnRev(OUT_A+OUT_C); Wait(20);
OnFwd(OUT_C); OnRev(OUT_A); Wait(40);line_3;}
else{while(Message()!=0){OnFwd(OUT_A+OUT_C); Wait(35);
OnRev(OUT_A+OUT_C); Wait(30);
OnFwd(OUT_A); OnRev(OUT_C); Wait(turn_time);
turn_time =turn_time+5;
OnFwd(OUT_A+OUT_C); Wait(35); OnRev(OUT_A+OUT_C); Wait(30);
OnFwd(OUT_C); OnRev(OUT_A); Wait(turn_time);
turn_time =turn_time+5;}
}
} }