diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | c90c389a8a8d9d8661e9772ec4144c5cf2039f23 (patch) | |
tree | 6d8391395bce9eaea4ad78958617edb20c6a7573 /kpat/klondike.h | |
download | tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.tar.gz tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegames@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpat/klondike.h')
-rw-r--r-- | kpat/klondike.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/kpat/klondike.h b/kpat/klondike.h new file mode 100644 index 00000000..b1b7e673 --- /dev/null +++ b/kpat/klondike.h @@ -0,0 +1,71 @@ +/***********************-*-C++-*-******** + + klondike.cpp implements a patience card game + + Copyright (C) 1995 Paul Olav Tvete + + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation. + * + * This file is provided AS IS with no warranties of any kind. The author + * shall have no liability with respect to the infringement of copyrights, + * trade secrets or any patents by this file or any part thereof. In no + * event will the author be liable for any lost revenue or profits or + * other special, indirect and consequential damages. + + +// +// 7 positions, alternating red and black +// + + +****************************************/ + +#ifndef P_KLONDIKE +#define P_KLONDIKE + +#include "dealer.h" + +class KlondikePile; + +class Klondike : public Dealer { + Q_OBJECT + +public: + Klondike( bool easy, KMainWindow* parent=0, const char* name=0); + +public: + virtual void restart(); + virtual bool startAutoDrop(); + + void redeal(); // put pile back into deck + void deal(); + void deal3(); // move up to 3 cards from deck to pile + + virtual bool cardClicked(Card *); + virtual void pileClicked(Pile *c); + virtual void getHints(); + + virtual Card *demoNewCards(); + + bool tryToDrop(Card *t); + + virtual bool isGameLost() const; + +private: + bool EasyRules; + bool redealt; + + Pile* play[7]; + Pile* target[4]; + + KlondikePile *pile; + Deck* deck; + Card::Rank target_tops[4]; + bool noLongerNeeded(Card::Rank r, Card::Suit s ); +}; + +#endif |