Example #1
0
/* We dont rendomly return cards, we return in a whole.
 * Return all cards either in use or used
 * Time is when Deck run out of cards or needs to reset/reshuffle
 */
void Player::put_card_back(Deck& deck)
{
    Card *c;

    if (!cards_in_use_.empty()) {
        vector<Card*>::iterator i = cards_in_use_.begin();
        while (i != cards_in_use_.end()) {
            c = *i;
            c->remove_owner();
            deck.card_back(c);
            i = cards_in_use_.erase(i);
        }
    }

    if (!cards_used_.empty()) {
        vector<Card*>::iterator i = cards_used_.begin();
        while (i != cards_used_.end()) {
            c = *i;
            c->remove_owner();
            deck.card_back(c);
            i = cards_used_.erase(i);
        }
    }
}