[[2011a]]

[[2011a/A6/課題4右]]

*目次 [#bd2a7c43]
#contents

*課題4の内容 [#cdce30da]
サッカーゲーム!!
ディフェンス(空缶)をどける→テニスボールをゴールにシュートする。
ちなみにうちの班はロボットは一体だけ。

*メンバー紹介 [#q0b1cee9]
Ku☆ra 様&keisuke&イーノック&mika

*ロボット [#ydfa2d62]
 お名前:

**本体 [#a4eb62f5]

**アーム部分 [#fd4a55bf]

** タッチセンサー部分[#mc1c6d38]


*プログラミング [#ffd0862f]
#define THRESHOLD 40
#define RUN_TIME 10
#define BALL_CATCH 1
#define END_CATCH 2
#define Turn_R(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);
#define Turn_L(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);
#define GO_ST(t) OnRev(OUT_A+OUT_C);


task main()
{
SetSensor(SENSOR_3, SENSOR_TOUCH);
SetSensor(SENSOR_2, SENSOR_LIGHT);
SetSensor(SENSOR_1, SENSOR_LIGHT);


        OnFwd(OUT_A+OUT_C);Wait(100);Off(OUT_A+OUT_C);

  while(SENSOR_3 == 0)
        { if (SENSOR_1 > THRESHOLD && SENSOR_2 > THRESHOLD)
                       {OnFwd(OUT_A);}
 else if(SENSOR_1 < THRESHOLD && SENSOR_2 > THRESHOLD)   
                  {OnFwd(OUT_C);Off(OUT_A);}
 else if(SENSOR_1 > THRESHOLD && SENSOR_2 < THRESHOLD)
                  {OnFwd(OUT_A);Off(OUT_C);}      
 else if (SENSOR_1 > THRESHOLD && SENSOR_2 > THRESHOLD)
                   {OnFwd(OUT_A+OUT_C);}     
        }
      Off(OUT_A+OUT_C);
      SendMessage(BALL_CATCH);
     
      ClearMessage();
until (Message() == END_CATCH);
       OnRev(OUT_A+OUT_C);Wait(200);
         Off(OUT_A+OUT_C);
         Turn_L(60);
         Wait(50);
         OnRev(OUT_A+OUT_C);Wait(120);
         Off(OUT_A+OUT_C);
         Wait(50);
         Turn_R(60);
         Wait(50);
         GO_ST(100);
         Wait(50);
         Turn_L(20);
         GO_ST(30);
         Turn_R(20);
repeat(3){
         OnFwd(OUT_B);Wait(70);
         Off(OUT_B);
         OnRev(OUT_B);Wait(70);
         Turn_R(30);
         Turn_L(30);
         GO_ST(30;)
         OnFwd(OUT_A+OUT_C);Wait(30);
         Off(OUT_C+OUT_A);
         Wait(100);
           
    } 


  #define THRESHOLD 40
#define RUN_TIME 40
#define BALL_CATCH 1
#define END_CATCH 2
#define Turn_R(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);
#define Turn_L(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);
#define GO_ST(t) OnRev(OUT_A+OUT_C);



task main ()
{
  ClearMessage();
until (Message() == BALL_CATCH);
PlaySound(SOUND_UP);
OnFwd(OUT_C);Wait(100);Off(OUT_C);//台座を下ろす
OnFwd(OUT_B);Wait(460);Off(OUT_B);//アームを出す 
OnFwd(OUT_A);Wait(350);Off(OUT_A); //ハンド下ろす
OnRev(OUT_B);Wait(180);
OnRev(OUT_A);Wait(60);//アームを引く
Off(OUT_B+OUT_A);

OnFwd(OUT_B);Wait(200);Off(OUT_B);
OnRev(OUT_C);Wait(120);Off(OUT_C);//台座を上げる
OnRev(OUT_A);Wait(250);Off(OUT_A);
OnRev(OUT_B);Wait(150);Off(OUT_B);


SendMessage(END_CATCH); }
    
       
 
             
           















}
*工夫した点&苦労した点。 [#uc4a038d]



*感想&反省 [#gcc055a8]

**Ku☆ra 様 [#r4b4685a]

**keisuke [#acc439ec]

**イーノック [#bfe9c41e]

**mika [#yd2b4992]
最終課題。


*コメントどーぞ [#sc22266c]
#comment

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