- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/C3]]
初めて書いたプログラムです。
プログラム達です。
- [[初めてのプログラム>2005/C3/しかた/初めて]]
- [[「庄」の漢字を書くロボットのプログラム>2005/C3/しかた/漢字]](課題1)
task main()
{
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(300);
PlaySound(SOUND_UP);
Wait(200);
Off(OUT_A+OUT_C);
}
「庄」の漢字を書くロボットのプログラムです。
#define A 10 // 移動の基準
#define C 100 // 方向転換の基準
void idou(int x)// 移動する
{
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(x*A);
}
void houkou(int x)// 方向転換する
{
if(x>180){
OnFwd(OUT_A);
OnRev(OUT_C);
Wait((360-x)*C/90);
Off(OUT_A+OUT_C);
}
else{
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(x*C/90);
Off(OUT_A+OUT_C);
}
}
sub down()// 下げる
{
OnFwd(OUT_B);
Wait(50);
Off(OUT_B);
}
sub up()// 上げる
{
OnRev(OUT_B);
Wait(50);
Off(OUT_B);
}
task main()
{
down();
idou(2);
up();
houkou(270);
idou(3);
houkou(90);
down();
idou(7);
up();
houkou(180);
idou(7);
houkou(90);
down();
///////curve///////
repeat(10){
idou(1);
houkou(358);
}
up();
houkou(20);
houkou(180);
idou(5);
houkou(270);
idou(3);
down();
idou(4);
up();
houkou(90);
idou(2);
houkou(90);
idou(2);
houkou(90);
down();
idou(5);
up();
houkou(270);
idou(3);
houkou(180);
down();
idou(7);
up();
}