summaryrefslogtreecommitdiff
path: root/noncore/games/kcheckers/checkers.h
authorleseb <leseb>2002-03-14 10:31:39 (UTC)
committer leseb <leseb>2002-03-14 10:31:39 (UTC)
commit1003de6f3b0c508960e0e717333a64603fffb133 (patch) (side-by-side diff)
treedbc1c56f0644f0348e35e6e5856ef07110f7fcb7 /noncore/games/kcheckers/checkers.h
parent13d8ac43bf8d4c6e492e57d2ab3c7353935a9365 (diff)
downloadopie-1003de6f3b0c508960e0e717333a64603fffb133.zip
opie-1003de6f3b0c508960e0e717333a64603fffb133.tar.gz
opie-1003de6f3b0c508960e0e717333a64603fffb133.tar.bz2
Initial commit
Diffstat (limited to 'noncore/games/kcheckers/checkers.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/kcheckers/checkers.h56
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