Skip to content

Commit 94ffd33

Browse files
authored
Merge pull request #31 from AC159/bug_fix
Revert "Changed iterator loop to range based"
2 parents 2f43198 + ff8dc56 commit 94ffd33

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

GameEngine/GameEngine.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,8 @@ bool GameEngine::executeOrdersPhase() {
360360
bool doneDeploying = false;
361361

362362
while (ordersRemain()) {
363-
for (const auto &player: playersList) {
363+
for (auto it = playersList.begin(); it < playersList.end(); it++) {
364+
Players::Player *player = *it;
364365
Orders::Order *topOrder = player->orders->element(0);
365366

366367
//deployment is confirmed to be completed once every player's top order was found to not be of deploy type
@@ -391,7 +392,7 @@ bool GameEngine::executeOrdersPhase() {
391392

392393
//player is eliminated if their last territory was taken
393394
if (targetPlayerIt != playersList.end() && (*targetPlayerIt)->territories.empty()
394-
&& *targetPlayerIt != player) {
395+
&& targetPlayerIt != it) {
395396
cout << "" << (*targetPlayerIt)->getName() << " is eliminated." << endl;
396397
delete *targetPlayerIt;
397398
playersList.erase(targetPlayerIt);

Player/Player.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ void Player::issueOrder(Cards::Deck *deck, Graph::Map *map) {
215215
dynamic_cast<Cards::Bomb *>(card)->play(this, deck, toAttack(mapEdges).begin()->second, map);
216216
} else if (type == "reinforcement") {
217217
dynamic_cast<Cards::Reinforcement *>(card)->play(this, deck, defend.begin()->second);
218-
} else if (type == "blockade") {
218+
} else if (type == "blockade" && territories.size() != 1) { // avoid self-elimination
219219
dynamic_cast<Cards::Blockade *>(card)->play(this, deck, defend.begin()->second);
220220
} else if (type == "diplomacy") {
221221
vector<Territory *> adjacent = defend.begin()->second->adjacentEnemyTerritories(mapEdges);

0 commit comments

Comments
 (0)