home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
127.lha
/
C_Robots
/
killer.r
< prev
Wrap
Text File
|
1986-11-20
|
1KB
|
74 lines
/* KILLER.R by John Smolin (JS090186 at AFEHQVM2) */
/* Combination of Leader (standing still) and B2 */
/* Eventually there will be one which moves instead of corner-sitting */
int range,x,orange,ox,dir;
main() {
drive(270,100);
x=-239;
dir=90;
while(loc_y()>35);
drive(90,0);
while(speed()>49);
drive(0,100);
while(loc_x()<965);
drive(100,0);
while(damage()<55)
{
x+=329;
while(!range && damage()<55)
{
if (range=scan(x+=15,8))
x=killit(x);
else if(x>180) x=80;
}
}
while(1)
{
if(dir==450) dir=90;
if((dir==90 && loc_y()>920) || (dir==270 && loc_y()<80)
|| (dir==0 && loc_x()>920) || (dir==180 && loc_x()<80))
{ drive(dir+=90,0);
while(speed()>49);
drive(dir,100);
}
if(speed()<50) drive(dir,100);
if(x>dir+179 && !range) x=dir-25;
if(range && range<701)
{
x+=5-(scan(x-5,5) != 0)*10;
x+=3-(scan(x-3,3) != 0)*6;
orange=range;
if ((range=scan(x,10))>40)
cannon(x,range+(range-orange+cos(x-dir)/2000)*range/325);
else cannon(x,46);
}
else range=scan(x+=19,10);
} }
killit(x)
{
cannon(x,range);
while (range && range<700 && damage()<55)
{
ox=x;
orange=range;
x+=4-(scan(x-4,4) != 0)*8;
x+=2-(scan(x-2,2) != 0)*4;
range=scan(x,10);
if (range>150) {
x+=1-(scan(x-1,1) != 0)*2;
if(range)
cannon(x+(x-ox)*range/275,range+(range-orange)*range/275);
}
else {
if (range<41 && range) range=41;
if (range)
cannon(x,range);
}
}
range=0;
return(x); }