[[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