2005/B2

「左」の文字を書くプログラム

int mt;//130detyokkau
sub tr()//右回り
{
   OnRev(OUT_A); OnFwd(OUT_C);
   Wait(mt);
   Off(OUT_A+OUT_C);
}
sub tl()//左回り
{
   OnRev(OUT_C); OnFwd(OUT_A);
   Wait(mt);
   Off(OUT_A+OUT_C);
}
sub kabu()//2画目
{
   OnFwd(OUT_A+OUT_C);Wait(30);
   repeat(20){
   OnFwd(OUT_A+OUT_C);Wait(10);
   OnRev(OUT_A);OnFwd(OUT_C);Wait(1);
   }
}
sub up()//ペンを上げる
{
   OnRev(OUT_B);Wait(20);
   Off(OUT_B);
}
sub down()//ペンを下げる
{
   OnFwd(OUT_B);Wait(40);
   Off(OUT_B);
}  
task main()
{
   OnFwd(OUT_B);Wait(10);
   Off(OUT_B);    
   OnFwd(OUT_A+OUT_C);Wait(200);//1画目
   up();
   
   mt = 210;
   tl();
   OnFwd(OUT_A+OUT_C);Wait(150);
   mt = 150;
   tl();
   down();
   kabu();//2画目
   up();
 
   mt = 200;
   tr();
   OnFwd(OUT_A+OUT_C);Wait(100);
   mt = 80;
   tr();
   down();
   OnFwd(OUT_A+OUT_C);Wait(100);//3画目
   up();
 
   mt = 240;
   tl();
   OnFwd(OUT_A+OUT_C);Wait(70);
   mt = 120;
   tl();
   down();
   OnFwd(OUT_A+OUT_C);Wait(50);//4画目
   up();
 
   mt = 120;
   tr();
   OnFwd(OUT_A+OUT_C);Wait(70);
   mt = 240;
   tr();
   down();
   OnFwd(OUT_A+OUT_C);Wait(120);//5画目
   up();
  
   Off(OUT_A+OUT_C);
}

感想

 正直うまく言ったとはいえない結果となった(今やればもっといい内容になっただろうと思う)。
 ロボットの中心(車軸の中心?)にペンを配置することで方向転換のときにペンがずれないようにしたことがポイントだったけど実際あまりうまくいかなかったような気がする…紙の上とじゅうたんの上だと回転速度が違ってこまった。


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