Adjust setupWinningDeck to make a bit harder deck

This commit is contained in:
ItsDrike 2024-12-09 23:41:13 +01:00
parent 5a2e7d5465
commit 098b45a3ff
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0

View file

@ -71,7 +71,7 @@ void GameState::setupWinningDeck() {
// Setup the foundation with all cards except one per suit // Setup the foundation with all cards except one per suit
for (int suit = 0; suit < 4; ++suit) { for (int suit = 0; suit < 4; ++suit) {
QList<PlayingCard*> foundationPile; QList<PlayingCard*> foundationPile;
for (int rank = 1; rank <= 12; ++rank) { // Leave the King (rank 13) out for (int rank = 1; rank <= 11; ++rank) { // Leave the Queens & Kings (rank 2 & 13) out
foundationPile.prepend(deck[suit * 13 + rank - 1]); foundationPile.prepend(deck[suit * 13 + rank - 1]);
} }
m_foundation[suit] = foundationPile; m_foundation[suit] = foundationPile;
@ -81,11 +81,22 @@ void GameState::setupWinningDeck() {
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {
QList<ColumnSlot*> column; QList<ColumnSlot*> column;
PlayingCard* kingCard = deck[i * 13 + 12]; // King of each suit PlayingCard* kingCard = deck[i * 13 + 12]; // King of each suit
ColumnSlot* slot = new ColumnSlot(kingCard, true, this); // Revealed ColumnSlot* slot = new ColumnSlot(kingCard, i == 3, this); // Not revealed, except last
column.append(slot); column.append(slot);
m_columns[i] = column; m_columns[i] = column;
} }
// Three of the remaining four Queens are placed over the Kings
for (int i = 0; i < 3; ++i) {
int queenSuit = (i + 2) % 4; // Opposite suit cyclically
PlayingCard* kingCard = deck[queenSuit * 13 + 11]; // Queen of each suit
ColumnSlot* slot = new ColumnSlot(kingCard, true, this); // Revealed
m_columns[i].append(slot);
}
// Place the final Queen in the draw pile
m_drawPile.append(deck[1 * 13 + 11]);
emit drawPileChanged(); emit drawPileChanged();
emit throwawayPileChanged(); emit throwawayPileChanged();
emit columnsChanged(); emit columnsChanged();