#include "ScavTrap.hpp" void goAttack(ClapTrap & robot1, ClapTrap & robot2) { std::cout << "."; robot1.attack(robot2.getName()); std::cout << " "; robot2.takeDamage(robot1.getAttack()); std::cout << " "; robot2.beRepaired(robot1.getAttack()); } void goAttack(ScavTrap & robot1, ScavTrap & robot2) { std::cout << "."; robot1.attack(robot2.getName()); std::cout << " "; robot2.takeDamage(robot1.getAttack()); std::cout << " "; robot2.beRepaired(robot1.getAttack()); } void goAttack(ClapTrap & robot1, ScavTrap & robot2) { std::cout << "."; robot1.attack(robot2.getName()); std::cout << " "; robot2.takeDamage(robot1.getAttack()); std::cout << " "; robot2.beRepaired(robot1.getAttack()); } void goAttack(ScavTrap & robot1, ClapTrap & robot2) { std::cout << "."; robot1.attack(robot2.getName()); std::cout << " "; robot2.takeDamage(robot1.getAttack()); std::cout << " "; robot2.beRepaired(robot1.getAttack()); } int main() { // ClapTrap robot1("robot1"); // ScavTrap robot2("robot2"); // ScavTrap robot3("robot3"); // ClapTrap robot4("robot4"); std::cout << "assignement 1:\n"; ScavTrap robotmp1("robot5"); robotmp1.guardGate(); ClapTrap robot6(robotmp1); // PBM : it says it's a ScavTrap but it has no guardGate()... // robot6.guardGate(); goAttack(robot6, robotmp1); //std::cout << "assignement 2:\n"; // ScavTrap robotmp2("robot7"); // ScavTrap robot8(robotmp2); // robot8.guardGate(); // //std::cout << "assignement 3:\n"; // ClapTrap robotmp3("robot9"); // PBM : assignation doesn't work... //// ScavTrap robot10(robotmp3); //// robot10.guardGate(); // //std::cout << "assignement 4:\n"; // ClapTrap robotmp4("robot11"); // ClapTrap robot12(robotmp4); //// robot12.guardGate(); // // goAttack(robot1, robot2); // goAttack(robot2, robot1); // goAttack(robot1, robot3); // robot2.guardGate(); // goAttack(robot1, robot4); // goAttack(robot4, robot2); // goAttack(robot2, robot3); // goAttack(robot2, robot4); // robot3.guardGate(); // goAttack(robot3, robot1); // robot2.guardGate(); // goAttack(robot3, robot4); // goAttack(robot2, robot1); // goAttack(robot2, robot4); // goAttack(robot1, robot3); return 0; }