[[2005/B4]]

*左という字を書くプログラム(課題1) [#i942c215]

 //書道プログラム
 //  作成者 satoshi
 //  作成日 2005-11-2
 void straight(int t){
	OnFwd(OUT_A+OUT_C);
	Wait(t);
	Off(OUT_A+OUT_C);
	}
 void turn_right(int t){
	OnFwd(OUT_A);
	OnRev(OUT_C);
	Wait(t);
	Off(OUT_A+OUT_C);
	}
 void turn_left(int t){
	OnRev(OUT_A);
	OnFwd(OUT_C);
	Wait(t);
	Off(OUT_A+OUT_C);
	}
 void back(int t){
	OnRev(OUT_A+OUT_C);
	Wait(t);
	Off(OUT_A+OUT_C);
	}
 void up(int t){
	OnRev(OUT_B);
	Wait(t);
	Off(OUT_B);
	}
 void down(int t){
	OnFwd(OUT_B);
	Wait(t);
	Off(OUT_B);
	}
	task main(){
	int turn_90=88,turn_180=180,go_15c=120,u=7,go_12c=90;
	straight(go_15c);
	up(u);
	straight(go_12c);
	turn_left(turn_90);
	straight(go_15c/4);
	turn_left(turn_90);
	straight(go_15c/2);
	turn_left(2*turn_90/3);
	back(go_12c);
	down(u);
	straight(go_15c);
	up(u);
	straight(go_12c-15);
	turn_left(turn_90+35);
	back(65);
	down(u);
	straight(go_12c);
	up(u);
	straight(go_12c/2-10);
	turn_right(turn_90);
	back(go_12c);
	down(u);
	straight(go_12c/2);
	up(u);
	straight(go_12c-10);
	turn_right(turn_90+20);
	back(30);
	down(u);
	back(go_12c+30);
	up(u);	
	}
- 関数が多いので展開が遅い気がする。
- 関数なしで書いた方が早いのだろうか?
- 角度とかの時間を微調整してるので
- あんまり変数にした意味がなかったかも
-関数はコンパイル時に展開されてしまいますが、サブルーチンは実行の度に呼ばれるのであまりプログラムのサイズが大きくなってダウンロードに時間がかかるようでしたら、サブルーチンも効果的に使ってみてください。 -- [[松本(教員)]] &new{2005-11-24 (木) 21:45:44};
-プログラムは比較的よくまとまっていて簡潔に書けていますが、より分かりやすくするためにコメントをいれてみましょう。 -- [[まいける(TA)]] &new{2005-12-02 (金) 17:05:39};
-動作の解説を入れるともっと見やすくなるのでは... -- [[ゆん(TAM)]] &new{2005-12-02 (金) 17:21:17};

#comment


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