home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 July & August / PCWorld_2006-07-08_cd.bin / temacd / planearcade / planearcade.exe / Tank3.bmp / bombarder.h < prev    next >
C/C++ Source or Header  |  2004-08-25  |  3KB  |  139 lines

  1.  
  2. //=============================================================
  3. #ifndef _BOMBARDER_H_
  4. #define _BOMBARDER_H_
  5. //=============================================================
  6. //nepriatelsky bombarder
  7.  
  8. //rychlos¥
  9. #define Bombarder_Speed 9.0f
  10.  
  11. //kolizne a gulometove body
  12. #define Bombarder_Left  Get3D(-40.0f,0.0f,0.0f)
  13. #define Bombarder_Right Get3D(40.0f,0.0f,0.0f)
  14. #define Bombarder_Front Get3D(0.0f,0.0f,20.0f)
  15. #define Bombarder_Back  Get3D(0.0f,0.0f,-43.0f)
  16.  
  17. #define Bombarder_BulletLeft  Get3D(0.0f, 15.0f,0.0f)
  18. #define Bombarder_BulletRight Get3D(0.0f,-15.0f,0.0f)
  19.  
  20. //pozicia vrtule
  21. #define Bombarder_VrtulaPointLeft  Get3D(-24.5f,-3.06f,50.01f)
  22. #define Bombarder_VrtulaPointRight Get3D( 24.5f,-3.06f,50.01f)
  23.  
  24. //pozicia exploznych bodov
  25. #define Bombarder_ExploPoint1 Get3D(-27.0f,-2.0f,40.0f)
  26. #define Bombarder_ExploPoint2 Get3D( 27.0f,-2.0f,40.0f)
  27.  
  28. //frekvencia strielania
  29. #define Bombarder_BulletFreq 100.0f
  30.  
  31. //frekvencia bombardovania
  32. #define Bombarder_BombFreq 300.0f
  33.  
  34. //hlasitost zvuku
  35. #define Bombarder_SoundScale  300.0f
  36.  
  37. //kedy po zostreleni zmizne
  38. #define Bombarder_DestroyTime 15000.0f
  39.  
  40. //Ai fyzicke zdatnosti lietadla
  41. #define Bombarder_MaxSteerZ 0.25f   //maximalny zatocenie vodorovne
  42.  
  43. #define Bombarder_FactorZ   0.04f
  44. #define Bombarder_FactorY   0.03f
  45.  
  46. //ai
  47. #define Bombarder_MaxTime 20.0f   //dlzka cyklu
  48. #define Bombarder_FireTime 11.0f  //kedy zacne strielat
  49.  
  50.  
  51. //--------------------------------------------------------------
  52. // Name: BOMBARDER class
  53. // Desc: nemecky bombarder
  54. //--------------------------------------------------------------
  55. class BOMBARDER
  56. {
  57. private:
  58.     
  59.     //zisti koliziu zeme
  60.     bool GetGroundCollision();
  61.  
  62.     //zvuk
  63.     SOUND Sound;
  64.     bool SoundPlay;
  65.  
  66. public:
  67.  
  68.     //vlastnosti
  69.     int Life;
  70.  
  71.     //ciel 
  72.     VECTOR3D Target;
  73.  
  74.     //ci mas strielat
  75.     int Mode;
  76.  
  77.     //aktivacia
  78.     bool Active;
  79.     float ActiveTime;
  80.  
  81.     //m≤dy
  82.     bool NormalMode;
  83.     bool CrazyMode;
  84.     bool DestroyedMode;
  85.  
  86.     //AI
  87.     float AITime;
  88.  
  89.     //vrtula
  90.     float VrtulaRotation;
  91.     VECTOR3D PVLeft;
  92.     VECTOR3D PVRight;
  93.  
  94.     //pozicia a matica
  95.     VECTOR3D Pos;
  96.     VECTOR3D Rot;
  97.     float ActRotZ;
  98.     D3DXMATRIX Matrix;
  99.  
  100.     //kolizne body
  101.     VECTOR3D PL,PR,PF,PB ;
  102.  
  103.     //explozne body
  104.     VECTOR3D PE1, PE2;
  105.  
  106.     //AI
  107.     VECTOR3D SpitFirePoint;
  108.  
  109.     //strely
  110.     BULLETSYSTEM Bullet;
  111.     VECTOR3D BL,BR;
  112.     float BulletTime;
  113.  
  114.     //bomby
  115.     BOMBSYSTEM Bomb;
  116.     float BombTime;
  117.  
  118.     //zastav zvuk
  119.     void StopSound();
  120.  
  121.     //inicializacia 
  122.     void Initialize();
  123.  
  124.     //system
  125.     void Reset();
  126.  
  127.     //refresh & render
  128.     void Refresh();
  129.  
  130.     //kolizia s lietadlom
  131.     bool CollisionDetail(VECTOR3D P1, VECTOR3D P2);
  132.     bool CollisionBox(VECTOR3D P1, VECTOR3D P2);
  133.  
  134.  
  135. };
  136.  
  137.  
  138. //=============================================================
  139. #endif //_BOMBARDER_H_