summaryrefslogtreecommitdiff
path: root/noncore/games/backgammon/aidialog.cpp
authorwaspe <waspe>2003-03-30 11:30:54 (UTC)
committer waspe <waspe>2003-03-30 11:30:54 (UTC)
commit3065a1c13bec5d0b101bec48ff666d45a02ce8a6 (patch) (unidiff)
treef8fe8d3eba81ef4e371c12f530be9cd4debc895b /noncore/games/backgammon/aidialog.cpp
parent87ba3646367397e149979a8477a33239cb341e99 (diff)
downloadopie-3065a1c13bec5d0b101bec48ff666d45a02ce8a6.zip
opie-3065a1c13bec5d0b101bec48ff666d45a02ce8a6.tar.gz
opie-3065a1c13bec5d0b101bec48ff666d45a02ce8a6.tar.bz2
*** empty log message ***
Diffstat (limited to 'noncore/games/backgammon/aidialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/backgammon/aidialog.cpp211
1 files changed, 211 insertions, 0 deletions
diff --git a/noncore/games/backgammon/aidialog.cpp b/noncore/games/backgammon/aidialog.cpp
new file mode 100644
index 0000000..9642ca5
--- a/dev/null
+++ b/noncore/games/backgammon/aidialog.cpp
@@ -0,0 +1,211 @@
1#include "aidialog.h"
2
3#include <qgroupbox.h>
4
5
6AI_Dialog::AI_Dialog(QWidget* parent,const char* name,bool modal,WFlags f)
7 : QDialog(parent,name,modal,f)
8{
9 setCaption("AI Configuration");
10
11 QGroupBox* settings=new QGroupBox("Settings",this);
12 settings->setGeometry(10,5,220,170);
13
14 QLabel* rescue_label=new QLabel("<b>Rescue</b>",settings);
15 rescue_label->setGeometry(50,20,50,20);
16 rescue=new QSpinBox(0,6,1,settings);
17 rescue->setGeometry(100,20,40,20);
18 QPushButton* rescuehelp=new QPushButton("?",settings);
19 rescuehelp->setGeometry(140,20,20,20);
20 connect(rescuehelp,SIGNAL(pressed()),this,SLOT(rescuehelp_pressed()));
21 connect(rescuehelp,SIGNAL(released()),this,SLOT(rescuehelp_released()));
22
23 QLabel* eliminate_label=new QLabel("<b>Eliminate</b>",settings);
24 eliminate_label->setGeometry(50,40,50,20);
25 eliminate=new QSpinBox(0,6,1,settings);
26 eliminate->setGeometry(100,40,40,20);
27 QPushButton* eliminatehelp=new QPushButton("?",settings);
28 eliminatehelp->setGeometry(140,40,20,20);
29 connect(eliminatehelp,SIGNAL(pressed()),this,SLOT(eliminatehelp_pressed()));
30 connect(eliminatehelp,SIGNAL(released()),this,SLOT(eliminatehelp_released()));
31
32 QLabel* expose_label=new QLabel("<b>Expose</b>",settings);
33 expose_label->setGeometry(50,60,50,20);
34 expose=new QSpinBox(0,6,1,settings);
35 expose->setGeometry(100,60,40,20);
36 QPushButton* exposeehelp=new QPushButton("?",settings);
37 exposeehelp->setGeometry(140,60,20,20);
38 connect(exposeehelp,SIGNAL(pressed()),this,SLOT(exposehelp_pressed()));
39 connect(exposeehelp,SIGNAL(released()),this,SLOT(exposehelp_released()));
40
41 QLabel* protect_label=new QLabel("<b>Protect</b>",settings);
42 protect_label->setGeometry(50,80,50,20);
43 protect=new QSpinBox(0,6,1,settings);
44 protect->setGeometry(100,80,40,20);
45 QPushButton* protecthelp=new QPushButton("?",settings);
46 protecthelp->setGeometry(140,80,20,20);
47 connect(protecthelp,SIGNAL(pressed()),this,SLOT(protecthelp_pressed()));
48 connect(protecthelp,SIGNAL(released()),this,SLOT(protecthelp_released()));
49
50 QLabel* safe_label=new QLabel("<b>Safe</b>",settings);
51 safe_label->setGeometry(50,100,50,20);
52 safe=new QSpinBox(0,6,1,settings);
53 safe->setGeometry(100,100,40,20);
54 QPushButton* safeehelp=new QPushButton("?",settings);
55 safeehelp->setGeometry(140,100,20,20);
56 connect(safeehelp,SIGNAL(pressed()),this,SLOT(safehelp_pressed()));
57 connect(safeehelp,SIGNAL(released()),this,SLOT(safehelp_released()));
58
59 QLabel* empty_label=new QLabel("<b>Empty</b>",settings);
60 empty_label->setGeometry(50,120,50,20);
61 empty=new QSpinBox(0,6,1,settings);
62 empty->setGeometry(100,120,40,20);
63 QPushButton* emptyhelp=new QPushButton("?",settings);
64 emptyhelp->setGeometry(140,120,20,20);
65 connect(emptyhelp,SIGNAL(pressed()),this,SLOT(emptyhelp_pressed()));
66 connect(emptyhelp,SIGNAL(released()),this,SLOT(emptyhelp_released()));
67
68 defaultvalues=new QPushButton("Default Values",settings);
69 defaultvalues->setGeometry(60,140,90,20);
70 connect(defaultvalues,SIGNAL(clicked()),this,SLOT(setDefaultValues()));
71
72 QGroupBox* helpbox=new QGroupBox("Help",this);
73 helpbox->setGeometry(10,185,220,90);
74
75 help=new QLabel(helpbox);
76 help->setGeometry(10,15,200,65);
77
78 setHelpText();
79 showMaximized();
80}
81
82
83AI_Dialog::~AI_Dialog()
84{
85}
86
87void AI_Dialog::rescuehelp_pressed()
88{
89 setHelpText("rescue");
90}
91
92void AI_Dialog::rescuehelp_released()
93{
94 setHelpText();
95}
96
97void AI_Dialog::eliminatehelp_pressed()
98{
99 setHelpText("eliminate");
100}
101
102void AI_Dialog::eliminatehelp_released()
103{
104 setHelpText();
105}
106
107void AI_Dialog::exposehelp_pressed()
108{
109 setHelpText("expose");
110}
111
112void AI_Dialog::exposehelp_released()
113{
114 setHelpText();
115}
116
117void AI_Dialog::protecthelp_pressed()
118{
119 setHelpText("protect");
120}
121
122void AI_Dialog::protecthelp_released()
123{
124 setHelpText();
125}
126
127void AI_Dialog::safehelp_pressed()
128{
129 setHelpText("safe");
130}
131
132void AI_Dialog::safehelp_released()
133{
134 setHelpText();
135}
136
137void AI_Dialog::emptyhelp_pressed()
138{
139 setHelpText("empty");
140}
141
142void AI_Dialog::emptyhelp_released()
143{
144 setHelpText();
145}
146
147
148
149void AI_Dialog::setDefaultValues()
150{
151 rescue->setValue(6);
152 eliminate->setValue(4);
153 expose->setValue(1);
154 protect->setValue(5);
155 safe->setValue(3);
156 empty->setValue(2);
157}
158
159void AI_Dialog::setAISettings(const AISettings& values)
160{
161 rescue->setValue(values.rescue);
162 eliminate->setValue(values.eliminate);
163 expose->setValue(values.expose);
164 protect->setValue(values.protect);
165 safe->setValue(values.safe);
166 empty->setValue(values.empty);
167}
168
169AISettings AI_Dialog::getAISettings()
170{
171 AISettings ai;
172 ai.rescue=rescue->value();
173 ai.eliminate=eliminate->value();
174 ai.expose=expose->value();
175 ai.protect=protect->value();
176 ai.safe= safe->value();
177 ai.empty=empty->value();
178 return ai;
179}
180
181void AI_Dialog::setHelpText(const QString& type)
182{
183 if(type=="rescue")
184 {
185 help->setText("Bring the pieces out of the endzone");
186 }
187 else if(type=="eliminate")
188 {
189 help->setText("Eliminate an opponents piece");
190 }
191 else if(type=="expose")
192 {
193 help->setText("Expose you own pieces.\nAfter such a move only one piece will remain in the slot");
194 }
195 else if(type=="protect")
196 {
197 help->setText("Protect a single piece by\nputting another one in this slot");
198 }
199 else if(type=="safe")
200 {
201 help->setText("Move piece to a slot already\noccupied by the player");
202 }
203 else if(type=="empty")
204 {
205 help->setText("Move piece to an empty slot");
206 }
207 else
208 {
209 help->setText("Press and hold the ? buttton\nnext to a field for help");
210 }
211}