-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAI.h
More file actions
24 lines (20 loc) · 840 Bytes
/
AI.h
File metadata and controls
24 lines (20 loc) · 840 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once
#include <vector>
#include "Card.h"
#include <string>
using namespace std;
class AI
{
public:
virtual void onOtherPlayerMove(int playerNumber, Card justPlayed, Color choosenCardColor) = 0;
virtual void onOtherPlayerDraw(int playerNumber) = 0;
virtual string getName()=0;
virtual int makeMove(Card justPlayed, Color choosenCardColor, bool justDrew, vector<int> scores, vector<int> cardAmountsByPlayer, vector<Card> cardsInHand, int direction) = 0; //the returned int refers to the index of which card is played in your hand.
virtual Color getNewColor() = 0;
AI(int num);
int getNum() { return myPlayerNumber; }
void setNum(int x) { myPlayerNumber = x; }
protected:
int myPlayerNumber;
vector<Card> getPlayableCardsInHand(Card justPlayed, Color choosenCardColor, vector<Card> cardsInHand);
};