home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 51 / PCGamer51_17Demos.iso / games / colobotdemo / colobotdemo10e.exe / script / ant08.txt < prev    next >
Text File  |  2001-06-10  |  1KB  |  68 lines

  1. extern void object::Attack( )
  2. {
  3.     int        list[], i;
  4.     object    p;
  5.     float    dist, prox;
  6.     point    nav1, nav2, dest;
  7.     boolean    advance = true;
  8.  
  9.     errmode(0);  // ne stoppe pas si erreur
  10.     while ( ismovie() != 0 )  wait(1);
  11.  
  12.     i = 0;
  13.     list[i++] = WingedGrabber;
  14.     list[i++] = TrackedGrabber;
  15.     list[i++] = WheeledGrabber;
  16.     list[i++] = LeggedGrabber;
  17.     list[i++] = WingedShooter;
  18.     list[i++] = TrackedShooter;
  19.     list[i++] = WheeledShooter;
  20.     list[i++] = LeggedShooter;
  21.     list[i++] = WingedOrgaShooter;
  22.     list[i++] = TrackedOrgaShooter;
  23.     list[i++] = WheeledOrgaShooter;
  24.     list[i++] = LeggedOrgaShooter;
  25.     list[i++] = WingedSniffer;
  26.     list[i++] = TrackedSniffer;
  27.     list[i++] = WheeledSniffer;
  28.     list[i++] = LeggedSniffer;
  29.     list[i++] = Thumper;
  30.     list[i++] = PhazerShooter;
  31.     list[i++] = Recycler;
  32.     list[i++] = Shielder;
  33.     list[i++] = Subber;
  34.     list[i++] = Me;
  35.  
  36.     nav1.x = cmdline(0);
  37.     nav1.y = cmdline(1);
  38.     nav2.x = cmdline(2);
  39.     nav2.y = cmdline(3);
  40.  
  41.     while ( true )
  42.     {
  43.         while ( ismovie() != 0 )  // film en cours ?
  44.         {
  45.             wait(1);
  46.         }
  47.  
  48.         p = radar(list, 0, 360, 0, 40);
  49.         if ( p == null )
  50.         {
  51.             while ( true )
  52.             {
  53.                 goto(nav1);
  54.                 p = radar(list, 0, 360, 0, 40);
  55.                 if ( p != null )  break;
  56.  
  57.                 goto(nav2);
  58.                 p = radar(list, 0, 360, 0, 40);
  59.                 if ( p != null )  break;
  60.             }
  61.         }
  62.         else
  63.         {
  64.             fire(p.position);
  65.         }
  66.     }
  67. }
  68.