diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-04-13 18:44:40 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-04-13 18:44:40 +0200 |
| commit | 119f7f96e77a2d86d692e82645dde4c2dc054052 (patch) | |
| tree | 73c863970a5d0ac8a3c77f9bf96e5aaf2c4c66c8 /cpp03/ex04/FragTrap.cpp | |
| parent | 3d48ed0312f9c0ae691560d7cd688f46917e3fd4 (diff) | |
| download | piscine_cpp-119f7f96e77a2d86d692e82645dde4c2dc054052.tar.gz piscine_cpp-119f7f96e77a2d86d692e82645dde4c2dc054052.tar.bz2 piscine_cpp-119f7f96e77a2d86d692e82645dde4c2dc054052.zip | |
cpp03, except ex04
Diffstat (limited to 'cpp03/ex04/FragTrap.cpp')
| -rw-r--r-- | cpp03/ex04/FragTrap.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/cpp03/ex04/FragTrap.cpp b/cpp03/ex04/FragTrap.cpp new file mode 100644 index 0000000..4db102e --- /dev/null +++ b/cpp03/ex04/FragTrap.cpp @@ -0,0 +1,79 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* FragTrap.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/22 05:20:45 by cacharle #+# #+# */ +/* Updated: 2020/04/13 15:46:59 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "FragTrap.hpp" + +FragTrap::FragTrap(): + ClapTrap() +{ + m_prefix = "FR4G-TP "; + m_energyPoints = 100; + m_maxEnergyPoints = 100; + m_meleeAttackDamage = 30; + m_rangedAttackDamage = 20; + m_armorDamageReduction = 5; + std::cout << "FR4G-TP New " << m_name << ": your gaming references suck" << std::endl; +} + +FragTrap::FragTrap(std::string name): + ClapTrap(name) +{ + m_prefix = "FR4G-TP "; + m_energyPoints = 100; + m_maxEnergyPoints = 100; + m_meleeAttackDamage = 30; + m_rangedAttackDamage = 20; + m_armorDamageReduction = 5; + std::cout << "FR4G-TP New " << m_name << ": your gaming references suck" << std::endl; +} + +FragTrap::FragTrap(FragTrap const& other) +{ + *this = other; +} + +void FragTrap::operator=(FragTrap const& other) +{ + m_hitPoints = other.m_hitPoints; + m_maxHitPoints = other.m_maxHitPoints; + m_energyPoints = other.m_energyPoints; + m_maxEnergyPoints = other.m_maxEnergyPoints; + m_level = other.m_level; + m_meleeAttackDamage = other.m_meleeAttackDamage; + m_rangedAttackDamage = other.m_rangedAttackDamage; + m_armorDamageReduction = other.m_armorDamageReduction; +} + +FragTrap::~FragTrap() +{ + std::cout << m_prefix << "Delete "<< m_name << ": your gaming references still suck" << std::endl; +} + +void FragTrap::vaulthunter_dot_exe(std::string const& target) +{ + if (m_energyPoints < 25) + { + std::cout << "FR4G-TP " << m_name << " does not have enough energy" << std::endl; + return; + } + std::string attacks[5] = { + "boum boum", + "cursed for generation", + "sit and wait for your death", + "mimic a gun with his hand and make 'piou piou' sound", + "shot you in the face" + }; + std::cout << "FR4G-TP " << m_name + << " attacks " << target + << " with " << attacks[rand() % 5] << std::endl; + m_energyPoints -= 25; +} |
