-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHand.h
37 lines (28 loc) · 773 Bytes
/
Hand.h
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
#pragma once
#include "Deck.h"
#include <vector>
/*
This class represents the hand of a character, it should only hold data on cards and render them
For the player there is a subclass called playerHand which also allows cards to be played
Any gameplay stuff such as turn taking is managed by the character class
*/
class Hand : public Interactable
{
public:
Hand();
Hand(Deck* drawDeck);
Hand(Deck* drawDeck, Deck* playDeck);
void DrawCard();
void DrawCard(int numOfCards);
void PlayCard(Card* card);
void FillHand();
bool CanCardBePlayed(Card* card);
void PlayPlayableCard();
Card* GetPlayableCard();
virtual int GetHandSize();
void RenderCall(SDL_Renderer* renderer);
protected:
std::vector<Card*> hand;
Deck* drawDeck = 0;
Deck* playDeck = 0;
};