2005/B4

左という字を書くプログラム(課題1)

//書道プログラム
//  作成者 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);// (+35は環境の違いによる微調整)
	back(65);//ここまでで左の「工」の部分の書きはじめまで移動
	down(u);//ペン下げ
	straight(go_12c);//ここから↓
	up(u);
	straight(go_12c/2-10);// (-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);// (+20微調整)
	back(30);
	down(u);
	back(go_12c+30);//ここまでで左の「工」の部分をかく
	up(u);	
	}
実際にロボが書いた「左」
実際のロボ


添付ファイル: file051104_1750~01.jpg 258件 [詳細] file051104_1749~01.jpg 284件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-02-02 (木) 18:59:20