Untitled

 avatar
unknown
plain_text
17 days ago
872 B
3
Indexable
class Card {
private:
    int value;
    int tokens;

public:
    Card(int val) : value(val), tokens(0) {}

    int getValue() const {
        return value;
    }

    int getTokens() const {
        return tokens;
    }

    void operator+(int num) {
        tokens += num;
    }

    void operator-(int num) {
        tokens = max(0, tokens - num);
    }

    void addToken() {
        tokens++;
    }

    void removeToken() {
        if (tokens > 0) tokens--;
    }
};

int getValue(const Card& card) {
    return card.getValue();
}

int getTokens(const Card& card) {
    return card.getTokens();
}

void addToken(Card& card) {
    card.addToken();
}

void removeToken(Card& card) {
    card.removeToken();
}

void shuffleDeck(vector<Card>& deck) {
    srand(time(0));
    random_shuffle(deck.begin(), deck.end());
}
Leave a Comment