No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

81 líneas
1.3 KiB

#include "src/class/player.hpp"
#include <string.h>
Player::Player(std::string playerName)
: Character(playerName)
{
experience = 0;
level = 1;
}
Player::Player(std::string playerName, int playerMaxHP, int playerAtk, int playerDef, int playerLevel, int playerExp)
: Character(playerName, playerMaxHP, playerAtk, playerDef)
{
experience = playerExp;
level = playerLevel;
}
int Player::getLevel()
{
return level;
}
int Player::getExp()
{
return experience;
}
int Player::expToLevelUp()
{
if (level >= PLAYER_MAX_LEVEL)
{
return 0;
}
else
{
return (level * level) - experience;
}
}
bool Player::checkLevelup()
{
return expToLevelUp() < 0;
}
bool Player::levelUp(int stat)
{
if (checkLevelup())
{
switch (stat)
{
case 1:
maxHP += 10;
restoreHP();
break;
case 2:
atk += 2;
break;
case 3:
def += 1;
break;
}
return true;
}
else
{
return false;
}
}
int Player::takeExperience(int bounty)
{
experience = experience + bounty;
if (experience > PLAYER_MAX_EXPERIENCE)
{
experience = PLAYER_MAX_EXPERIENCE;
}
return experience;
}