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

  1.  
  2. //==================================================================
  3. #ifndef _VOLKER_H_
  4. #define _VOLKER_H_
  5. //==================================================================
  6. //nepriatelske lietadlo
  7.  
  8. //rychlos¥
  9. #define Volker_Speed 10.5f
  10.  
  11. //kolizne a gulometove body
  12. #define Volker_Left  Get3D(-40.0f,0.0f,0.0f)
  13. #define Volker_Right Get3D(40.0f,0.0f,0.0f)
  14. #define Volker_Up    Get3D(0.0f,6.0f,0.0f)
  15. #define Volker_Down  Get3D(0.0f,-6.0f,0.0f)
  16. #define Volker_Front Get3D(0.0f,0.0f,20.0f)
  17. #define Volker_Back  Get3D(0.0f,0.0f,-43.0f)
  18. #define Volker_BulletLeft  Get3D(-15.0f,-5.0f,0.0f)
  19. #define Volker_BulletRight Get3D(15.0f,-5.0f,0.0f)
  20.  
  21. //pozicia vrtule
  22. #define Volker_VrtulaPoint Get3D(0.0f,2.0f,20.0f)
  23.  
  24. //frekvencia strielania
  25. #define Volker_BulletFreq 130.0f
  26.  
  27. //hlasitost zvuku
  28. #define Volker_SoundScale  130.0f
  29.  
  30. //kedy po zostreleni zmizne
  31. #define Volker_DestroyTime 15000.0f
  32.  
  33. //Ai mody
  34. #define Volker_SledovanieMaxTime   12000.0f
  35. #define Volker_VyhybanieMaxTime       500.0f
  36. #define Volker_UhybanieMaxTime     3500.0f
  37.  
  38. //Ai fyzicke zdatnosti lietadla
  39. #define Volker_MaxSteerZ 1.0f  //maximalny zatocenie vodorovne
  40. #define Volker_MaxSteerX 0.5f  //maximalne zatocenie vertikalne
  41.  
  42. #define Volker_FactorX 0.04f
  43. #define Volker_FactorZ 0.05f
  44. #define Volker_FactorY 0.04f
  45.  
  46.  
  47. //--------------------------------------------------------------
  48. // Name: VOLKER class
  49. // Desc: nemecke nepriatelske lietadlo Messerschmitt
  50. //--------------------------------------------------------------
  51. class VOLKER
  52. {
  53. private:
  54.     
  55.     //zisti koliziu zeme
  56.     bool GetGroundCollision();
  57.  
  58.     //zvuk
  59.     SOUND Sound;
  60.     bool SoundPlay;
  61.  
  62.     //AI
  63.     void ProcessSledovanie();
  64.     void ProcessVyhybanie();
  65.     void ProcessUhybanie();
  66.  
  67.  
  68. public:
  69.  
  70.     //vlastnosti
  71.     int Life;
  72.  
  73.     //aktivacia
  74.     bool Active;
  75.     float ActiveTime;
  76.  
  77.     //m≤dy
  78.     bool NormalMode;
  79.     bool CrazyMode;
  80.     bool DestroyedMode;
  81.  
  82.     //AI mody
  83.     bool Sledovanie;    //utocny mod
  84.     bool Vyhybanie;        //vyhnutie sa zemi
  85.     bool Uhybanie;      //ked dostal zasah tak sa uhne
  86.     float AITime;
  87.  
  88.     //vrtula
  89.     float VrtulaRotation;
  90.     VECTOR3D PV;
  91.  
  92.     //pozicia a matica
  93.     VECTOR3D Pos;
  94.     VECTOR3D Rot;
  95.     float    ActRotZ;
  96.     float    ActRotX;
  97.     D3DXMATRIX Matrix;
  98.  
  99.     //kolizne body
  100.     VECTOR3D PL,PR,PU,PD,PF,PB ;
  101.  
  102.     //AI
  103.     VECTOR3D SpitFirePoint;
  104.     float Distance;
  105.  
  106.     //strely
  107.     BULLETSYSTEM Bullet;
  108.     VECTOR3D BL,BR;
  109.     float BulletTime;
  110.  
  111.     //zastav zvuk
  112.     void StopSound();
  113.  
  114.     //inicializacia 
  115.     void Initialize();
  116.  
  117.     //system
  118.     void Reset();
  119.  
  120.     //refresh & render
  121.     void Refresh();
  122.  
  123.     //kolizia s lietadlom
  124.     bool CollisionDetail(VECTOR3D P1, VECTOR3D P2);
  125.     bool CollisionBox(VECTOR3D P1, VECTOR3D P2);
  126.  
  127.  
  128. };
  129.  
  130.  
  131.  
  132.  
  133. //==================================================================
  134. #endif //_VOLKER_H_