// Listing 6.4. Mechanizm PUMT — metoda colorTrack()


/*Rama projektowa Softbot
Nazwa: Unit 2
Części: 

Sekcja czujników:
Kamera
    
Akcje:

Krok 1.: Przejdź do położenia domyślnego.
Krok 2.: Przełącz kamerę w tryb śledzenia.
Krok 3.: Każ kamerze znaleźć niebieski obiekt.
Krok 4.: Wykryj i znajdź obiekt.
Krok 5.: Jeżeli obiekt jest niebieski,
Krok 6.: pomachaj lewym ramieniem i
Krok 7.: wróć do położenia domyślnego.
Krok 8.: Każ kamerze znaleźć zielony obiekt.
Krok 9.: Wykryj i znajdź obiekt.
Krok 10.: Jeżeli obiekt jest zielony,
Krok 11.: pomachaj prawym ramieniem i
Krok 12.: wróć do położenia domyślnego.
Krok 13.: Każ kamerze znaleźć czerwony obiekt.
Krok 14.: Wykryj i znajdź obiekt.
Krok 15.: Jeżeli obiekt jest czerwony,
Krok 16.: kontynuuj śledzenie go.
Krok 17.: Wykonaj trzy kroki w prawo.
Krok 18.: Wykonaj trzy kroki w lewo.
Krok 19.: Zatrzymaj się.
     
Zadania:

Sprawdź działanie czujnika koloru, szukając obiektu o określonym kolorze, a następnie wykonaj pewne ruchy.
Koniec ramy*/


1	private void colorTrack()
2	{
3	    boolean BlueInColor = false;
4	    boolean RedInColor = false;
5	    boolean GreenInColor = false;
6	    boolean BlackInColor = false;
7	    int Blue = 0;
8	    int Red = 2;
9	    int Green = 1;
10	    int Black = 4;
11	
12	    Unit2.restoreDefaultPosition();
13	    Unit2.VISION.track();
14	    BlueInColor = Unit2.VISION.getTarget(Blue);
15	    if(BlueInColor){
16	       Unit2.LEFT_ARM.wave();
17	       Unit2.waitUntilStop();
18	       Unit2.restoreDefaultPosition();
19	    }
20	    GreenInColor = Unit2.VISION.getTarget(Green);
21	    if(GreenInColor){
22	       Unit2.RIGHT_ARM.wave();
23	       Unit2.waitUntilStop();
24	       Unit2.restoreDefaultPosition();          
25	    }
26	    RedInColor = Unit2.VISION.getTarget(Red);
27	    if(RedInColor){      
28	       Unit2.VISION.track();
29	       Unit2.waitUntilStop();
30	       Unit2.VISION.track();
31	       Unit2.waitUntilStop();
32	       Unit2.WALK.turnRight(3);
33	       Unit2.waitUntilStop();
34	       Unit2.WALK.turnLeft(3);
35	       Unit2.waitUntilStop();
36	    }                  
37	}     

