[ ] Provide a startupPhase() method in the GameEngine class that implements a command-based user interaction
mechanism to start the game by allowing the user to proceed with the game startup phase:
1) use the loadmap command to select a map from a list of map files as stored in a directory,
which results in the map being loaded in the game.
2) use the validatemap command to validate the map (i.e. it is a connected graph, etc – see assignment 1).
3) use the addplayer command to enter players in the game (2-6 players)
4) use the gamestart command to
a) fairly distribute all the territories to the players
b) determine randomly the order of play of the players in the game
c) give 50 initial army units to the players, which are placed in their respective reinforcement pool
d) let each player draw 2 initial cards from the deck using the deck’s draw() method
e) switch the game to the play phase
[ ] This must be implemented as part of the pre-existing .cpp/.h file duo named GameEngine.cpp/GameEngine.h
You must deliver a driver as a free function named testStartupPhase() that demonstrates that 1-4 explained
above are implemented correctly, using either console input or file input of the commands (see Part 1). This driver
function must be in the GameEngineDriver.cpp file
Lara note:
1,2,3,4e are implemented in respective drivers :)
1) use the loadmap command to select a map from a list of map files as stored in a directory,
which results in the map being loaded in the game.
2) use the validatemap command to validate the map (i.e. it is a connected graph, etc – see assignment 1).
3) use the addplayer command to enter players in the game (2-6 players)
4) use the gamestart command to
a) fairly distribute all the territories to the players
b) determine randomly the order of play of the players in the game
c) give 50 initial army units to the players, which are placed in their respective reinforcement pool
d) let each player draw 2 initial cards from the deck using the deck’s draw() method
e) switch the game to the play phase
Lara note: 1,2,3,4e are implemented in respective drivers :)