diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-02-22 05:43:57 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-02-22 05:43:57 +0100 |
| commit | 8fc4395b9a61416e9bfee500e064dce7be9c8d7c (patch) | |
| tree | af6e1ebafaa0fbfbc7cde1865573ca37f48ca29f /cpp03/ex00/FragTrap.cpp | |
| parent | a5a197590e45494dc31f0d2fc8fb13194b3975c9 (diff) | |
| download | piscine_cpp-8fc4395b9a61416e9bfee500e064dce7be9c8d7c.tar.gz piscine_cpp-8fc4395b9a61416e9bfee500e064dce7be9c8d7c.tar.bz2 piscine_cpp-8fc4395b9a61416e9bfee500e064dce7be9c8d7c.zip | |
cpp03 boilerplate
Diffstat (limited to 'cpp03/ex00/FragTrap.cpp')
| -rw-r--r-- | cpp03/ex00/FragTrap.cpp | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/cpp03/ex00/FragTrap.cpp b/cpp03/ex00/FragTrap.cpp new file mode 100644 index 0000000..9a68150 --- /dev/null +++ b/cpp03/ex00/FragTrap.cpp @@ -0,0 +1,85 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* FragTrap.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/22 05:20:45 by cacharle #+# #+# */ +/* Updated: 2020/02/22 05:41:11 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "FragTrap.hpp" + +FragTrap::FragTrap() : (std::string name) +{ + hitPoints = 100 + maxHitPoints = 100 + energyPoints = 100 + maxEnergyPoints = 100 + level = 1 + meleeAttackDamage = 30 + rangedAttackDamage = 20 + armorDamageReduction = 5 + std::cout << "New " << name << ": your gamer references sucks"; +} + +FragTrap::FragTrap(FragTrap const & other) +{ + name = other.name + hitPoints = other.hitPoints; + maxHitPoints = other.maxHitPoints; + energyPoints = other.energyPoints; + maxEnergyPoints = other.maxEnergyPoints; + level = other.level; + meleeAttackDamage = other.meleeAttackDamage; + rangedAttackDamage = other.rangedAttackDamage; + armorDamageReduction = other.armorDamageReduction; +} + +FragTrap FragTrap::operator=(FragTrap const & other) +{ + return FragTrap(other); +} + +FragTrap::~FragTrap() +{ + std::cout << "Delete " << name << ": your gamer references still sucks"; +} + +void FragTrap::rangedAttack(std::string const & target) +{ + std::cout << "FR4G-TP " << name << " attacks " << target + << "at range, causing " << rangedAttackDamage << " points of damage!"; +} + +void FragTrap::meleeAttack(std::string const & target) +{ + std::cout << "FR4G-TP " << name << " attacks " << target + << " causing " << meleeAttackDamage << " points of damage!"; + +} + +void FragTrap::takeDamage(unsigned int amount) +{ + if (amount > maxHitPoints) + amount = maxHitPoints + if (amount > hitPoints) + { + hitPoints = 0; + return ; + } + hitPoints -= amount; +} + +void FragTrap::beRepaired(unsigned int amount) +{ + if (amound + hitPoints > max + +} + +void FragTrap::vaulthunter_dot_exe(std::string const & target) +{ + +} |
