Diffstat (limited to 'noncore/games/kcheckers/checkers.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/games/kcheckers/checkers.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/noncore/games/kcheckers/checkers.h b/noncore/games/kcheckers/checkers.h new file mode 100644 index 0000000..bd2be08 --- a/dev/null +++ b/noncore/games/kcheckers/checkers.h @@ -0,0 +1,56 @@ +#ifndef CHECKERS_H +#define CHECKERS_H + +#define NONE 0 +#define MAN1 1 +#define KING1 2 +#define FREE 3 +#define KING2 4 +#define MAN2 5 +#define FULL 6 + +#define UL -6 +#define UR -5 +#define DL 5 +#define DR 6 + + +class Checkers +{ + public: + Checkers(int); + virtual bool go1(int,int)=0; + + void go2(); + bool checkMove1(); + bool checkMove2(); + + virtual bool checkCapture1()=0; + virtual bool checkCapture2()=0; + + void setLevel(int i) {levelmax=i;}; + int getBoard(int i) {return board[i];}; + + protected: + int level; // Current level + int levelmax; // Maximum level + + int turn(); + void turn(int &,bool capture=false); + + int to; + int board[54]; + int bestboard[54]; + int bestcounter; + + virtual void kingMove2(int,int &)=0; + + virtual bool manCapture2(int,int &)=0; + virtual bool kingCapture2(int,int,int &)=0; + + virtual bool manCapture1(int,int,bool &)=0; + virtual bool kingCapture1(int,int,bool &)=0; + +}; + +#endif |