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

       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);
   } 
  }   
   }
   }

ひくり

   task main ()

{

   SetSensor(SENSOR_1, SENSOR_LIGHT);
   SetSensor(SENSOR_3, SENSOR_LIGHT);
   while (true) {
      if((SENSOR_1>=40)&&(SENSOR_3>=40))
       {OnFwd(OUT_A+OUT_C);}

else{if *1 {

           OnFwd(OUT_C); Off(OUT_A);
      }  }
      

{ if *2 {

           
           OnFwd(OUT_A);
           Off(OUT_C);}
   }
   }
   }

*1 SENSOR_1 <40)&&(SENSOR_3 >=40
*2 SENSOR_1 >=40)&&(SENSOR_3 <40

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-11-25 (金) 17:51:13 (5013d)