vector<vector<SquareT>> board
SquareT::Movememt() {
switch (SquareType) {
case TRAP
DoTrapMovement()
break;
case ROAD
DoRoadMovement()
break
...
}
vector<vector<void *>> board
class TrapSquare{
};
class RoadSquare {
}
class BaseMapSquareT {
public:
BaseMapSquareT(PlayerT & );
void EnterSquare(PlayerT &);
void ExitSiquare(PlayerT &);
void TraverseSquare(PlayerT &);
private:
int timesVisited{0};
};
class MarketSquareT : public BaseMaptSquareT {
public:
vector<StoreT>ListStores();
void EnterSquare(PlayertT &);
private:
vector<StoreT>stores;
};
void PlayerAction(Squaret & square, PlayerT &