右という文字を書き順通りに書くロボットを製作しました。書き順通りというのがポイントでなかなか苦労しました。下はそのプログラムです。

       task main()
       {OnFwd(OUT_B); Wait(20); Off(OUT_B);
	OnFwd(OUT_A+OUT_C);
	Wait(56);
	Off(OUT_A+OUT_C);
	OnRev(OUT_B); Wait(20); Off(OUT_B);
	OnFwd(OUT_A+OUT_C);
	Wait(14);
	OnFwd(OUT_A); OnRev(OUT_C);
	Wait(90);
	Off(OUT_A+OUT_C);
	OnRev(OUT_A+OUT_C);
	Wait(14);
	OnFwd(OUT_B); Wait(20); Off(OUT_B);
	OnFwd(OUT_A+OUT_C);
	Wait(75);
	Off(OUT_A+OUT_C);
	OnRev(OUT_B); Wait(20); Off(OUT_B);
	OnFwd(OUT_A+OUT_C);
	Wait(32);
	Off(OUT_A+OUT_C);
	OnRev(OUT_A); OnFwd(OUT_C);
	Wait(90);
	Off(OUT_A+OUT_C);
	OnRev(OUT_A+OUT_C);
	Wait(72);	
	Off(OUT_A+OUT_C);
	OnFwd(OUT_B); Wait(20); Off(OUT_B);
	OnFwd(OUT_A+OUT_C);
	Wait(56);
	Off(OUT_A+OUT_C);
	OnRev(OUT_B); Wait(20); Off(OUT_B);
	OnFwd(OUT_A+OUT_C);
	Wait(28);
	Off(OUT_A+OUT_C);
	OnRev(OUT_A); OnFwd(OUT_C);
	Wait(90);
	Off(OUT_A+OUT_C);
	OnFwd(OUT_B); Wait(20); Off(OUT_B);
	OnRev(OUT_A+OUT_C);
	Wait(75);
	Off(OUT_A+OUT_C);
	OnRev(OUT_B); Wait(20); Off(OUT_B);}

必殺技

       task main (

{

   SetSensor(SENSOR_3,SENSOR_TOUCH);
   SetSensor(SENSOR_1,SENSOR_TOUCH);    
   OnFwd(OUT_A+OUT_C);
   while(true)
 {
    if((SENSOR_1 ==1)&&(SENSOR_3 == 1))
   {
   OnRev(OUT_A+OUT_C);  Wait(40);
   OnFwd(OUT_C);       Wait(130);
   OnFwd(OUT_A);
   }
   else{if(SENSOR_3 == 0)
   {  
      Off(OUT_C);
      OnFwd(OUT_A);
      until(SENSOR_3 == 1);
      OnFwd(OUT_A+OUT_C);
   } 
  }   
   }
   }

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-11-25 (金) 17:08:21