Compare commits
2 Commits
7ba82b569b
...
8736aee27c
Author | SHA1 | Date | |
---|---|---|---|
|
8736aee27c | ||
|
4404eb21e9 |
@ -22,7 +22,9 @@ public:
|
|||||||
bool takeTilesFromPool(azool::TileColor color, int& numTiles, bool& poolPenalty);
|
bool takeTilesFromPool(azool::TileColor color, int& numTiles, bool& poolPenalty);
|
||||||
void returnTilesToBag(int numTiles, azool::TileColor color);
|
void returnTilesToBag(int numTiles, azool::TileColor color);
|
||||||
void dealTiles();
|
void dealTiles();
|
||||||
int numFactories() { return tileFactories.size(); }
|
int numFactories() {
|
||||||
|
return tileFactories.size();
|
||||||
|
}
|
||||||
bool endOfRound() {
|
bool endOfRound() {
|
||||||
// round ends when the pool and tile factories are empty
|
// round ends when the pool and tile factories are empty
|
||||||
for (int ii = 0; ii < azool::NUMCOLORS; ++ii) {
|
for (int ii = 0; ii < azool::NUMCOLORS; ++ii) {
|
||||||
|
@ -15,10 +15,16 @@ public:
|
|||||||
void placeTiles(int rowIdx, azool::TileColor color, int numTiles);
|
void placeTiles(int rowIdx, azool::TileColor color, int numTiles);
|
||||||
void endRound(bool& fullRow);
|
void endRound(bool& fullRow);
|
||||||
void finalizeScore();
|
void finalizeScore();
|
||||||
int getScore() const { return myScore; }
|
int getScore() const {
|
||||||
|
return myScore;
|
||||||
|
}
|
||||||
std::string printMyBoard() const;
|
std::string printMyBoard() const;
|
||||||
bool tookPenalty() const { return myTookPoolPenaltyThisRound; }
|
bool tookPenalty() const {
|
||||||
const std::string getPlayerName() const { return myName; }
|
return myTookPoolPenaltyThisRound;
|
||||||
|
}
|
||||||
|
const std::string getPlayerName() const {
|
||||||
|
return myName;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Player(const Player&) = delete;
|
Player(const Player&) = delete;
|
||||||
|
12
src/main.cc
12
src/main.cc
@ -44,12 +44,14 @@ void playGame(GameBoard* game) {
|
|||||||
players[0]->endRound(p0EndsGame);
|
players[0]->endRound(p0EndsGame);
|
||||||
players[1]->endRound(p1EndsGame);
|
players[1]->endRound(p1EndsGame);
|
||||||
}
|
}
|
||||||
players[0]->finalizeScore();
|
std::cout << " Final scores:\n";
|
||||||
players[1]->finalizeScore();
|
|
||||||
std::cout << " Final scores:\n" << players[0]->getScore() << "\n" << players[1]->getScore() << "\n" << std::flush;
|
|
||||||
std::cout << players[0]->printMyBoard();
|
|
||||||
std::cout << players[1]->printMyBoard();
|
|
||||||
for (auto player : players) {
|
for (auto player : players) {
|
||||||
|
player->finalizeScore();
|
||||||
|
std::cout << player->getPlayerName() << ": " << player->getScore() << "\n" << std::flush;
|
||||||
|
}
|
||||||
|
// separate loops b/c we want scores to print before printing boards
|
||||||
|
for (auto player : players) {
|
||||||
|
std::cout << player->printMyBoard() << std::flush;
|
||||||
if (player) delete player;
|
if (player) delete player;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user