[[2005/B5/課題1]]

目次
#contents

*プログラム [#md38017d]
 作成日:11月9日
 作成者:Dezz
 
 #define turn_TIME 104           //回転時間(変更可能)
 
 sub turn_left()                 //左
 {
  OnRev(OUT_A);OnFwd(OUT_C);      
  Wait(turn_TIME);Off(OUT_A+OUT_C);Wait(50);
 }
 
 sub turn_right()                //右
 {
  OnFwd(OUT_A);OnRev(OUT_C);
  Wait(turn_TIME);Off(OUT_A+OUT_C);Wait(50);
 }
 
 sub Lgo_straight()              //Long直線
 {
  OnFwd(OUT_A);OnFwd(OUT_C);
  Wait(80);Off(OUT_A+OUT_C);Wait(50);
 }
 
 sub Sgo_straight()              //Short直線
 {
  OnFwd(OUT_A);OnFwd(OUT_C);
  Wait(60);Off(OUT_A+OUT_C);Wait(50);
 }
 
 sub up()                        //上げ
 {
  OnRev(OUT_B);
  Wait(10);Off(OUT_B);Wait(50);
 }
 
 sub down()                      //下げ
 {
  OnFwd(OUT_B);
  Wait(15);Off(OUT_B);Wait(50);  //下げる時間を上げる時間より長く
 }                               //することで確実に地面につく
 
 task main()
 {
   up();                         //ペンを取り込む
   down();                       //ペンを降ろす
   
   SetPower(OUT_A,7);            //パワーを変更
   OnFwd(OUT_A);
   SetPower(OUT_C,0);            //パワーを変更
   OnFwd(OUT_C);
   Wait(180);
   Off(OUT_A+OUT_C);Wait(50);up();//曲線を描く
   
   SetPower(OUT_A,7);            //パワーを戻す
   SetPower(OUT_C,7);            //パワーを戻す
   OnFwd(OUT_A);OnRev(OUT_C);
   Wait(180);Off(OUT_A+OUT_C);
   OnFwd(OUT_A);OnFwd(OUT_C);Wait(100);Off(OUT_A+OUT_C);
   turn_right();
   
   down();
   OnFwd(OUT_A);OnFwd(OUT_C);Wait(150);Off(OUT_A+OUT_C);
   up();
   
   turn_right();
   OnFwd(OUT_A);OnFwd(OUT_C);Wait(50);Off(OUT_A+OUT_C);
   turn_right();
   OnFwd(OUT_A);OnFwd(OUT_C);
   Wait(120);Off(OUT_A+OUT_C);Wait(50);
   turn_left();
   
   OnRev(OUT_A);OnRev(OUT_C);      //微調整
   Wait(10);Off(OUT_A+OUT_C);
   down();Sgo_straight();up();
   
   OnRev(OUT_A);OnRev(OUT_C);Wait(60);
   Off(OUT_A+OUT_C);Wait(50);
   turn_left();
   
   down();
   Lgo_straight();turn_right();Sgo_straight();
   up();
   
   turn_right();Lgo_straight();
   
   down();
   OnRev(OUT_A);OnRev(OUT_C);Wait(80);Off(OUT_A+OUT_C);
   up();
  }

[[戻る>2005/B5/課題1]]
*ロボについて [#a9eb0760]

コメントをどうぞ
*プログラムについて [#l8174257]

*コメントをどうぞ [#bb6b459c]
-残念ながらNQCの仕様でサブルーチンだと引数がとれないので、動かす時間を指定するときなどは関数やマクロを使ったほうが便利ですね。 -- [[松本(教員)]] &new{2005-11-21 (月) 14:34:02};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS