Diffstat (limited to 'noncore/games/solitaire/cardpile.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/games/solitaire/cardpile.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/noncore/games/solitaire/cardpile.h b/noncore/games/solitaire/cardpile.h index c515bbc..1eb2499 100644 --- a/noncore/games/solitaire/cardpile.h +++ b/noncore/games/solitaire/cardpile.h @@ -30,72 +30,86 @@ enum ePileStackingType { }; enum ePileFaceingType { pileFaceUp = 0, pileFaceDown, pileFaceUpOrDown }; class Card; class Config; class CardPile : public QList<Card> { public: CardPile(int x, int y); virtual ~CardPile() { } int getX() { return pileX; } int getY() { return pileY; } int getNextX() { return pileNextX; } int getNextY() { return pileNextY; } int getWidth() { return pileWidth; } int getHeight() { return pileHeight; } + int getOffsetDown() { return pileOffsetDown; } + int getAnzCardsInPile() { + int anz=0; + Card *card = cardOnBottom(); + while (card != NULL) { anz++; card = cardInfront(card); } + return anz; + } void setX(int x) { pileX = x; } void setY(int y) { pileY = y; } void setNextX(int x) { pileNextX = x; } void setNextY(int y) { pileNextY = y; } void setWidth(int width) { pileWidth = width; } void setHeight(int height) { pileHeight = height; } + void setOffsetDown(int down) { pileOffsetDown = down; } void beginDealing() { dealing = TRUE; } void endDealing() { dealing = FALSE; } bool isDealing() { return dealing; } + + void beginPileResize() { PileResize = TRUE; } + void endPileResize() { PileResize = FALSE; } + bool isPileResize() { return PileResize; } int distanceFromPile(int x, int y); int distanceFromNextPos(int x, int y); Card *cardOnTop() { return getLast(); } Card *cardOnBottom() { return getFirst(); } Card *cardInfront(Card *c); bool kingOnTop(); bool addCardToTop(Card *c); bool addCardToBottom(Card *c); bool removeCard(Card *c); virtual void cardAddedToTop(Card *) { } virtual void cardAddedToBottom(Card *) { } virtual void cardRemoved(Card *) { } virtual bool isAllowedOnTop(Card *) { return FALSE; } virtual bool isAllowedOnBottom(Card *) { return FALSE; } virtual bool isAllowedToBeMoved(Card *) { return FALSE; } virtual QPoint getCardPos(Card *) { return QPoint(pileX, pileY); } virtual QPoint getHypertheticalNextCardPos() { return QPoint(pileX, pileY); } void writeConfig( Config& cfg, QString name ); protected: int pileX, pileY; int pileNextX, pileNextY; int pileWidth, pileHeight; int pileCenterX, pileCenterY; int pileRadius; + int pileOffsetDown; private: bool dealing; + bool PileResize; }; #endif |