2002/vaiolo.r
01 | /* **********************************VAIOLO***************************** |
02 | questo robot � dedicato alla pazienza infinita di Alessandro Carlin, mio maestro nei Crobots che spero di fregare!!*/ |
03 |
04 | /* crobot di : |
05 |
06 | QUESTO HA 386 ISTRUZIONI E GAREGGIA NEI 500 |
07 |
08 | LUCA STRINGHER |
09 |
10 | COME SI COMPORTA: |
11 |
12 | vaiolo va all'angolo pi� vicino e fa un quadrato come gli altri virus. piccolo. da implementare |
13 |
14 | */ |
15 |
16 | int x,y,a,b,ang,xi,yi,anga,d0,d3,d4,d1,d2,i,angm,r,dq,q,angq,d,D,ang2,ang3,ang4; |
17 | main() |
18 | { |
19 | inoculazione(); |
20 | r=40; |
21 | incubazione();} |
22 |
23 | inoculazione() |
24 | { |
25 | x=loc_x();y=loc_y(); |
26 | if (x>500){i=2;} else {;i=1;} |
27 | if (y>500){i+=1; if (i==2){i=4;}} |
28 | trasmissione(); |
29 | } |
30 |
31 | incubazione() |
32 | { |
33 |
34 | while (1) |
35 | { |
36 | x= rand (r)+xi;a=0; |
37 | while (speed()>49);{epidemia();} |
38 | while (loc_x()<x){drive(a,100);epidemia();}drive(a,0); |
39 | y= rand (r)+yi;a=90; |
40 | while (speed()>49);{epidemia();} |
41 | while (loc_y()<y){drive(a,100);epidemia();}drive(a,0); |
42 | x= rand (r)+xi;a=180; |
43 | while (speed()>49);{epidemia();} |
44 | while (loc_x()>x){drive(a,100);epidemia();}drive(a,0); |
45 | y= rand (r)+yi;a=270; |
46 | while (speed()>49);{epidemia();} |
47 | while (loc_y()>y){drive(a,100);epidemia();}drive(a,0); |
48 | /*linfociti();*/ |
49 | /*r=r-10; |
50 | if(r<10){r=40;}*/ |
51 | } |
52 | } |
53 |
54 | epidemia() |
55 | { |
56 | d0=scan(anga,10); |
57 | if (d0>0) |
58 | { |
59 | cannon(anga,d0); |
60 |
61 | /*D=5; |
62 | while(D>1) |
63 | {anga=anga+D; |
64 | d1=scan(anga,D); |
65 | if(d1==0){anga=anga-2*D;d1=scan(anga,D);} |
66 | d4=d3;ang4=ang3; |
67 | d3=d2;ang3=ang2; |
68 | d2=d1;ang2=anga; |
69 | D=D-2; |
70 | } |
71 | anga=anga+(ang2-ang4)/2; |
72 | d=d1+(d2-d4)/2; |
73 | cannon(anga,d);*/ |
74 | } |
75 | else {anga+=20;} |
76 | if (anga>angm){anga=angm-90;} |
77 | |
78 | |
79 | } |
80 |
81 | trasmissione() |
82 | { |
83 | if (i==1){xi=80 ;yi=80;angm=90;} |
84 | if (i==4){xi=80; yi=870;angm=360;} |
85 | if (i==2){xi=870;yi=80;angm=180;} |
86 | if (i==3){xi=870;yi=870;angm=270;} |
87 | anga=angm-90; |
88 | } |
89 | /* |
90 | linfociti() |
91 | { |
92 | q=0; |
93 | angq=angm-90; |
94 | while(angq>angm) |
95 | {dq=scan(angq,10); |
96 | angq=angq+20; |
97 | if(dq>0){q+=1;} |
98 | } |
99 | }*/ |