home *** CD-ROM | disk | FTP | other *** search
/ C++ Games Programming / CPPGAMES.ISO / thx / demos / mfighter / build / cfighter.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-14  |  1.0 KB  |  66 lines

  1. #include <stdlib.h>    // rand()
  2. #include "game.h"
  3. #include "cfighter.h"
  4.  
  5. const int DIE_SIZE = 10;
  6.  
  7. void ComputerFighter::configure(int s)
  8.   {
  9.   request_timer_cue(SPEED,(callback)&ComputerFighter::on_timer);
  10.  
  11.   set_side(s);
  12.   Fighter::initialize();
  13.   }
  14.  
  15. void ComputerFighter::on_timer()
  16.   {
  17.   if (getmode()!=WAIT)  return;
  18.  
  19.   int die=rand()%DIE_SIZE;
  20.   switch (die)
  21.     {
  22.     case 0:
  23.       punch();
  24.       break;
  25.     case 1:
  26.       kick();
  27.       break;
  28.     case 2:
  29.       block();
  30.       break;
  31.     case 3:
  32.       move_closer();
  33.       break;
  34.     case 4:
  35.       move_closer();
  36.       break;
  37.     case 5:
  38.       move_closer();
  39.       break;
  40.     case 6:
  41.       move_closer();
  42.       break;
  43.     case 7:
  44.       move_closer();
  45.       break;
  46.     case 8:
  47.       move_closer();
  48.       break;
  49.     }
  50.   }
  51.  
  52. void ComputerFighter::move_closer()
  53.   {
  54.   int ox=opponent->getx();
  55.   if (get_side()==LEFTGUY)
  56.     {
  57.     if (ox>getx())  
  58.       Fighter::right();
  59.     }
  60.   else
  61.     {
  62.     if (getx()>ox)
  63.       Fighter::left();
  64.     }
  65.   }
  66.