Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

kcheckers.h

Go to the documentation of this file.
00001 
00002 #ifndef KCHECKERS_H
00003 #define KCHECKERS_H
00004 
00005 #include <qmainwindow.h>
00006 #include <qlabel.h>
00007 
00008 #include "field.h"
00009 #include "checkers.h"
00010 
00011 #define WOODEN 1
00012 #define GREEN  2
00013 #define MARBLE 3
00014 
00015 #define ENGLISH 11
00016 #define RUSSIAN 12
00017 
00018 #define BEGINNER 2
00019 #define NOVICE   4
00020 #define AVERAGE  6
00021 #define GOOD     7
00022 #define EXPERT   8
00023 #define MASTER   9
00024 
00025 class QToolButton;
00026 
00027 
00028 class KCheckers:public QMainWindow
00029 {
00030   Q_OBJECT
00031   public:
00032     static QString appName() { return QString::fromLatin1("kcheckers"); }
00033     KCheckers(QWidget *parent, const char* name, WFlags fl);
00034 
00035   protected:
00036     void closeEvent(QCloseEvent*);
00037 
00038   private slots:
00039 
00040     void help();
00041     void about();
00042     void aboutQt();
00043     void newGame();
00044     void undoMove();
00045     void click(int);
00046     void showNumeration();
00047 
00048     void setSkillBeginner() {setSkill(BEGINNER);};
00049     void setSkillNovice()   {setSkill(NOVICE);};
00050     void setSkillAverage()  {setSkill(AVERAGE);};
00051     void setSkillGood()     {setSkill(GOOD);};
00052     void setSkillExpert()   {setSkill(EXPERT);};
00053     void setSkillMaster()   {setSkill(MASTER);};
00054 
00055     void setPatternWooden() {setPattern(WOODEN);};
00056     void setPatternGreen()  {setPattern(GREEN);};
00057     void setPatternMarble() {setPattern(MARBLE);};
00058 
00059     void setRulesEnglish()  {setRules(ENGLISH);};
00060     void setRulesRussian()  {setRules(RUSSIAN);};
00061 
00062   private:
00063 
00064     void compGo();
00065     bool userGo(int);
00066 
00067     void drawBoard(int);
00068     void drawNumeration();
00069     void colorChange();
00070     void unselect();
00071     void readConfig();
00072 
00073     void setSkill(int);
00074     void setRules(int);
00075     void setPattern(int);
00076 
00077     int  from;           // Selected by user
00078     int  skill;
00079     int  rules;
00080     int  pattern;
00081 
00082     int  numID;          // Show Numeration
00083     int  undoID;         // Undo Move
00084     int  undoBoard[32];
00085 
00086     bool gameOver;
00087     bool selected;
00088     bool userFirst;
00089 
00090     Field*  field[64];   // Fields of board
00091 
00092     QImage* imagePat1;   // Patterns
00093     QImage* imagePat2;
00094     QImage* imageFrame;  // Frame of selected field
00095 
00096     QImage* imageWood1;
00097     QImage* imageWood2;
00098     QImage* imageWood3;
00099     QImage* imageGreen1;
00100     QImage* imageGreen2;
00101     QImage* imageGreen3;
00102     QImage* imageMarble1;
00103     QImage* imageMarble2;
00104     QImage* imageMarble3;
00105 
00106     QImage* imageMan1;
00107     QImage* imageMan2;
00108     QImage* imageKing1;
00109     QImage* imageKing2;
00110 
00111     Checkers*    game;
00112     QPopupMenu*  gameMenu;
00113     QPopupMenu*  skillMenu;
00114     QPopupMenu*  optionsMenu;
00115     QToolButton* undoButton;
00116     QLabel*      statusLabel;
00117 
00118     static QString enNumeration;
00119     static QString ruNumeration;
00120 
00121     static const int t[32];  // Translate table
00122 
00123 };
00124 
00125 #endif
00126 

Generated on Sat Nov 5 16:17:20 2005 for OPIE by  doxygen 1.4.2