home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 127.lha / C_Robots / killer.r < prev   
Text File  |  1986-11-20  |  1KB  |  74 lines

  1. /*  KILLER.R  by John Smolin  (JS090186 at AFEHQVM2)  */
  2. /*  Combination of Leader (standing still) and B2   */
  3. /*  Eventually there will be one which moves instead of corner-sitting    */
  4. int range,x,orange,ox,dir;
  5. main() {
  6. drive(270,100);
  7. x=-239;
  8. dir=90;
  9. while(loc_y()>35);
  10. drive(90,0);
  11. while(speed()>49);
  12. drive(0,100);
  13. while(loc_x()<965);
  14. drive(100,0);
  15. while(damage()<55)
  16. {
  17. x+=329;
  18. while(!range && damage()<55)
  19. {
  20. if (range=scan(x+=15,8))
  21.     x=killit(x);
  22. else if(x>180) x=80;
  23.  }
  24. }
  25. while(1)
  26. {
  27. if(dir==450) dir=90;
  28. if((dir==90 && loc_y()>920) || (dir==270 && loc_y()<80)
  29.    || (dir==0 && loc_x()>920) || (dir==180 && loc_x()<80))
  30.   { drive(dir+=90,0);
  31.     while(speed()>49);
  32.     drive(dir,100);
  33.   }
  34. if(speed()<50) drive(dir,100);
  35. if(x>dir+179 && !range) x=dir-25;
  36. if(range && range<701)
  37.   {
  38.    x+=5-(scan(x-5,5) != 0)*10;
  39.    x+=3-(scan(x-3,3) != 0)*6;
  40.    orange=range;
  41.    if ((range=scan(x,10))>40)
  42.  cannon(x,range+(range-orange+cos(x-dir)/2000)*range/325);
  43.          else cannon(x,46);
  44.     }
  45.  else range=scan(x+=19,10);
  46. } }
  47.  
  48. killit(x)
  49.    {
  50.  cannon(x,range);
  51.  while (range && range<700 && damage()<55)
  52.    {
  53.      ox=x;
  54.      orange=range;
  55.      x+=4-(scan(x-4,4) != 0)*8;
  56.      x+=2-(scan(x-2,2) != 0)*4;
  57.      range=scan(x,10);
  58.     if (range>150) {
  59.      x+=1-(scan(x-1,1) != 0)*2;
  60.      if(range)
  61. cannon(x+(x-ox)*range/275,range+(range-orange)*range/275);
  62.             }
  63.       else {
  64.       if (range<41 && range) range=41;
  65.       if (range)
  66.       cannon(x,range);
  67.        }
  68. }
  69.    range=0;
  70.    return(x); }
  71.  
  72.  
  73.  
  74.