[[戻る>2005/A6]]

[[2005/A6/コンドの部屋]]

*『左』を書くロボットのプログラム [#r0514189]
 //『左』を書くロボット
 //製作者:コンド
 //製作日:05年11月8日
 //キャタピラ仕様で、アームでペンを上下させるロボットのプログラムです。
 
**数の定義 [#e8999e5d]
 #define move_time 20          // アームの上げ、下げの時間
 #define Move_time 110         // ロボットの中心とペン先との誤差修正の時間
 
**補助プログラム [#u92dbe1c]
 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_C); Wait(w);
     Off(OUT_A+OUT_C);
 }
 
 void right(int t)             // 二画目の右曲線のためのプログラム
 {
     Off(OUT_A); OnFwd(OUT_C);
     Wait(t); Off(OUT_C);
 }
 
 void up()                     // アームを上げるプログラム
 {
     OnFwd(OUT_B); Wait(move_time);
     Off(OUT_B);
 }
 
 void down()                   // アームを下げるプログラム
 {
     OnRev(OUT_B); Wait(move_time);
     Off(OUT_B);
 }
 
**メインのプログラム [#n368c36e]
 task main()                   
 {
     down();                   // 一画目、書き始め
     go_straight(177);         // 一画目の直線を書く
     up();                     // 一画目、書き終わり
     back(10);                 // 後ろに移動
     turn_right(159);          // 右に回転
     back(153);                // 二画目の書き始めに移動
     down();                   // 二画目、書き始め
      repeat(8){               // 二画目の右曲線を書く
         go_straight(15);
         right(11);
         }
     up();                     // 二画目、書き終わり
     turn_right(292);          // 右に回転
     back(54);                 // 三画目の始めに移動
     turn_right(170);          // 右に回転
     back(Move_time);          // 誤差修正
     down();                   // 三画目、書き始め
     go_straight(119);         // 三画目の直線
     up();                     // 三画目、書き終わり
     go_straight(65);          // 四画目の始めに移動
     turn_right(159);          // 右に回転
     back(Move_time);          // 誤差修正
     down();                   // 四画目、書き始め
     go_straight(98);          // 四画目の直線
     up();                     // 四画目、書き終わり
     go_straight(Move_time);   // 誤差修正
     turn_left(140);           // 左に回転
     back(235);                // 五画目の書き始めに移動
     down();                   // 画目、書き始め
     go_straight(180);         // 五画目の直線を書く
     up();                     // 五画目、書き終わり
     go_straight(130);         // ロボットが退場して終了
 }

*反省点 [#k3c39384]
 ・キャタピラ仕様のため、文字が波文字になってしまった。
 ・『ナ』と『エ』の接点がずれてしまった。
 ・プログラミング、ロボットの形が決まるまで時間が掛かってしまった。
-見やすくて良いと思います。この調子で… -- [ゆん[TA]] &new{2005-11-11 (金) 16:12:38};
-見やすくて良いと思います。この調子で… -- [[ゆん(TA)]] &new{2005-11-11 (金) 16:12:38};
-大変わかりやすいプログラムになっていると思います。ついでに冒頭のプログラムの説明の部分も // でコメントアウトしておきましょうか。 -- [[松本(教員)]] &new{2005-11-11 (金) 22:35:37};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS