Guest User

Untitled

a guest
Jun 25th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. bool SolarisPrimus::Fight(StarShip* _attacker, StarShip* _defender)
  2. {
  3.     _attacker->print();
  4.     //print attacker info
  5.     _attacker->attack(_defender);
  6.     //commence attack (attack) in starship)
  7.  
  8.     //check if defender is alive or not
  9.     if(!_defender->isAlive())
  10.     {
  11.         switch (m_gameState)
  12.         {
  13.         case 1:
  14.             _defender->print();
  15.             cout << "Your " << _defender << " has been destroyed" << endl;
  16.  
  17.             player->addStarShip(_defender);
  18.             opponent->removeStarShip(_defender);
  19.             _defender->resetHp();
  20.             break;
  21.         case 2:
  22.             _defender->print();
  23.             cout << "Enemy " << _defender << " has been destroyed" << endl;
  24.  
  25.             opponent->addStarShip(_defender);
  26.             player->removeStarShip(_defender);
  27.             _defender->resetHp();
  28.             break;
  29.         }
  30.  
  31.        
  32.         if(!CheckWinLose())
  33.         {
  34.             switch (m_gameState)
  35.             {
  36.             case 1:
  37.                 m_gameState = STATE_OPPTURN;
  38.                 break;
  39.             case 2:
  40.                 m_gameState = STATE_PLAYERTURN;
  41.                 break;
  42.             }
  43.         }
  44.         return true;
  45.     }
  46.  
  47.     else
  48.     {
  49.         _defender->print();
  50.         //print attacker info
  51.         _defender->attack(_attacker);
  52.         //commence attack (attack) in starship)
  53.  
  54.         //check if defender is alive or not
  55.         if(!_attacker->isAlive())
  56.         {
  57.             switch (m_gameState)
  58.             {
  59.             case 1:
  60.                 _attacker->print();
  61.                 cout << "Your " << _attacker << " has been destroyed" << endl;
  62.  
  63.                 player->addStarShip(_attacker);
  64.                 opponent->removeStarShip(_attacker);
  65.                 _attacker->resetHp();
  66.                 break;
  67.             case 2:
  68.                 _defender->print();
  69.                 cout << "Enemy " << _attacker << " has been destroyed" << endl;
  70.  
  71.                 opponent->addStarShip(_attacker);
  72.                 player->removeStarShip(_attacker);
  73.                 _attacker->resetHp();
  74.                 break;
  75.             }
  76.         }
  77.  
  78.         if(!CheckWinLose())
  79.         {
  80.             switch (m_gameState)
  81.             {
  82.             case 1:
  83.                 m_gameState = STATE_OPPTURN;
  84.                 break;
  85.             case 2:
  86.                 m_gameState = STATE_PLAYERTURN;
  87.                 break;
  88.             }
  89.         }
  90.         return true;
  91.     }
  92.        
  93.  
  94.     //counter attack
  95. //  if(_attacker !=alive)
  96. //  {
  97.         //print info of attacker ship & inform that it is destroyed
  98.         //switch the loser ship to the winner fleet & reset health
  99.         //depending on what game state
  100. //      if(!CheckWinLose())
  101. //      {
  102. //          return false;
  103. //      }
  104. //      return true;
  105. //  }
  106. //  return false;
  107.     return false;
  108. }
Add Comment
Please, Sign In to add comment