home *** CD-ROM | disk | FTP | other *** search
- /* 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); }
-
-
-
-