-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDeck.cpp
More file actions
80 lines (52 loc) · 1.58 KB
/
Deck.cpp
File metadata and controls
80 lines (52 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//
// Created by maxri on 05/05/2021.
//
#include "Deck.h"
#include <vector>
#include <iostream>
#include <algorithm>
#include <random>
int ACE = 1, JACK =10, QUEEN =10, KING = 10;
Deck::Deck(int size) {
//std::cout << "\nCreating pack with " << size << " number of decks\n";
for (int i = 0; i <= size - 1; i++){
for (int j = 0; i <= 3; i++){
deck.emplace_back(ACE,"ACE");
deck.emplace_back(2,"TWO");
deck.emplace_back(3,"THREE");
deck.emplace_back(4,"FOUR");
deck.emplace_back(5,"FIVE");
deck.emplace_back(6,"SIX");
deck.emplace_back(7,"SEVEN");
deck.emplace_back(8,"EIGHT");
deck.emplace_back(9,"NINE");
deck.emplace_back(10,"TEN");
deck.emplace_back(JACK,"JACK");
deck.emplace_back(QUEEN,"QUEEN");
deck.emplace_back(KING,"KING");
}
}
}
void Deck::print_deck() {
std::cout << "Deck size is " << deck.size() << "\nCurrent Deck is: \n";
for(int i = 0; i < deck.size(); i++)
{
std::cout << "(" << deck[i].first << " | " << deck[i].second << ") ";
}
}
void Deck::shuffle_deck(){
auto rd = std::random_device{};
auto rng = std::default_random_engine {rd()};
std::shuffle(std::begin(deck), std::end(deck), rng);
}
bool Deck::deckEmpty() {
return deck.empty();
}
int Deck::deckSize() {
return deck.size();
}
std::pair<int, std::string> Deck::drawCard() {
std::pair<int, std::string> frontCard = deck.front();
deck.erase(deck.begin());
return frontCard;
}