d03 ex01 inheritence ok, avec ref a parent constructor

This commit is contained in:
Hugo LAMY
2022-02-18 13:22:58 +01:00
parent 8cbff6a7c5
commit 787336b06d
5 changed files with 98 additions and 77 deletions

View File

@@ -1,53 +1,56 @@
#include "ScavTrap.hpp"
void goAttack(ClapTrap & robot1, ClapTrap & robot2) {
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
}
void goAttack(ScavTrap & robot1, ScavTrap & robot2) {
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
}
void goAttack(ClapTrap & robot1, ScavTrap & robot2) {
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
}
void goAttack(ScavTrap & robot1, ClapTrap & robot2) {
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
}
int main() {
ClapTrap robot1("robot1");
ScavTrap robot2("robot2");
ScavTrap robot3("robot3");
ClapTrap robot4("robot4");
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
robot2.attack(robot1.getName());
robot1.takeDamage(robot2.getAttack());
robot1.beRepaired(robot2.getAttack());
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
robot2.attack(robot1.getName());
robot1.takeDamage(robot2.getAttack());
robot1.beRepaired(robot2.getAttack());
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
robot2.attack(robot1.getName());
robot1.takeDamage(robot2.getAttack());
robot1.beRepaired(robot2.getAttack());
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
robot2.attack(robot1.getName());
robot1.takeDamage(robot2.getAttack());
robot1.beRepaired(robot2.getAttack());
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
robot2.attack(robot1.getName());
robot1.takeDamage(robot2.getAttack());
robot1.beRepaired(robot2.getAttack());
robot1.attack(robot2.getName());
robot2.takeDamage(robot1.getAttack());
robot2.beRepaired(robot1.getAttack());
goAttack(robot1, robot2);
goAttack(robot2, robot1);
goAttack(robot1, robot3);
goAttack(robot1, robot4);
goAttack(robot4, robot2);
goAttack(robot2, robot3);
goAttack(robot2, robot4);
goAttack(robot3, robot1);
goAttack(robot3, robot4);
goAttack(robot2, robot1);
goAttack(robot2, robot4);
goAttack(robot1, robot3);
return 0;
}