fix(ex03): never construct more than one ClapTrap when constructing DiamondTrap

This commit is contained in:
Khaïs COLIN 2025-05-28 11:17:58 +02:00
parent 812791dc77
commit a843186f5e
Signed by: logistic-bot
SSH key fingerprint: SHA256:3zI3/tx0ZpCLHCLPmEaGR4oeYCPMCzQxXhXutBmtOAU
5 changed files with 33 additions and 18 deletions

View file

@ -1,12 +1,10 @@
#include "DiamondTrap.hpp"
#include <iostream>
DiamondTrap::DiamondTrap() : FragTrap(), ScavTrap() {
const FragTrap fragtrap = FragTrap();
hit_points = fragtrap.get_hit_points();
energy_points = ScavTrap::energy_points;
attack_damage = fragtrap.get_attack_damage();
DiamondTrap::DiamondTrap() {
hit_points = FragTrap::default_hit_points;
energy_points = ScavTrap::default_energy_points;
attack_damage = FragTrap::default_attack_damage;
ClapTrap::name = name + "_clap_name";
std::cout << "DiamondTrap::DiamondTrap()" << std::endl;
@ -17,15 +15,14 @@ DiamondTrap::DiamondTrap(const DiamondTrap &other) {
hit_points = other.hit_points;
energy_points = other.energy_points;
attack_damage = other.attack_damage;
std::cout << "DiamondTrap::DiamondTrap(const DiamondTrap &other)" << std::endl;
std::cout << "DiamondTrap::DiamondTrap(const DiamondTrap &other)"
<< std::endl;
}
DiamondTrap::DiamondTrap(std::string name) : name(name) {
const FragTrap fragtrap = FragTrap(name);
hit_points = fragtrap.get_hit_points();
energy_points = ScavTrap::energy_points;
attack_damage = fragtrap.get_attack_damage();
hit_points = FragTrap::default_hit_points;
energy_points = ScavTrap::default_energy_points;
attack_damage = FragTrap::default_attack_damage;
ClapTrap::name = name + "_clap_name";
std::cout << "DiamondTrap::DiamondTrap(" << name << ")" << std::endl;