VideoSpieler.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef VideoSpieler_H
  2. #define VideoSpieler_H
  3. #include "../Kamera/VideoKamera.h"
  4. #include "../VideoDaten/VideoDaten.h"
  5. #include <Text.h>
  6. #define TICK 0.03333333
  7. using namespace Framework;
  8. struct VideoSpielerRundeDaten
  9. {
  10. double xPos;
  11. double yPos;
  12. double xSpeed;
  13. double ySpeed;
  14. double kurve;
  15. int radius;
  16. bool amLeben;
  17. bool lKurve;
  18. bool rKurve;
  19. bool linieUnterbrochen;
  20. double todesZeit;
  21. double spielZeit;
  22. int renderVorTod;
  23. };
  24. class VideoSpieler
  25. {
  26. private:
  27. int spielerNummer;
  28. int team;
  29. int spielerFarbe;
  30. int teamFarbe;
  31. Array< VideoSpielerRundeDaten* > *daten;
  32. int runde;
  33. Text *name;
  34. Text *teamName;
  35. LRahmen *teamRahmen;
  36. int gewonneneRunden;
  37. int linienLänge;
  38. double zeitAmLeben;
  39. double zeitTod;
  40. int kills;
  41. int tode;
  42. int killFarbe;
  43. Array< int > rLinienLänge;
  44. Array< int > rKills;
  45. Array< int > rTodesZeit;
  46. int ref;
  47. public:
  48. // Konstruktor
  49. VideoSpieler( SpielerVideoDaten *vDaten );
  50. // Destruktor
  51. ~VideoSpieler();
  52. // nicht constant
  53. void addKill();
  54. void neuRunde( bool vorwärts, RundeSpielerVideoDaten *vDaten, bool amLeben );
  55. void setLinksKurve( bool lKurve );
  56. void setRechtsKurve( bool rKurve );
  57. void setLinienUnterbrechung( bool unterbrechung );
  58. void prozessKurve( double zeit );
  59. void tick( Bild *zMap, double zeit );
  60. void render( VideoKamera *zKam, Bild &zRObj );
  61. // constant
  62. double getX() const;
  63. double getY() const;
  64. int getTeam() const;
  65. int getTeamFarbe() const;
  66. int getFarbe() const;
  67. int getSpielerNummer() const;
  68. bool istAmLeben() const;
  69. Text *getName() const;
  70. Text *zName() const;
  71. Text *getTeamName() const;
  72. Text *zTeamName() const;
  73. bool istMausIn( int mx, int my ) const;
  74. int getGewonneneRunden() const;
  75. int getLinienLänge() const;
  76. int getZeitAmLeben() const;
  77. int getZeitTod() const;
  78. int getKills() const;
  79. int getTode() const;
  80. int getKillFarbe() const;
  81. int getLinienLänge( int r ) const;
  82. int getKills( int r ) const;
  83. int getTodesZeit( int r ) const;
  84. // Reference Counting
  85. VideoSpieler *getThis();
  86. VideoSpieler *release();
  87. };
  88. #endif