Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool SolarisPrimus::Fight(StarShip* _attacker, StarShip* _defender)
- {
- _attacker->print();
- //print attacker info
- _attacker->attack(_defender);
- //commence attack (attack) in starship)
- //check if defender is alive or not
- if(!_defender->isAlive())
- {
- switch (m_gameState)
- {
- case 1:
- _defender->print();
- cout << "Your " << _defender << " has been destroyed" << endl;
- player->addStarShip(_defender);
- opponent->removeStarShip(_defender);
- _defender->resetHp();
- break;
- case 2:
- _defender->print();
- cout << "Enemy " << _defender << " has been destroyed" << endl;
- opponent->addStarShip(_defender);
- player->removeStarShip(_defender);
- _defender->resetHp();
- break;
- }
- if(!CheckWinLose())
- {
- switch (m_gameState)
- {
- case 1:
- m_gameState = STATE_OPPTURN;
- break;
- case 2:
- m_gameState = STATE_PLAYERTURN;
- break;
- }
- }
- return true;
- }
- else
- {
- _defender->print();
- //print attacker info
- _defender->attack(_attacker);
- //commence attack (attack) in starship)
- //check if defender is alive or not
- if(!_attacker->isAlive())
- {
- switch (m_gameState)
- {
- case 1:
- _attacker->print();
- cout << "Your " << _attacker << " has been destroyed" << endl;
- player->addStarShip(_attacker);
- opponent->removeStarShip(_attacker);
- _attacker->resetHp();
- break;
- case 2:
- _defender->print();
- cout << "Enemy " << _attacker << " has been destroyed" << endl;
- opponent->addStarShip(_attacker);
- player->removeStarShip(_attacker);
- _attacker->resetHp();
- break;
- }
- }
- if(!CheckWinLose())
- {
- switch (m_gameState)
- {
- case 1:
- m_gameState = STATE_OPPTURN;
- break;
- case 2:
- m_gameState = STATE_PLAYERTURN;
- break;
- }
- }
- return true;
- }
- //counter attack
- // if(_attacker !=alive)
- // {
- //print info of attacker ship & inform that it is destroyed
- //switch the loser ship to the winner fleet & reset health
- //depending on what game state
- // if(!CheckWinLose())
- // {
- // return false;
- // }
- // return true;
- // }
- // return false;
- return false;
- }
Add Comment
Please, Sign In to add comment