summaryrefslogtreecommitdiff
path: root/noncore/games/solitaire/patiencecardgame.h
Side-by-side diff
Diffstat (limited to 'noncore/games/solitaire/patiencecardgame.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/solitaire/patiencecardgame.h31
1 files changed, 14 insertions, 17 deletions
diff --git a/noncore/games/solitaire/patiencecardgame.h b/noncore/games/solitaire/patiencecardgame.h
index 0d0e3d5..b76251a 100644
--- a/noncore/games/solitaire/patiencecardgame.h
+++ b/noncore/games/solitaire/patiencecardgame.h
@@ -15,13 +15,13 @@
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef PATIENCE_CARD_GAME_H
-#define PATIENCE_CARD_GAME_H
+#define PATIENCE_CARD_GAME_H
#include <qpopupmenu.h>
#include <qmainwindow.h>
#include <qintdict.h>
#include <qcanvas.h>
@@ -43,13 +43,13 @@ public:
}
virtual bool isAllowedToBeMoved(Card *card) {
Q_UNUSED(card);
//if ( ( !card->isFacing() ) && ( card == cardOnTop() ) )
if ( card == cardOnTop() )
return TRUE;
- return FALSE;
+ return FALSE;
}
};
class PatienceFaceUpDeck : public CardPile, public CanvasRoundRect
{
@@ -63,13 +63,13 @@ public:
}
virtual bool isAllowedToBeMoved(Card *card) {
Q_UNUSED(card);
//if ( ( card->isFacing() ) && ( card == cardOnTop() ) )
if ( card == cardOnTop() )
return TRUE;
- return FALSE;
+ return FALSE;
}
};
class PatienceDiscardPile : public CardPile, public CanvasRoundRect
{
@@ -80,18 +80,18 @@ public:
if ( card->isFacing() && ( card->getCardPile()->cardInfront(card) == NULL ) &&
( ( ( cardOnTop() == NULL ) && ( card->getValue() == ace ) ) ||
( ( cardOnTop() != NULL ) &&
( (int)card->getValue() == (int)cardOnTop()->getValue() + 1 ) &&
( card->getSuit() == cardOnTop()->getSuit() ) ) ) )
return TRUE;
- return FALSE;
+ return FALSE;
}
virtual bool isAllowedToBeMoved(Card *card) {
if ( card->isFacing() && ( card == cardOnTop() ) )
return TRUE;
- return FALSE;
+ return FALSE;
}
};
class PatienceWorkingPile : public CardPile, public CanvasRoundRect
{
@@ -102,18 +102,18 @@ public:
if ( card->isFacing() &&
( ( ( cardOnTop() == NULL ) && (card->getValue() == king) ) ||
( ( cardOnTop() != NULL ) &&
( (int)card->getValue() + 1 == (int)cardOnTop()->getValue() ) &&
( card->isRed() != cardOnTop()->isRed() ) ) ) )
return TRUE;
- return FALSE;
+ return FALSE;
}
virtual bool isAllowedToBeMoved(Card *card) {
if ( card->isFacing() )
return TRUE;
- return FALSE;
+ return FALSE;
}
virtual void cardAddedToTop(Card *card) {
Q_UNUSED(card);
top = getCardPos(NULL);
setNextX( top.x() );
setNextY( top.y() );
@@ -145,18 +145,18 @@ public:
virtual QPoint getCardPos(Card *c) {
int x = pileX, y = pileY;
Card *card = cardOnBottom();
while ((card != c) && (card != NULL)) {
if (card->isFacing()) {
int offsetDown = ( qt_screen->deviceWidth() < 200 ) ? 9 : 13;
- y += offsetDown;
+ y += offsetDown;
} else {
- x += 1;
+ x += 1;
y += 3;
}
- card = cardInfront(card);
+ card = cardInfront(card);
}
return QPoint( x, y );
}
virtual QPoint getHypertheticalNextCardPos(void) {
return top;
// return QPoint( getNextX(), getNextY() );
@@ -170,30 +170,27 @@ private:
class PatienceCardGame : public CanvasCardGame
{
public:
PatienceCardGame(QCanvas *c, bool snap, QWidget *parent = 0);
virtual ~PatienceCardGame();
virtual void deal(void);
- virtual bool haveWeWon() {
+ int deckTurns;
+ virtual bool haveWeWon() {
return ( discardPiles[0]->kingOnTop() &&
discardPiles[1]->kingOnTop() &&
discardPiles[2]->kingOnTop() &&
discardPiles[3]->kingOnTop() );;
}
virtual void mousePress(QPoint 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); }
- bool canTurnOverDeck(void) { return (numberOfTimesThroughDeck != 3); }
- void throughDeck(void) {
- numberOfTimesThroughDeck++;
- if (numberOfTimesThroughDeck == 3)
- circleCross->setCross();
- }
+ bool canTurnOverDeck();
+ void throughDeck();
bool snapOn;
virtual void writeConfig( Config& cfg );
virtual void readConfig( Config& cfg );
private:
CanvasCircleOrCross *circleCross;
CanvasRoundRect *rectangle;