Files
42_INT_09_piscine_cpp/d03/ex01/main.cpp
2022-02-20 19:42:37 +01:00

93 lines
2.0 KiB
C++

#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();
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;
}