[[2006a/D7/課題1右]]
「達筆」の字を書くプログラム。~
作成: ゆき

 /* 前進/後退 : OUT_A */
 /* アーム制御 : OUT_B */
 /* ペンの上下 : OUT_C */
 
 #define UNITTIME 13
 
 #define pen_down_wait2(s,t)		OnRev(OUT_A+OUT_B); Wait(s); Off(OUT_A+OUT_B); OnFwd(OUT_C); Wait(t); OnFwd(OUT_A+OUT_B); Wait(s); Off(OUT_A+OUT_B); Wait(50);
 #define pen_down_wait 			OnFwd(OUT_C); Wait(100)
 #define pen_up					OnRev(OUT_C)
 #define pen_up_wait 			OnRev(OUT_C); Wait(100)
 #define pen_down_wait           OnFwd(OUT_C); Wait(100)
 #define pen_up                  OnRev(OUT_C)
 #define pen_up_wait             OnRev(OUT_C); Wait(100)
 
 
 #define move_left(t)			Off(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t)
 #define move_right(t)			Off(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t)
 #define move_up(t)				OnRev(OUT_A); Off(OUT_B); Wait(UNITTIME*t)
 #define move_down(t)			OnFwd(OUT_A); Off(OUT_B); Wait(UNITTIME*t)
 #define move_leftup(t)			OnRev(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t)
 #define move_leftdown(t)		OnFwd(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t)
 #define move_rightup(t)			OnRev(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t)
 #define move_rightdown(t)		OnFwd(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t)
 #define move_left(t)            Off(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t)
 #define move_right(t)           Off(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t)
 #define move_up(t)              OnRev(OUT_A); Off(OUT_B); Wait(UNITTIME*t)
 #define move_down(t)            OnFwd(OUT_A); Off(OUT_B); Wait(UNITTIME*t)
 #define move_leftup(t)          OnRev(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t)
 #define move_leftdown(t)        OnFwd(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t)
 #define move_rightup(t)         OnRev(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t)
 #define move_rightdown(t)       OnFwd(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t)
 
 #define move_wait(t)			Wait(UNITTIME*t)
 #define move_stop				Off(OUT_A); Off(OUT_B)
 #define move_wait(t)            Wait(UNITTIME*t)
 #define move_stop               Off(OUT_A); Off(OUT_B)
 
 #define move_left_stop(t)		Off(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_right_stop(t)		Off(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_up_stop(t)			OnRev(OUT_A); Off(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_down_stop(t)		OnFwd(OUT_A); Off(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_leftup_stop(t)		OnRev(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_leftdown_stop(t)	OnFwd(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_rightup_stop(t)	OnRev(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_rightdown_stop(t)	OnFwd(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_left_stop(t)       Off(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_right_stop(t)      Off(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_up_stop(t)         OnRev(OUT_A); Off(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_down_stop(t)       OnFwd(OUT_A); Off(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_leftup_stop(t)     OnRev(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_leftdown_stop(t)   OnFwd(OUT_A); OnRev(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_rightup_stop(t)    OnRev(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t); move_stop
 #define move_rightdown_stop(t)  OnFwd(OUT_A); OnFwd(OUT_B); Wait(UNITTIME*t); move_stop
 
 task main()
 {
 	SetPower(OUT_A,1);
 	SetPower(OUT_B,7);
 	SetPower(OUT_C,2);
 	
     SetPower(OUT_A,1);
     SetPower(OUT_B,7);
     SetPower(OUT_C,2);
     
 
 	// 達 - 1
 	pen_down_wait;
 	move_right_stop(4);
 	pen_up_wait;
 	
 	// 達 - 2
 	move_leftup(1); move_left_stop(1);
 	pen_down_wait;
 	move_down_stop(2);
 	pen_up_wait;
 	
 	// 達 - 3
 	move_left_stop(3);
 	pen_down_wait;
 	move_right_stop(6);
 	pen_up_wait;
 	
 	// 達 - 4
 	move_leftdown(1); move_left_stop(4);
 	pen_down_wait;
 	move_rightdown_stop(1);
 	pen_up_wait;
 	
 	// 達 - 5
 	move_rightup(1); move_right_stop(2);
 	pen_down_wait;
 	move_leftdown_stop(1);
 	pen_up_wait;
 	
 	// 達 - 6
 	move_left_stop(4);
 	pen_down_wait;
 	move_right_stop(6);
 	pen_up_wait;
 	
 	// 達 - 7
 	move_leftdown(1); move_left_stop(4);
 	pen_down_wait;
 	move_right_stop(4);
 	pen_up_wait;
 	
 	// 達 - 8
 	move_leftdown(1); move_left_stop(4);
 	pen_down_wait;
 	move_right_stop(6);
 	pen_up_wait;
 	
 	// 達 - 9
 	move_leftup(2); move_left_stop(1);
 	pen_down_wait;
 	move_down_stop(5);
 	pen_up_wait;
 	
 	// 達 - しんにょう1
 	move_leftup(6); move_up_stop(2);
 	pen_down_wait;
 	move_rightdown_stop(2);
 	pen_up_wait;
 	
 	// 達 - しんにょう2
 	move_leftdown(1); move_left_stop(2);
 	pen_down_wait;
 	move_right_stop(3);
 	pen_up; move_wait(1);
 	move_leftdown_stop(2);
 	pen_down_wait;
 	move_right_stop(2);
 	pen_up; move_wait(1);
 	move_leftdown_stop(2);
 	pen_up_wait;
 	
 	// 達 - しんにょう3
 	move_leftup_stop(1);
 	pen_down_wait;
 	move_rightdown(3); move_right(3);
 	pen_up;
 	move_right_stop(5);
 	pen_up_wait;
 	
 	// 移動
 	move_leftdown(2);
 	move_left_stop(6);
 	
 	// 筆 - 竹冠1
 	pen_down_wait;
 	pen_up;
 	move_leftdown_stop(3);
 	pen_up_wait;
 	
 	// 筆 - 竹冠2
 	move_rightup_stop(2);
 	pen_down_wait;
 	move_right_stop(2);
 	pen_up_wait;
 	
 	// 筆 - 竹冠3
 	move_left_stop(1);
 	pen_down_wait;
 	move_down_stop(1);
 	pen_up_wait;
 	
 	// 筆 - 竹冠4
 	move_rightup(2); move_right_stop(2);
 	pen_down_wait;
 	pen_up;
 	move_leftdown_stop(3);
 	pen_up_wait;
 	
 	// 筆 - 竹冠5
 	move_rightup_stop(2);
 	pen_down_wait;
 	move_right_stop(2);
 	pen_up_wait;
 	
 	// 筆 - 竹冠6
 	move_left_stop(1);
 	pen_down_wait;
 	move_down_stop(1);
 	pen_up_wait;
 	
 	// 筆 - 下の部分1
 	move_leftdown(1); move_left_stop(4);
 	pen_down_wait;
 	move_right_stop(4); move_wait(1); move_down_stop(2);
 	pen_up_wait;
 	
 	// 筆 - 下の部分2
 	move_leftup(1); move_left_stop(4);
 	pen_down_wait;
 	move_right_stop(6);
 	pen_up_wait;
 	
 	// 筆 - 下の部分3
 	move_leftdown(1); move_left_stop(4);
 	pen_down_wait;
 	move_right_stop(4);
 	pen_up_wait;
 	
 	// 筆 - 下の部分4
 	move_leftdown(1); move_left_stop(3);
 	pen_down_wait;
 	move_right_stop(4);
 	pen_up_wait;
 	
 	// 筆 - 下の部分5
 	move_leftdown(1); move_left_stop(5);
 	pen_down_wait;
 	move_right_stop(8);
 	pen_up_wait;
 	
 	// 筆 - 下の部分6
 	move_leftup(4); move_up_stop(1);
 	pen_down_wait;
 	move_down(6);
 	pen_up;
 	move_down_stop(8);
 	
 	
 	Off(OUT_A+OUT_B+OUT_C);
     // 達 - 1
     pen_down_wait;
     move_right_stop(4);
     pen_up_wait;
     
     // 達 - 2
     move_leftup(1); move_left_stop(1);
     pen_down_wait;
     move_down_stop(2);
     pen_up_wait;
     
     // 達 - 3
     move_left_stop(3);
     pen_down_wait;
     move_right_stop(6);
     pen_up_wait;
     
     // 達 - 4
     move_leftdown(1); move_left_stop(4);
     pen_down_wait;
     move_rightdown_stop(1);
     pen_up_wait;
     
     // 達 - 5
     move_rightup(1); move_right_stop(2);
     pen_down_wait;
     move_leftdown_stop(1);
     pen_up_wait;
     
     // 達 - 6
     move_left_stop(4);
     pen_down_wait;
     move_right_stop(6);
     pen_up_wait;
     
     // 達 - 7
     move_leftdown(1); move_left_stop(4);
     pen_down_wait;
     move_right_stop(4);
     pen_up_wait;
     
     // 達 - 8
     move_leftdown(1); move_left_stop(4);
     pen_down_wait;
     move_right_stop(6);
     pen_up_wait;
     
     // 達 - 9
     move_leftup(2); move_left_stop(1);
     pen_down_wait;
     move_down_stop(5);
     pen_up_wait;
     
     // 達 - しんにょう1
     move_leftup(6); move_up_stop(2);
     pen_down_wait;
     move_rightdown_stop(2);
     pen_up_wait;
     
     // 達 - しんにょう2
     move_leftdown(1); move_left_stop(2);
     pen_down_wait;
     move_right_stop(3);
     pen_up; move_wait(1);
     move_leftdown_stop(2);
     pen_down_wait;
     move_right_stop(2);
     pen_up; move_wait(1);
     move_leftdown_stop(2);
     pen_up_wait;
     
     // 達 - しんにょう3
     move_leftup_stop(1);
     pen_down_wait;
     move_rightdown(3); move_right(3);
     pen_up;
     move_right_stop(5);
     pen_up_wait;
     
     // 移動
     move_leftdown(2);
     move_left_stop(6);
     
     // 筆 - 竹冠1
     pen_down_wait;
     pen_up;
     move_leftdown_stop(3);
     pen_up_wait;
     
     // 筆 - 竹冠2
     move_rightup_stop(2);
     pen_down_wait;
     move_right_stop(2);
     pen_up_wait;
     
     // 筆 - 竹冠3
     move_left_stop(1);
     pen_down_wait;
     move_down_stop(1);
     pen_up_wait;
     
     // 筆 - 竹冠4
     move_rightup(2); move_right_stop(2);
     pen_down_wait;
     pen_up;
     move_leftdown_stop(3);
     pen_up_wait;
     
     // 筆 - 竹冠5
     move_rightup_stop(2);
     pen_down_wait;
     move_right_stop(2);
     pen_up_wait;
     
     // 筆 - 竹冠6
     move_left_stop(1);
     pen_down_wait;
     move_down_stop(1);
     pen_up_wait;
     
     // 筆 - 下の部分1
     move_leftdown(1); move_left_stop(4);
     pen_down_wait;
     move_right_stop(4); move_wait(1); move_down_stop(2);
     pen_up_wait;
     
     // 筆 - 下の部分2
     move_leftup(1); move_left_stop(4);
     pen_down_wait;
     move_right_stop(6);
     pen_up_wait;
     
     // 筆 - 下の部分3
     move_leftdown(1); move_left_stop(4);
     pen_down_wait;
     move_right_stop(4);
     pen_up_wait;
     
     // 筆 - 下の部分4
     move_leftdown(1); move_left_stop(3);
     pen_down_wait;
     move_right_stop(4);
     pen_up_wait;
     
     // 筆 - 下の部分5
     move_leftdown(1); move_left_stop(5);
     pen_down_wait;
     move_right_stop(8);
     pen_up_wait;
     
     // 筆 - 下の部分6
     move_leftup(4); move_up_stop(1);
     pen_down_wait;
     move_down(6);
     pen_up;
     move_down_stop(8);
     
     
     Off(OUT_A+OUT_B+OUT_C);
 
 }


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