You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.0 KiB

  1. #include "src/class/character.hpp"
  2. Character::Character(std::string characterName)
  3. {
  4. name = characterName;
  5. maxHP = 100;
  6. currentHP = 100;
  7. atk = 10;
  8. def = 5;
  9. }
  10. Character::Character(std::string characterName, int characterMaxHP, int characterAtk, int characterDef)
  11. {
  12. name = characterName;
  13. maxHP = characterMaxHP;
  14. currentHP = maxHP;
  15. atk = characterAtk;
  16. def = characterDef;
  17. }
  18. bool Character::isDead()
  19. {
  20. return currentHP <= 0;
  21. }
  22. bool Character::isAlive()
  23. {
  24. return currentHP > 0;
  25. }
  26. std::string Character::getName()
  27. {
  28. return name;
  29. }
  30. void Character::restoreHP()
  31. {
  32. currentHP = maxHP;
  33. }
  34. int Character::getCurrentHP()
  35. {
  36. return currentHP;
  37. }
  38. int Character::getMaxHP()
  39. {
  40. return maxHP;
  41. }
  42. int Character::getDef()
  43. {
  44. return def;
  45. }
  46. int Character::getAtk()
  47. {
  48. return atk;
  49. }
  50. int Character::defend(int dmg)
  51. {
  52. int cleanDamage = dmg - def;
  53. if (cleanDamage <= 0)
  54. {
  55. return 0;
  56. }
  57. else
  58. {
  59. currentHP = currentHP - cleanDamage;
  60. return cleanDamage;
  61. }
  62. }