*左を書くロボット [#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);         // 終了
 }

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS