2006b/A4/最終稿
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
アーム
#define ARM_TIME 30
#define UP_TIME 70
task main(){
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_TOUCH);
Off(OUT_A+OUT_C); Wait(300);
OnFwd(OUT_C); Wait(ARM_TIME);
OnRev(OUT_C); Wait(ARM_TIME);
Off(OUT_A+OUT_C);
while(true){
ClearMessage();
if(SENSOR_1<37){SendMessage(4); Wait(50); Off(OUT_A+OUT_C);
Wait(800);
OnFwd(OUT_C); Wait(ARM_TIME);
OnFwd(OUT_A); Wait(UP_TIME);
if(SENSOR_3==0){SendMessage(1); Wait(50);Off(OUT_A+OUT_C);
Wait(300); until(Message()!=0);}
if(SENSOR_3==1){SendMessage(2); Wait(50);Off(OUT_A+OUT_C);
Wait(300); until(Message()!=0);} }
if(Message()==3){OnRev(OUT_C); Wait(ARM_TIME+30);
OnRev(OUT_A);Wait(UP_TIME);
}
}
}
足回り
#define line_h while (SENSOR_3==0) {if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_C); OnRev(OUT_A); Wait(40); }}
#define line_k while (SENSOR_3==0) {if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_A); OnRev(OUT_C); Wait(40); }}
int turn_time;
task main() {
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_TOUCH);
turn_time=15;
OnFwd(OUT_A+OUT_C); Wait(300);
OnFwd(OUT_A); OnRev(OUT_C); Wait(45);
OnFwd(OUT_A+OUT_C); Wait(20);
while(true){
ClearMessage();
while(Message()==0){if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);}}
if(Message()==1){
Off(OUT_A+OUT_C); Wait(50);
OnFwd(OUT_C); OnRev(OUT_A); Wait(100);
OnFwd(OUT_A+OUT_C); Wait(10); line_h; SendMessage(3);
Wait(50); Float(OUT_A+OUT_C); Wait(200);
OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A);
OnRev(OUT_C); Wait(200); OnFwd(OUT_A+OUT_C); Wait(400);
Off(OUT_A+OUT_C);}
if(Message()==2){
Off(OUT_A+OUT_C); Wait(50);
OnFwd(OUT_A); OnRev(OUT_C); Wait(100);
OnFwd(OUT_A+OUT_C); Wait(10); line_k; SendMessage(3);
Wait(50); Float(OUT_A+OUT_C); Wait(200);
OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_C);
OnRev(OUT_A); Wait(200); OnFwd(OUT_A+OUT_C); Wait(400);
Off(OUT_A+OUT_C);}
if(Message()==4){ClearTimer(0);while(FastTimer(0)<=80){if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);}}OnFwd(OUT_C); OnRev(OUT_A); Wait(110); OnFwd(OUT_A+OUT_C); Wait(80);
OnFwd(OUT_A);OnRev(OUT_C);Wait(100);
OnRev(OUT_A);OnFwd(OUT_C);Wait(50);
OnFwd(OUT_A+OUT_C);Wait(300);
}
}
}
終了行:
アーム
#define ARM_TIME 30
#define UP_TIME 70
task main(){
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_TOUCH);
Off(OUT_A+OUT_C); Wait(300);
OnFwd(OUT_C); Wait(ARM_TIME);
OnRev(OUT_C); Wait(ARM_TIME);
Off(OUT_A+OUT_C);
while(true){
ClearMessage();
if(SENSOR_1<37){SendMessage(4); Wait(50); Off(OUT_A+OUT_C);
Wait(800);
OnFwd(OUT_C); Wait(ARM_TIME);
OnFwd(OUT_A); Wait(UP_TIME);
if(SENSOR_3==0){SendMessage(1); Wait(50);Off(OUT_A+OUT_C);
Wait(300); until(Message()!=0);}
if(SENSOR_3==1){SendMessage(2); Wait(50);Off(OUT_A+OUT_C);
Wait(300); until(Message()!=0);} }
if(Message()==3){OnRev(OUT_C); Wait(ARM_TIME+30);
OnRev(OUT_A);Wait(UP_TIME);
}
}
}
足回り
#define line_h while (SENSOR_3==0) {if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_C); OnRev(OUT_A); Wait(40); }}
#define line_k while (SENSOR_3==0) {if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_A); OnRev(OUT_C); Wait(40); }}
int turn_time;
task main() {
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_TOUCH);
turn_time=15;
OnFwd(OUT_A+OUT_C); Wait(300);
OnFwd(OUT_A); OnRev(OUT_C); Wait(45);
OnFwd(OUT_A+OUT_C); Wait(20);
while(true){
ClearMessage();
while(Message()==0){if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);}}
if(Message()==1){
Off(OUT_A+OUT_C); Wait(50);
OnFwd(OUT_C); OnRev(OUT_A); Wait(100);
OnFwd(OUT_A+OUT_C); Wait(10); line_h; SendMessage(3);
Wait(50); Float(OUT_A+OUT_C); Wait(200);
OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A);
OnRev(OUT_C); Wait(200); OnFwd(OUT_A+OUT_C); Wait(400);
Off(OUT_A+OUT_C);}
if(Message()==2){
Off(OUT_A+OUT_C); Wait(50);
OnFwd(OUT_A); OnRev(OUT_C); Wait(100);
OnFwd(OUT_A+OUT_C); Wait(10); line_k; SendMessage(3);
Wait(50); Float(OUT_A+OUT_C); Wait(200);
OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_C);
OnRev(OUT_A); Wait(200); OnFwd(OUT_A+OUT_C); Wait(400);
Off(OUT_A+OUT_C);}
if(Message()==4){ClearTimer(0);while(FastTimer(0)<=80){if(SENSOR_2<43){OnFwd(OUT_A); OnRev(OUT_C); Wait(10);} if(SENSOR_1<43){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);} else{OnFwd(OUT_C+OUT_A); Wait(10);} if((SENSOR_1<43)&&(SENSOR_2<43)){OnFwd(OUT_C); OnRev(OUT_A); Wait(10);}}OnFwd(OUT_C); OnRev(OUT_A); Wait(110); OnFwd(OUT_A+OUT_C); Wait(80);
OnFwd(OUT_A);OnRev(OUT_C);Wait(100);
OnRev(OUT_A);OnFwd(OUT_C);Wait(50);
OnFwd(OUT_A+OUT_C);Wait(300);
}
}
}
ページ名: