summaryrefslogtreecommitdiffstats
path: root/kpat/deck.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitc90c389a8a8d9d8661e9772ec4144c5cf2039f23 (patch)
tree6d8391395bce9eaea4ad78958617edb20c6a7573 /kpat/deck.h
downloadtdegames-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/deck.h')
-rw-r--r--kpat/deck.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/kpat/deck.h b/kpat/deck.h
new file mode 100644
index 00000000..f5239fe0
--- /dev/null
+++ b/kpat/deck.h
@@ -0,0 +1,46 @@
+#ifndef _DECK_H_
+#define _DECK_H_
+
+#include "pile.h"
+class dealer;
+
+/***************************************
+
+ Deck (Pile with id 0) -- create and shuffle 52 cards
+
+**************************************/
+class Deck: public Pile
+{
+
+private:
+ Deck( Dealer* parent = 0, int m = 1, int s = 4 );
+ virtual ~Deck();
+
+public:
+ static Deck *new_deck( Dealer *parent = 0, int m = 1, int s = 4 );
+ static Deck *deck() { return my_deck; }
+
+ static const long n;
+
+ void collectAndShuffle();
+
+ Card* nextCard();
+
+ uint decksNum() const { return mult; }
+
+private: // functions
+
+ void makedeck();
+ void addToDeck();
+ void shuffle();
+
+private:
+
+ uint mult;
+ uint suits;
+ Card** _deck;
+
+ static Deck *my_deck;
+};
+
+#endif