Files
42_INT_09_piscine_cpp/d03/ex01/main.cpp
2022-02-22 15:18:39 +01:00

94 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");
robot2.guardGate();
ScavTrap robot3("robot3");
ClapTrap robot4("robot4");
std::cout << "\nassignement 1 (ClapTrap(ScavTrap)):\n";
ClapTrap robot5(robot2);
// robot5.guardGate();
goAttack(robot5, robot2);
std::cout << "\nassignement 2 (ScavTrap(ScavTrap)):\n";
ScavTrap robot6(robot2);
robot6.guardGate();
goAttack(robot6, robot2);
robot2.takeDamage(robot6.getAttack());
robot6 = robot6;
goAttack(robot6, robot2);
std::cout << "\nassignement 3 (ScavTrap(ClapTrap)):\n";
// ScavTrap robot7(robot1);
std::cout << "\nassignement 4 (ClapTrap(ClapTrap)):\n";
ClapTrap robot7(robot1);
goAttack(robot7, robot1);
std::cout << "\nwar:\n";
// 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;
}