[[2005/A2/課題1]]
*右 [#r3f12029]

 //「右を書く」 プログラム:とみおか
 //コメント:数値によるロボットの動きの変更しやすさを前面に押し出してる
 
 
 #define L   OUT_A             //表現を変える
 #define Pen OUT_B             //OUT_AはL、OUT_BはPenに
 #define R   OUT_C             // プログラムしやすかった
 
 #define pen_down OnFwd(Pen);      //マクロ:ペンの上げ下げ
 #define pen_up OnRev(Pen);Wait(3);Off(Pen);
 
 void go (int t1)               //関数たち:前進、( )で移動時間を受け取る
 {OnFwd(L+R);Wait(t1); Off(L+R);} 
 void back (int t2)                       //後退
 {OnRev(L+R);Wait(t2); Off(L+R);}
 void turn_left (int t3)                  //左旋回
 {OnRev(L); OnFwd(R); Wait(t3); Off(L+R);}
 void turn_right (int t4)                 //右旋回
 {OnFwd(L); OnRev(R); Wait(t4); Off(L+R);}
 
 void cv_r (int t, int w1, int w2)    //左払いを実現する関数
 {
   repeat(t){
     OnFwd(L+R);Wait(w1);
     Float(R);Wait(w2);
   }
 }
 
 
 task main()
 {
   Wait(100);
 
   pen_down;                 //1画目書く
   cv_r(12,2,2);
   cv_r(18,2,3);
   pen_up;
   Off(L+R);
   
   back(25);turn_right(60);back(10);     //2画目への移動
   pen_down;                 //2画目
   back(150);
   pen_up;
   
   turn_right(20);go(190);turn_left(140);go(15);
   pen_down;                 //3画目
   go(50);
   pen_up;
 
   go(90);OnRev(L);Wait(230);
   pen_down;                //4画目
   go(70);turn_right(40);
   pen_up;
 
   go(50);turn_right(180);back(20);
   pen_down;               //5画目
   back(50);
   pen_up;
 }

コメントをどうぞ
-違う関数を定義する際に使用する変数(仮の変数)は同じものを使ってもかまいません。例えば go, back,…を定義するときはどの場合も int t を使って行うことができます (もちろん違う変数名を使ってもかまいませんが)。 -- [[松本(教員)]] &new{2005-11-24 (木) 12:05:13};

#comment


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