- 追加された行はこの色です。
- 削除された行はこの色です。
[[2011a]]
#define SIGNALON 1
sub left() //左に曲がるためのサブルーチン。
{
OnRev(OUT_C); OnFwd(OUT_A);
Wait(95);
Off(OUT_C+OUT_A);
Wait(40);
}
sub right() //右に曲がるためのサブルーチン。
{
OnFwd(OUT_C); OnRev(OUT_A);
Wait(95);
Off(OUT_C+OUT_A);
Wait(40);
}
sub goball()
{
OnFwd(OUT_A+OUT_C);
until((SENSOR_1 == 1)&&(SENSOR_2 == 1));
Off(OUT_C+OUT_A);
Wait(40);
}
void go(int t) //前に移動するための関数。入力された時間だけに移動
{
OnFwd(OUT_A+OUT_C);
Wait(t);
Off(OUT_A+OUT_C);
Wait(50);
}
void back(int t) //後ろに移動するための関数。入力された時間だけ前に移動
{
OnRev(OUT_A+OUT_C);
Wait(t);
Off(OUT_A+OUT_C);
Wait(50);
}
sub up() //ペンを持ち上げるサブルーチン。線をかくずに移動するとき。
{
OnFwd(OUT_B);
Wait(15);
Off(OUT_B);
Wait(20);
}
sub down() //ペンを下げるサブルーチン。線を引くとき。
{
OnRev(OUT_B);
Wait(15);
Off(OUT_B);
Wait(20);
}
task main ()
{
SetSensor(SENSOR_1, SENSOR_TOUCH);
SetSensor(SENSOR_2, SENSOR_TOUCH);
int time=20;
right();
go(60);
left();
repeat(3)
{
goball();
back(3);
left();
back(100);
down(); //down arm
//go(time);//push ball and go
//up(); //up arm
//go(100-time);
//time=time+20;
//right();
//go(5);
//down();
//back(100);
// up();
//back(50);
//SendMessage(SIGNALON);
//go(50);
}
}