aboutsummaryrefslogtreecommitdiff
path: root/cpp03/ex00/FragTrap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp03/ex00/FragTrap.cpp')
-rw-r--r--cpp03/ex00/FragTrap.cpp85
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)
+{
+
+}