blob: bd4afc7e5bf584ad201b336799fab98b90269083 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
#ifndef KCHECKERS_H
#define KCHECKERS_H
#include <qmainwindow.h>
#include <qlabel.h>
#include "field.h"
#include "checkers.h"
#define WOODEN 1
#define GREEN 2
#define MARBLE 3
#define ENGLISH 11
#define RUSSIAN 12
#define BEGINNER 2
#define NOVICE 4
#define AVERAGE 6
#define GOOD 7
#define EXPERT 8
#define MASTER 9
class QToolButton;
class KCheckers:public QMainWindow
{
Q_OBJECT
public:
static QString appName() { return QString::fromLatin1("kcheckers"); }
KCheckers(QWidget *parent, const char* name, WFlags fl);
protected:
void closeEvent(QCloseEvent*);
private slots:
void help();
void about();
void aboutQt();
void newGame();
void undoMove();
void click(int);
void showNumeration();
void setSkillBeginner() {setSkill(BEGINNER);};
void setSkillNovice() {setSkill(NOVICE);};
void setSkillAverage() {setSkill(AVERAGE);};
void setSkillGood() {setSkill(GOOD);};
void setSkillExpert() {setSkill(EXPERT);};
void setSkillMaster() {setSkill(MASTER);};
void setPatternWooden() {setPattern(WOODEN);};
void setPatternGreen() {setPattern(GREEN);};
void setPatternMarble() {setPattern(MARBLE);};
void setRulesEnglish() {setRules(ENGLISH);};
void setRulesRussian() {setRules(RUSSIAN);};
private:
void compGo();
bool userGo(int);
void drawBoard(int);
void drawNumeration();
void colorChange();
void unselect();
void readConfig();
void setSkill(int);
void setRules(int);
void setPattern(int);
int from; // Selected by user
int skill;
int rules;
int pattern;
int numID; // Show Numeration
int undoID; // Undo Move
int undoBoard[32];
bool gameOver;
bool selected;
bool userFirst;
Field* field[64]; // Fields of board
QImage* imagePat1; // Patterns
QImage* imagePat2;
QImage* imageFrame; // Frame of selected field
QImage* imageWood1;
QImage* imageWood2;
QImage* imageWood3;
QImage* imageGreen1;
QImage* imageGreen2;
QImage* imageGreen3;
QImage* imageMarble1;
QImage* imageMarble2;
QImage* imageMarble3;
QImage* imageMan1;
QImage* imageMan2;
QImage* imageKing1;
QImage* imageKing2;
Checkers* game;
QPopupMenu* gameMenu;
QPopupMenu* skillMenu;
QPopupMenu* optionsMenu;
QToolButton* undoButton;
QLabel* statusLabel;
static QString enNumeration;
static QString ruNumeration;
static const int t[32]; // Translate table
};
#endif
|