- 履歴一覧
- ソース を表示
- 2005/B5/右001 は削除されています。
- 追加された行はこの色です。
- 削除された行はこの色です。
作成日:11月9日
作成者:Dezz
#define turn_TIME 104 //回転時間(変更可能)
sub turn_left() //左
{
OnRev(OUT_A);OnFwd(OUT_C);
Wait(turn_TIME);Off(OUT_A+OUT_C);Wait(50);
}
sub turn_right() //右
{
OnFwd(OUT_A);OnRev(OUT_C);
Wait(turn_TIME);Off(OUT_A+OUT_C);Wait(50);
}
sub Lgo_straight() //Long直線
{
OnFwd(OUT_A);OnFwd(OUT_C);
Wait(80);Off(OUT_A+OUT_C);Wait(50);
}
sub Sgo_straight() //Short直線
{
OnFwd(OUT_A);OnFwd(OUT_C);
Wait(60);Off(OUT_A+OUT_C);Wait(50);
}
sub up() //上げ
{
OnRev(OUT_B);
Wait(10);Off(OUT_B);Wait(50);
}
sub down() //下げ
{
OnFwd(OUT_B);
Wait(15);Off(OUT_B);Wait(50); //下げる時間を上げる時間より長く
} //することで確実に地面につく
task main()
{
up(); //ペンを取り込む
down(); //ペンを降ろす
SetPower(OUT_A,7); //パワーを変更
OnFwd(OUT_A);
SetPower(OUT_C,0); //パワーを変更
OnFwd(OUT_C);
Wait(180);
Off(OUT_A+OUT_C);Wait(50);up();//曲線を描く
SetPower(OUT_A,7); //パワーを戻す
SetPower(OUT_C,7); //パワーを戻す
OnFwd(OUT_A);OnRev(OUT_C);
Wait(180);Off(OUT_A+OUT_C);
OnFwd(OUT_A);OnFwd(OUT_C);Wait(100);Off(OUT_A+OUT_C);
turn_right();
down();
OnFwd(OUT_A);OnFwd(OUT_C);Wait(150);Off(OUT_A+OUT_C);
up();
turn_right();
OnFwd(OUT_A);OnFwd(OUT_C);Wait(50);Off(OUT_A+OUT_C);
turn_right();
OnFwd(OUT_A);OnFwd(OUT_C);
Wait(120);Off(OUT_A+OUT_C);Wait(50);
turn_left();
OnRev(OUT_A);OnRev(OUT_C); //微調整
Wait(10);Off(OUT_A+OUT_C);
down();Sgo_straight();up();
OnRev(OUT_A);OnRev(OUT_C);Wait(60);
Off(OUT_A+OUT_C);Wait(50);
turn_left();
down();
Lgo_straight();turn_right();Sgo_straight();
up();
turn_right();Lgo_straight();
down();
OnRev(OUT_A);OnRev(OUT_C);Wait(80);Off(OUT_A+OUT_C);
up();
}
[[戻る>2005/B5/dezz01]]
コメントをどうぞ
-残念ながらNQCの仕様でサブルーチンだと引数がとれないので、動かす時間を指定するときなどは関数やマクロを使ったほうが便利ですね。 -- [[松本(教員)]] &new{2005-11-21 (月) 14:34:02};
#comment