/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ClapTrap.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/12/30 13:53:03 by fgras-ca #+# #+# */ /* Updated: 2023/12/30 23:59:57 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef CLAPTRAP_HPP #define CLAPTRAP_HPP #include #include #define RESET "\033[0m" #define BLACK "\033[30m" #define RED "\033[31m" #define GREEN "\033[32m" #define YELLOW "\033[33m" #define BLUE "\033[34m" #define MAGENTA "\033[35m" #define CYAN "\033[36m" #define WHITE "\033[37m" class ClapTrap { protected: std::string Name; unsigned int HitPoints; unsigned int EnergyPoints; unsigned int AttackDamage; public: ClapTrap(); ClapTrap(std::string name); ClapTrap(const ClapTrap ©); ClapTrap & operator = (const ClapTrap &operator_aff); ~ClapTrap(); void attack(const std::string& target); void takeDamage(unsigned int amount); void beRepaired(unsigned int amount); void setHitPoints(int points); void setEnergypoints(int points); void setAttackDamage(int points); std::string getName() const; unsigned int getHitPoints() const; unsigned int getEnergyPoints() const; unsigned int getAttackDamage() const; void printStats() const; }; #endif