Fix segFault (forgot to check if tower have graphics in clearTower)

# To do:
- Upgrade des tours
- Dasagne
- Easter egg
- I'm a teapot
This commit is contained in:
2024-05-01 19:01:56 +02:00
parent 39e18a3b73
commit 60f71d5ccd
2 changed files with 4 additions and 3 deletions

View File

@@ -321,7 +321,7 @@ void Game::mousePressEvent(QMouseEvent* event) {
placeTower(event);
}
void Game::endRound() {
void Game::endRound() const {
if(player->getHealth() == player->getPreviousHealth()) {
player->heal(5);
}
@@ -330,9 +330,10 @@ void Game::endRound() {
void Game::clearTowers() {
for (auto* tower : towers) {
if (tower->getGraphics()->scene() == &gameMap) {
if (tower != nullptr && tower->getGraphics() != nullptr && tower->getGraphics()->scene() == &gameMap) {
gameMap.removeItem(tower->getGraphics());
}
delete tower;
}
towers.clear(); // Clear the list of towers after deleting them
}

View File

@@ -44,7 +44,7 @@ public:
void gameOver();
void resetGame();
void placeTower(QMouseEvent* event);
void endRound();
void endRound() const;
void clearTowers();
private: