2003/piiico.r

01/*------------------------------------------------------------------------------\
02|           ########  #### #### ####  ######   #######          |
03|           ##     ##  ##   ##   ##  ##    ## ##     ##         |
04|           ##     ##  ##   ##   ##  ##       ##     ##         |
05|           ########   ##   ##   ##  ##       ##     ##         |
06|           ##         ##   ##   ##  ##       ##     ##         |
07|           ##         ##   ##   ##  ##    ## ##     ##         |
08|           ##        #### #### ####  ######   #######          |
09|-------------------------------------------------------------------------------|
10|Autore: Luca Giacometti                                                    |
11|   Nome robot: piiico [perche' piiico significa piccolissimo piu' di pico] |
12|   Tattica: piiico si sposta nell angolo in basso a destra [se ci sono piu]|
13|        di 3 robot nello scontro anche se la procedura di scan e molto |
14|        da modificare in quanto non molto precisa] e inizia a far  |
15|        fuoco nei 90 gradi tra il lato destro e quello inferiore del   |
16|        campo di battaglia [a differenza degli altri robot non si  |
17|        preoccupa dell occupazione dell angolo, se e occupato, lo  |
18|        disoccupa a cannonate].                    |
19|        Nel caso in cui [con una scansione non molto precisa] individui|
20|        1 solo robot rimanente gli salta addosso [si muove sempre  |
21|        verso il bersaglio] scansionando allo stesso angolo del ciclo  |
22|        precedente se ha visto il nemico, nei 20 gradi successivi se   |
23|        non lo ha visto.Questo mi assicura un ottima strategia di  |
24|        inseguimento.Ben poche volte piiico perde il nemico durante    |
25|        l attacco finale e anche nel caso in cui succedesse,       |
26|        lo recupera entro 18 cicli di scansione [360/20].      |
27|        piiico non tiene conto del cannon recharge, se posso sparare   |
28|        sparo, dopo potrei aver problemi ben maggiori del recharge |
29|        o del range che me lo impediscono [vedi morte 8)]      |
30|       piiico e il robot che intendo usare in tutti gli scontri non f2f|
31|   Data di nascita: 11/09/2003 versione 0.1 attuale 0.4 [versione corrente]|
32|   Citta': Cuneo [Italy]                           |
33\------------------------------------------------------------------------------*/
34 
35int count,angle,range;
36 
37main()
38    {
39        while(angle<359)
40            {
41                if(range=scan(angle+=20,10)) count+=1;
42            }
43        if(count!=1) while(loc_x()<997) drive(180+180*(999>loc_x())+atan(100000*(loc_y()-0)/(loc_x()-999)),100);
44        while(count!=1)
45            {
46                count=0;
47                angle=80;
48                while(angle<181)
49                    {
50                        if(range=scan(angle+=20,10)) {count+=1;cannon(angle,range+20);}
51                    }
52            }
53        while(1)
54            {
55                if(range=scan(angle+=20,10))
56                    {
57                        cannon(angle,range+10);
58                        drive(angle,range);
59                        angle-=20;
60                    }
61            }
62    }