home *** CD-ROM | disk | FTP | other *** search
- #ifndef _billard_h
- #define _billard_h
-
- #ifndef _real_h
- # include "real.h"
- #endif
- #ifndef _game_h
- # include "game.h"
- #endif
-
- class ShadedBallMover; // forward
- class Wall;
-
- class Billard : public Game {
- public:
- Billard(double wx, double wy);
- virtual ~Billard();
-
- virtual const Real & GetPresetA() const;
- virtual const Real & GetPresetHaft() const;
- virtual const Real & GetSlowGranularity() const;
-
- virtual const Real AreaOffX() const;
- virtual const Real AreaOffY() const;
- virtual const Real AreaWidth() const;
- virtual const Real AreaHeight() const;
-
- virtual const Real PAreaOffX() const;
- virtual const Real PAreaOffY() const;
- virtual const Real PAreaWidth() const;
- virtual const Real PAreaHeight() const;
-
- virtual const Real TAreaOffX() const;
- virtual const Real TAreaOffY() const;
- virtual const Real TAreaWidth() const;
- virtual const Real TAreaHeight() const;
-
- virtual void InitPlayground();
- virtual void DrawBackground() const;
-
- void InitTable();
- int SelectTable( int col );
-
- public:
- static Real PresetA;
- static Real PresetHaft;
- static Real SlowGranularity;
- static Real FrameOffset;
- static Real InnerCushion;
- static Real OuterCushion;
-
- protected:
- void InitArea( double width, double height );
- Real area_off_x;
- Real area_off_y;
- Real area_width;
- Real area_height;
-
- ShadedBallMover *m;
-
- ColorId table_col;
- ColorId outer_cushion_col;
- ColorId inner_cushion_col;
- ColorId marker_col;
-
- ColorId table_line_col;
- ColorId table_light_col;
- ColorId table_dark_col;
-
- void DrawMarker( const Real &midx, const Real &midy, const Real &ox, const Real &oy ) const;
-
- private:
- Wall *w[4];
-
- friend class Konfi;
- };
-
- #endif
-