1 #ifndef _cannon_h 2 #define _cannon_h 3 4 #ifndef _real_h 5 # include "real.h" 6 #endif 7 #ifndef _billard_h 8 # include "billard.h" 9 #endif 10 11 class Wall; 12 class Ball; 13 14 class Cannon : public Billard { 15 public: 16 static Real TableWidth; 17 static Real TableHeight; 18 static Real BallRadius; 19 20 public: 21 Cannon(double dx=TableWidth, double dy=TableHeight); 22 virtual ~Cannon(); 23 24 virtual const Real &GetNormalBallSize() const; 25 26 virtual void InitPlayground(); 27 virtual void DrawBackground() const; 28 virtual void ResetGame(); 29 30 protected: 31 ColorId red_col; 32 ColorId white_col; 33 ColorId yellow_col; 34 35 private: 36 Ball *w1, *w2; 37 Ball *r; 38 39 Vec2 w1_p, w2_p, r_p; // Starting-Positions 40 }; 41 42 #endif 43