summaryrefslogtreecommitdiff
path: root/noncore/games/solitaire/freecellcardgame.h
Side-by-side diff
Diffstat (limited to 'noncore/games/solitaire/freecellcardgame.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/solitaire/freecellcardgame.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/games/solitaire/freecellcardgame.h b/noncore/games/solitaire/freecellcardgame.h
index f1b09ab..2df751b 100644
--- a/noncore/games/solitaire/freecellcardgame.h
+++ b/noncore/games/solitaire/freecellcardgame.h
@@ -43,13 +43,13 @@ public:
PatienceWorkingPile(x, y, canvas) { }
virtual bool isAllowedOnTop(Card *card) {
if ( cardOnBottom() == NULL ) {
int numberOfCardsBeingMoved = 0;
Card *tempCard = card;
-
+
while ((tempCard != NULL)) {
numberOfCardsBeingMoved++;
tempCard = cardInfront(tempCard);
}
if (numberOfCardsBeingMoved > numberOfFreeCells)
@@ -59,12 +59,13 @@ public:
if ( card->isFacing() &&
cardOnTop() == NULL )
return TRUE;
return PatienceWorkingPile::isAllowedOnTop( card );
}
+
virtual bool isAllowedToBeMoved(Card *card) {
int nextExpectedValue = (int)card->getValue();
bool nextExpectedColor = card->isRed();
int numberOfCardsBeingMoved = 0;
while ((card != NULL)) {
@@ -135,16 +136,18 @@ public:
virtual void mousePress(QPoint p) { Q_UNUSED(p); }
virtual void mouseRelease(QPoint p) { Q_UNUSED(p); }
// virtual void mouseMove(QPoint p);
virtual bool mousePressCard(Card *card, QPoint p);
virtual void mouseReleaseCard(Card *card, QPoint p) { Q_UNUSED(card); Q_UNUSED(p); }
// virtual void mouseMoveCard(Card *card, QPoint p) { Q_UNUSED(card); Q_UNUSED(p); }
+ virtual void checkUnusable();
void readConfig( Config& cfg );
void writeConfig( Config& cfg );
bool snapOn;
private:
+ bool checkNeeded(Card *card);
FreecellFreecellPile *freecellPiles[8];
FreecellWorkingPile *workingPiles[8];
FreecellDiscardPile *discardPiles[4];
};