-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPlayer.h
68 lines (59 loc) · 1.79 KB
/
Player.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#pragma once
#include<iostream>
#include "Bidding.h"
#include "map.h"
#include "Cards.h"
#include "PlayerStrategies.h"
#include <unordered_map>
using namespace std;
class Country;
class Continent;
class Player
{
private:
int* coins;
int* id;
Bidding* bidding;
Hand* hand;
string colorArmy;
bool isCPU;
PlayerStrategies* userStrategy;
unordered_map<string, Country*> ownCountry;
vector<Country*> armiesInBoard;
vector<Country*> citiesInBoard;
const int MAX_ARMIES = 14;
const int MAX_CITIES = 3;
public:
Player(int year, Deck* deck, int money, int Id);
Player(int year, Deck* deck, int money, int Id, bool CPU, int strat);
Player();
void placeNewArmies(string action, Country* startingPoint);
//void moveArmiesOverSea(string action, Country* startingPoint);
void moveArmies(string action, Country* startingPoint);
// void moveOverLand(string action);
void buildCity(string action, Country* startingPoint);
void destroyArmy(string action, vector<Player*> allPlayers, vector<string>* actions);
bool Ignore(vector<string>* actions);
string AndOrAction(string action, int part);
void makeAction(string actionTook, Country* startingPoint, vector<Player*> AllPlayers,vector<string>* actions);
void addOwnCountry(string name,Country* countries);
void PayCoin(int cost);
void setColor(string color);
void addArmy(Country* country);
void addCity(Country* country);
void DestroyArmy(Country* country);
int* getId();
bool getStatus();
void displayInfo();
int computeScoreP(unordered_map<string, Continent*> allContient);
int numArmiesOnBoard;
int controlledRegions;
Hand* getHand();
string getColor();
int* getCoins();
vector<Country*> getArmiesInBoard();
vector<Country*> getCitiesInBoard();
Bidding* getBiddingInstance();
PlayerStrategies* getUserStrat();
void setStatus(bool change);
};