1 #ifndef _pool8_h 2 #define _pool8_h 3 4 #ifndef _pool_h 5 # include "pool.h" 6 #endif 7 8 class HalfBallMover; 9 10 class Pool8 : public Pool { 11 public: 12 Pool8(double ft); // Parameter: Tischgr��e in Fu� 13 virtual ~Pool8(); 14 15 void InitTable(); 16 virtual void InitPlayground(); 17 virtual void DrawBackground() const; 18 virtual void ResetGame(); 19 20 virtual void InPocket( Ball *b ); 21 virtual int IsSelectable(Ball *b); 22 23 protected: 24 virtual void Triangle( const Vec2 &v ); 25 ColorId black_col; 26 ColorId full_col; // f�r Normal-Mode 27 ColorId half_col; // f�r Normal-Mode 28 ColorId ball_col[7]; // f�r Deluxe-Mode 29 30 HalfBallMover *mh; 31 32 Ball *ball[15]; // 0-6 full // 7 black // 8-15 half 33 Vec2 ball_p[15]; // default positions for these balls 34 int balls_in_pocket; 35 }; 36 37 class Pool9 : public Pool8 { 38 public: Pool9(double ft)39 Pool9( double ft ) : Pool8(ft) {} 40 virtual ~Pool9(); 41 42 protected: 43 virtual void Triangle( const Vec2 &v ); 44 }; 45 46 class Pool8Demo : public Pool8 { 47 public: Pool8(ft)48 Pool8Demo( double ft, double s=100.0 ) : Pool8(ft), shot_speed(s) {} 49 virtual ~Pool8Demo(); 50 51 virtual const Real &GetPresetA() const; 52 virtual const Real &GetSlowGranularity() const; 53 54 virtual void InitPlayground(); 55 virtual void DrawBackground() const; 56 57 protected: 58 Real shot_speed; 59 60 public: 61 static Real PresetA; 62 static Real SlowGranularity; 63 }; 64 65 #ifdef DEBUG 66 class Pool8Test : public Pool8Demo { 67 public: Pool8Demo(ft,s)68 Pool8Test( double ft, double s=100.0 ) : Pool8Demo(ft,s) {} 69 virtual ~Pool8Test(); 70 virtual void InitPlayground(); 71 virtual void DrawBackground() const; 72 73 private: 74 class TestField *field_queue; 75 76 friend class TestField; 77 }; 78 #endif 79 80 #endif 81