@@ -142,61 +142,55 @@ void BlackJack::handOver()
142
142
ui->actionHit_Me ->setDisabled (true );
143
143
ui->actionStay ->setDisabled (true );
144
144
145
- QMessageBox msgBox;
146
-
147
145
// if dealer gets 21, dealer wins automatically
148
146
if (dealerHand->getValue () == 21 ) {
149
- msgBox.setText (" Dealer gets 21. Dealer wins!" );
150
- msgBox.exec ();
151
- ui->sb_dealerScore ->setValue (ui->sb_dealerScore ->value () + 1 );
147
+ finalDecision (" Dealer gets blackjack. Dealer wins!" , ui->sb_dealerScore );
152
148
return ;
153
149
}
154
150
155
151
// if player exceeds 21, gets busted and loose
156
152
if (playerHand->getValue () > 21 ) {
157
- msgBox.setText (" You exceeded 21 thus have lost!" );
158
- msgBox.exec ();
159
- ui->sb_dealerScore ->setValue (ui->sb_dealerScore ->value () + 1 );
153
+ finalDecision (" You exceeded 21 thus have lost!" , ui->sb_dealerScore );
160
154
return ;
161
155
}
162
156
163
- // if dealer exceeds 21, gets busted and loose
164
- if (dealerHand->getValue () > 21 ) {
165
- msgBox.setText (" Dealer exceeds 21. You win!" );
166
- msgBox.exec ();
167
- ui->sb_playerScore ->setValue (ui->sb_playerScore ->value () + 1 );
157
+ // if player gets 21, hits blackjack and wins
158
+ if (playerHand->getValue () == 21 ) {
159
+ finalDecision (" BlackJack! :D" , ui->sb_playerScore );
168
160
return ;
169
161
}
170
162
171
- // if player gets 21, hits blackjack and wins
172
- if (playerHand->getValue () == 21 ) {
173
- msgBox.setText (" BlackJack! :D" );
174
- msgBox.exec ();
175
- ui->sb_playerScore ->setValue (ui->sb_playerScore ->value () + 1 );
163
+ // if dealer exceeds 21, gets busted and loose
164
+ if (dealerHand->getValue () > 21 ) {
165
+ finalDecision (" Dealer exceeds 21. You win!" , ui->sb_playerScore );
176
166
return ;
177
167
}
178
168
179
169
// if player draws 5 cards, wins
180
170
if (playerHand->count () >= 5 ) {
181
- msgBox.setText (" 5 cards?? You win!" );
182
- msgBox.exec ();
183
- ui->sb_playerScore ->setValue (ui->sb_playerScore ->value () + 1 );
171
+ finalDecision (" 5 cards?? You win!" , ui->sb_playerScore );
184
172
return ;
185
173
}
186
174
187
175
// if dealer >= player, dealer wins
188
176
if (dealerHand->getValue () >= playerHand->getValue ()) {
189
- msgBox.setText (" Dealer hand equal or exceeds player hand. Dealer Wins!" );
190
- msgBox.exec ();
191
- ui->sb_dealerScore ->setValue (ui->sb_dealerScore ->value () + 1 );
177
+ finalDecision (" Dealer hand equal or exceeds player hand. Dealer Wins!" ,
178
+ ui->sb_dealerScore );
192
179
} else {
193
180
// if player > dealer, player wins
194
- msgBox.setText (" Player hand exceeds dealer. Player wins!" );
195
- msgBox.exec ();
196
- ui->sb_playerScore ->setValue (ui->sb_playerScore ->value () + 1 );
181
+ finalDecision (" Player hand exceeds dealer. Player wins!" ,
182
+ ui->sb_playerScore );
197
183
}
198
184
}
199
185
186
+ void BlackJack::finalDecision (QString message, QSpinBox *spinbox, int score)
187
+ {
188
+ QMessageBox msgBox;
189
+ msgBox.setText (message);
190
+ msgBox.exec ();
191
+ spinbox->setValue (spinbox->value () + score);
192
+ }
193
+
200
194
BlackJack::~BlackJack ()
201
195
{
202
196
delete playerHand;
0 commit comments