uopspop

player2.cpp

Apr 17th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include "player2.h"
  2. #include <iostream>
  3. #include <cstdlib>
  4. #include <ctime>
  5. using std::string;
  6. using std::cout;
  7. using std::endl;
  8.  
  9. //player2.cpp
  10. Player::Player(){
  11.     _name = "noName";
  12.     _hp = 0;
  13.     _atk = 0;
  14.     _agi = 0;
  15. }
  16.  
  17. Player::Player(string n,int h, int a, int agi){
  18.     _name = n;
  19.     _hp = h;
  20.     _atk = a;
  21.     _agi = agi;
  22. }
  23.  
  24. int Player::getHp(){
  25.     return _hp;
  26. }
  27. int Player::getAtk(){
  28.     return _atk;
  29. }
  30. int Player::getAgi(){
  31.     return _agi;
  32.     }
  33. string Player::getName(){
  34.     return _name;
  35. }
  36. void Player::setHp(int h){
  37.     _hp = h;
  38. }
  39.  
  40. void Player::attack(Player &attacked){
  41.     attacked._hp -= _atk;
  42.     cout << _name << " attacked " << attacked._name << "!" << endl;
  43.     cout << attacked._name << "'s remaining hp: " << attacked._hp << endl;
  44.     cout << "-----------------" << endl;
  45. }
  46.  
  47. void Player::combat(Player &declarer,Player &enemy){
  48.     if ( _agi > enemy._agi){
  49.         cout << _name << " attacks first" << endl;
  50.         attack(enemy);
  51.         if (enemy._hp > 0)
  52.             enemy.attack(declarer);
  53.     }else if(_agi == enemy._agi){
  54.         srand(time(NULL));
  55.         if (rand() % 2 == 0 ){
  56.             cout << _name << " attacks first" << endl;
  57.             attack(enemy);
  58.             if (enemy._hp > 0)
  59.                 enemy.attack(declarer);
  60.         }else{
  61.             cout << enemy._name << " attacks first" << endl;
  62.             enemy.attack(declarer);
  63.             if (_hp > 0)
  64.                 attack(enemy);
  65.         }
  66.     }else{
  67.         cout << enemy._name << " attacks first" << endl;
  68.         enemy.attack(declarer);
  69.         if (_hp > 0)
  70.             attack(enemy);
  71.         }
  72.     }
  73. bool Player::isAlive(){
  74.     if (_hp > 0){
  75.         return true;
  76.     }else{
  77.         return false;
  78.     }
  79. }
Add Comment
Please, Sign In to add comment