Mari's Tarot
 All Classes Files Functions Variables Enumerations Enumerator Friends
Deck.hpp
Go to the documentation of this file.
1 /*
2  * Tarot is an application for Android system to play to French Tarot.
3  * Please visit https://github.com/richoux/Tarot for further information.
4  *
5  * Copyright (C) 2013-2016 Florian Richoux
6  *
7  * This file is part of Tarot.
8  * Tarot is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12 
13  * Tarot is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17 
18  * You should have received a copy of the GNU General Public License
19  * along with Tarot. If not, see http://www.gnu.org/licenses/.
20  */
21 
22 #pragma once
23 
24 #include <vector>
25 #include <memory>
26 
27 #include "Card.hpp"
28 
29 using namespace std;
30 
32 class Deck
33 {
34 public:
36  Deck();
37 
39 
43  bool hasStrongerThan( const shared_ptr<Card> card ) const;
44 
46 
50  int indexInDeck( const shared_ptr<Card> card ) const;
51 
53  void newDeal();
54 
56  void shuffle();
57 
58  vector< shared_ptr<Card> > cards;
59  vector< shared_ptr<Card> > heads;
65 };
int numberDiamonds
The number of Diamonds in the deck.
Definition: Deck.hpp:62
Deck is the class managing the deck of cards. Used as well as for the game deck, but also for a count...
Definition: Deck.hpp:32
int numberTrumps
The number of Trumps in the deck.
Definition: Deck.hpp:64
int numberSpades
The number of Spades in the deck.
Definition: Deck.hpp:61
vector< shared_ptr< Card > > cards
The vector of all cards in the deck.
Definition: Deck.hpp:58
int numberHearts
The number of Hearts in the deck.
Definition: Deck.hpp:60
int numberClubs
The number of Clubs in the deck.
Definition: Deck.hpp:63
vector< shared_ptr< Card > > heads
The vector of head cards (useful calling a card for 5-players games).
Definition: Deck.hpp:59