2004/C4/crane
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2004/C4/ロボコン]]
#define shiro_midori 39
int swing_time,limit;
sub koudou()//白緑を取ったときの行動
{
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnRev(OUT_A);
Wait(1100-swing_time*10);
Off(OUT_A);
OnFwd(OUT_B);
Wait(50);
Off(OUT_B);
OnRev(OUT_C);
Wait(650);
Off(OUT_C);
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(1100);
Off(OUT_A);
}
sub haizyo()//黒を取った場合の行動
{
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(400+swing_time*10);
Off(OUT_A);
OnRev(OUT_C);
Wait(650);
Off(OUT_C);
OnRev(OUT_A);
Wait(400);
Off(OUT_A);
}
task main(){
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_TOUCH);
Wait(300);
while(true){
OnFwd(OUT_B);
Wait(180);
Off(OUT_B);
ClearTimer(0);
ClearTimer(1);
OnRev(OUT_A);
until(SENSOR_1==1);
swing_time=Timer(0);
limit=Timer(1);
Off(OUT_A);
if(Timer(0)>=83){//何もとれずに一番端にきた時の行動
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(limit*10);
Off(OUT_A);
}
else{//何かをつかんだ時の行動
OnFwd(OUT_B);
Wait(130);
Off(OUT_B);
OnFwd(OUT_C);
Wait(650);
Off(OUT_C);
if(SENSOR_2>=shiro_midori){//つかんだ箱の判定
koudou();
}
else{
haizyo();
}
}
}
}
終了行:
[[2004/C4/ロボコン]]
#define shiro_midori 39
int swing_time,limit;
sub koudou()//白緑を取ったときの行動
{
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnRev(OUT_A);
Wait(1100-swing_time*10);
Off(OUT_A);
OnFwd(OUT_B);
Wait(50);
Off(OUT_B);
OnRev(OUT_C);
Wait(650);
Off(OUT_C);
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(1100);
Off(OUT_A);
}
sub haizyo()//黒を取った場合の行動
{
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(400+swing_time*10);
Off(OUT_A);
OnRev(OUT_C);
Wait(650);
Off(OUT_C);
OnRev(OUT_A);
Wait(400);
Off(OUT_A);
}
task main(){
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_TOUCH);
Wait(300);
while(true){
OnFwd(OUT_B);
Wait(180);
Off(OUT_B);
ClearTimer(0);
ClearTimer(1);
OnRev(OUT_A);
until(SENSOR_1==1);
swing_time=Timer(0);
limit=Timer(1);
Off(OUT_A);
if(Timer(0)>=83){//何もとれずに一番端にきた時の行動
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(limit*10);
Off(OUT_A);
}
else{//何かをつかんだ時の行動
OnFwd(OUT_B);
Wait(130);
Off(OUT_B);
OnFwd(OUT_C);
Wait(650);
Off(OUT_C);
if(SENSOR_2>=shiro_midori){//つかんだ箱の判定
koudou();
}
else{
haizyo();
}
}
}
}
ページ名: