- 履歴一覧
- 2005/A6/課題1/一班/その1 は削除されています。
*左を書くロボット [#h64412f5]
#define move_time 100
#define MIN 20
void turn_right(int x)
{
OnRev(OUT_A); OnFwd(OUT_C);
Wait(x); Off(OUT_A+OUT_C);
}
void turn_left(int y)
{
OnRev(OUT_C); OnFwd(OUT_A);
Wait(y); Off(OUT_A+OUT_C);
}
void go_straight(int z)
{
OnFwd(OUT_A+OUT_C); Wait(z);
Off(OUT_A+OUT_C);
}
void back(int w)
{ OnRev(OUT_A+OUT_B); Wait(w);
Off(OUT_A+OUT_C);
}
void up()
{
OnFwd(OUT_B); Wait(move_time);
Off(OUT_B);
}
void down()
{
OnRev(OUT_B); Wait(move_time);
Off(OUT_B);
}
task main()
{
down();
go_straight(180); // 一画目
up();
turn_left(174);
go_straight(130); // 移動
turn_left(76);
repeat(8){
go_straight(30);
turn_right(7);
}
go_straight(20); // 二画目
up();
turn_right(179);
go_straight(110); // 移動
turn_right(54);
back(MIN); // 修正
down();
go_straight(120); // 三画目
up();
turn_right(196);
go_straight(60); // 移動
turn_left(98);
back(MIN); // 修正
down();
go_straight(80); // 四画目
up();
go_straight(MIN); // 修正
turn_right(98);
go_straight(90); // 移動
turn_left(98);
down();
go_straight(180); // 五画目
up();
go_straight(100); // 終了
}