-
Notifications
You must be signed in to change notification settings - Fork 1
/
TurnTradingHandler.h
37 lines (28 loc) · 1.03 KB
/
TurnTradingHandler.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
#pragma once
#include"Trade.h"
#include"Game.h"
#include<vector>
class TurnTradingHandler {
public:
TurnTradingHandler(Game& game, Player& player, std::vector<Player>& curPlayers, std::vector<Space*>& spaces,
std::vector<std::string>& gameOutput, std::vector<std::string>& colorSets);
void handle();
bool tradeWithPlayer(std::vector<Player>& tradeable, int choice);
void askAIAcceptTrade(Trade& trade);
void askPlayerAcceptTrade(Trade& trade);
void displayCompleteTradeOffer(Trade& trade);
void selectPropertiesToGet(Trade& trade);
void selectPropertyGet(Trade& trade, int toRemove);
void selectPropertiesToOffer(Trade& trade);
void selectPropertyOffer(Trade& trade, int toRemove);
void displayCurrentlyOfferingProperties(Trade trade);
void displayOtherPlayerProperties(Trade trade);
void displayTradeablePlayers(std::vector<Player>& tradeable);
private:
Game& game;
Player& player;
std::vector<Player>& curPlayers;
std::vector<Space*>& spaces;
std::vector<std::string>& gameOutput;
std::vector<std::string>& colorSets;
};