[[2005/B7/課題1]]

目次
#contents

*「正」を書くプログラム [#u19f907f]


#comment


*「左」を書くプログラム [#racc09c4]

 // 「左」を書くプログラム
 //
 //    作成者:かずま
 //    作成日:2005-11-7
 
 #define TURN_TIME 101    // 直角に曲がるのにかかる時間
 #define MOVE_TIME 121    // 1秒間に進む距離
 #define PEN_TIME 20    // ペンを上下させる時間
 
 sub turn_left()
 {
     OnRev(OUT_A); OnFwd(OUT_C);
     Wait(TURN_TIME);
     Off(OUT_A+OUT_C);
 }
 
 sub turn_right()
 {
     OnFwd(OUT_A); OnRev(OUT_C);
     Wait(TURN_TIME);
     Off(OUT_A+OUT_C);
 }
 
 sub pen_down()
 {
     OnFwd(OUT_B);
     Wait(PEN_TIME);
     Off(OUT_B);
 }
 
 sub pen_up()
 {
     OnRev(OUT_B);
     Wait(PEN_TIME);
     Off(OUT_B);
 }
 
 task main()
 {
     SetPower(OUT_A,7);
     SetPower(OUT_C,7);
 
     pen_down();
 
     OnFwd(OUT_A+OUT_C);    // act1
     Wait(17100/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     pen_up();
 
     Wait(100);
 
     turn_left();    // act2
 
     Wait(100);
 
     OnFwd(OUT_A+OUT_C);    // act3
     Wait(5200/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     Wait(100);
 
     turn_left();    // act4
 
     Wait(100);
 
     OnFwd(OUT_A+OUT_C);    // act5
     Wait(8800/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     Wait(100);
 
     OnRev(OUT_A);    // act6
     OnFwd(OUT_C);
     Wait(87);
     Off(OUT_A+OUT_C);
 
     pen_down();
 
     Wait(100);
 
     SetPower(OUT_A,7);    // act7
     SetPower(OUT_C,0);
     OnFwd(OUT_A+OUT_C);
     Wait(180);
     Off(OUT_A+OUT_C);
     SetPower(OUT_A,7);
     SetPower(OUT_C,7);
 
     pen_up();
 
     Wait(100);
 
     OnFwd(OUT_A);    // act8
     OnRev(OUT_C);
     Wait(165);
     Off(OUT_A+OUT_C);
 
     Wait(100);
 
     OnFwd(OUT_A+OUT_C);    // act9
     Wait(5800/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     Wait(100);
 
     turn_right();    // act10
 
     Wait(100);
 
     OnFwd(OUT_A+OUT_C);    // act11
     Wait(2300/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     pen_down();
 
     Wait(100);
 
     OnFwd(OUT_A+OUT_C);    // act12
     Wait(12200/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     pen_up();
 
     Wait(100);
 
     OnRev(OUT_A+OUT_C);    // act13
     Wait(5500/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     Wait(100);
 
     turn_right();    // act14
 
     Wait(200);
 
     OnRev(OUT_A+OUT_C);    // gosa1
     Wait(1400/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     pen_down();
 
     Wait(200);
 
     OnFwd(OUT_A+OUT_C);    // act15
     Wait(7700/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     pen_up();
 
     Wait(100);
 
     OnFwd(OUT_A+OUT_C);    // gosa2
     Wait(1100/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     Wait(100);
 
     turn_left();    // act16
 
     Wait(100);
 
     OnRev(OUT_A+OUT_C);    // act17
     Wait(10300/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     pen_down();
 
     Wait(100);
 
     OnFwd(OUT_A+OUT_C);    // act18
     Wait(16700/MOVE_TIME);
     Off(OUT_A+OUT_C);
 
     pen_up();
 
 }


#comment


[[戻る>2005/B7/課題1]]


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