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

  1.  
  2. //================================================================
  3. #ifndef _SPITFIRE_H_
  4. #define _SPITFIRE_H_
  5. //================================================================
  6. //hracove lietadlo - spitfire
  7.  
  8. //rychlos¥
  9. #define SpitFire_MinSpeed 8.5f
  10. #define SpitFire_MaxSpeed 12.0f
  11.  
  12. //kolizne a gulometove body
  13. #define SpitFire_Left  Get3D(-40.0f,0.0f,0.0f)
  14. #define SpitFire_Right Get3D(40.0f,0.0f,0.0f)
  15. #define SpitFire_Up    Get3D(0.0f,6.0f,0.0f)
  16. #define SpitFire_Down  Get3D(0.0f,-6.0f,0.0f)
  17. #define SpitFire_Front Get3D(0.0f,0.0f,20.0f)
  18. #define SpitFire_Back  Get3D(0.0f,0.0f,-43.0f)
  19. #define SpitFire_BulletLeft  Get3D(-15.42f,-2.0f,10.0f)
  20. #define SpitFire_BulletRight Get3D(15.42f,-2.0f,10.0f)
  21. //#define SpitFire_BulletLeft  Get3D(-15.0f,-5.0f,0.0f)
  22. //#define SpitFire_BulletRight Get3D(15.0f,-5.0f,0.0f)
  23.  
  24. //vrtula
  25. #define SpitFire_VrtulaPoint Get3D(-0.419f,1.75f,20.0f)
  26.  
  27. //hlasitost zvuku
  28. #define SpitFire_SoundScale  15.0f
  29.  
  30. //frekvencia strielania
  31. #define SpitFire_BulletFreq 100.0f
  32.  
  33. //frekvencia bomb
  34. #define SpitFire_BombFreq 220.0f
  35.  
  36. //maximalna cas mimo hracieho pola
  37. #define SpitFire_MapSize 10000.0f
  38.  
  39.  
  40.  
  41.  
  42. //----------------------------------------------------------------
  43. // Name: SPITFIRE class
  44. // Desc: hracove lietadlo
  45. //----------------------------------------------------------------
  46. class SPITFIRE
  47. {
  48. private:
  49.  
  50.     MODEL ModelNormal1;
  51.     MODEL ModelNormal2;
  52.     MODEL ModelDestroyed;
  53.     MODEL ModelShadow;
  54.     MODEL ModelVrtula;
  55.     MODEL ModelKabina;
  56.  
  57.     //zvuk
  58.     SOUND Sound;
  59.     bool SoundPlay;
  60.  
  61.     //zisti koliziu 
  62.     bool GetGroundCollision();
  63.  
  64.     //zobrazenie ked je mimo mapy, mission failed,
  65.     //accomplished, stmavovanie obrazu
  66.     DXFONT MFont;
  67.     DXFONT Font;
  68.     DXFONT SmallFont;
  69.     PANEL2D BackGround;
  70.     PANEL2D MsgBack;
  71.     float BkTime;bool InMode;bool OutMode;
  72.     bool ComMode;bool FaiMode;bool ScoMode;
  73.  
  74.     //message
  75.     float MessageOnTime;
  76.     float MessageLifeTime;
  77.     char  MessageBuffer[120];
  78.  
  79.     //fire bullet
  80.     PARTICLE BulletFire;
  81.     float BulletAlpha;
  82.     float Bullet1Rot;
  83.     float Bullet2Rot;
  84.  
  85. public:
  86.  
  87.     //vlastnosti
  88.     float Speed;
  89.     int Life;
  90.     int Bombs;
  91.     int Score;
  92.     int FakeScore;
  93.     int ModelMode;
  94.  
  95.     bool ShowCompas;
  96.     bool ShowFPS;
  97.     bool ShowMap;
  98.     bool ShowKokpit;
  99.  
  100.     //m≤dy
  101.     bool NormalMode;
  102.     bool CrazyMode;
  103.     bool DestroyedMode;
  104.  
  105.     //pozicia a matica
  106.     VECTOR3D Pos;
  107.     VECTOR3D Rot;
  108.     VECTOR3D ConRot;
  109.     D3DXMATRIX Matrix;
  110.  
  111.     //vrtula
  112.     VECTOR3D PV;
  113.     float VrtulaRotation;
  114.  
  115.     //kolizne body 
  116.     VECTOR3D PL,PR,PU,PD,PF,PB ;
  117.  
  118.     //bod pre sledovanie
  119.     VECTOR3D SlPoint;
  120.  
  121.     //strely
  122.     BULLETSYSTEM Bullet;
  123.     VECTOR3D BL,BR;
  124.     bool BulletActive;
  125.     float BulletTime;
  126.  
  127.     //bomby 
  128.     BOMBSYSTEM Bomb;
  129.     float BombTime;
  130.  
  131.     //mission failed, completed 
  132.     void MissionFailed();
  133.     void MissionExit();
  134.     void MissionCompleted();
  135.  
  136.     //zastavi zvuk
  137.     void StopSound();
  138.  
  139.     //inicializacia 
  140.     void Initialize();
  141.  
  142.     //system
  143.     void Reset();
  144.  
  145.     //refresh 
  146.     void Refresh();
  147.  
  148.     //camera
  149.     void SetCamera();
  150.  
  151.     //render
  152.     void Render1();  //models
  153.     void Render2();  //particles
  154.  
  155.     //oznamy a obrazovky
  156.     void DrawScreens();
  157.  
  158.     //vytlac oznam pre hraca
  159.     void DrawMessage(char *MessageEng,char *MessageCze,float LifeTime);
  160.  
  161.     //kolizia s lietadlom
  162.     bool CollisionDetail(VECTOR3D P1, VECTOR3D P2);
  163.     bool CollisionBox(VECTOR3D P1, VECTOR3D P2);
  164.  
  165. };
  166.  
  167.  
  168. //================================================================
  169. #endif //_SPITFIRE_H_