#include #include #include "deck.h" namespace wcards { Deck::Deck() : pos(0) { for (unsigned i = 0; i < 52; ++i) { cards[i] = i + 1; } shuffle(); } Card Deck::draw(void) { if (pos == 52) return Card(); else return Card(cards[pos++]); } void Deck::shuffle(void) { std::default_random_engine engine(std::random_device{}()); std::shuffle(cards, cards + 52, engine); } } // namespace wcards