Files
cpp03/ex01/main.cpp
T
2026-09-06 18:54:24 +02:00

61 lines
2.1 KiB
C++

#include "ScavTrap.hpp"
int main() {
std::cout << "\033[1;36m### TESTING CLAPTRAP ###\033[0m\n" << std::endl;
{
// Construction ClapTrap
std::cout << "\033[1;33m--- ClapTrap Construction ---\033[0m" << std::endl;
ClapTrap defaultBot;
ClapTrap namedBot("R2D2");
ClapTrap copiedBot(namedBot);
// Tests basiques ClapTrap
std::cout << "\n\033[1;33m--- ClapTrap Basic Tests ---\033[0m" << std::endl;
namedBot.attack("Enemy");
namedBot.takeDamage(3);
namedBot.beRepaired(2);
std::cout << "\n\033[1;33m--- ClapTrap Destruction ---\033[0m" << std::endl;
}
std::cout << "\n\033[1;35m### TESTING SCAVTRAP ###\033[0m\n" << std::endl;
{
// Construction ScavTrap
std::cout << "\033[1;33m--- ScavTrap Construction ---\033[0m" << std::endl;
ScavTrap defaultScav;
ScavTrap namedScav("R3D3");
ScavTrap copiedScav(namedScav);
// Tests basiques ScavTrap
std::cout << "\n\033[1;33m--- ScavTrap Basic Tests ---\033[0m" << std::endl;
namedScav.attack("Bandit");
namedScav.takeDamage(20);
namedScav.beRepaired(15);
// Test capacité spéciale
std::cout << "\n\033[1;33m--- ScavTrap Special Ability ---\033[0m" << std::endl;
namedScav.guardGate();
defaultScav.guardGate();
// Test énergie (50 points pour ScavTrap)
std::cout << "\n\033[1;33m--- ScavTrap Energy Test ---\033[0m" << std::endl;
ScavTrap energyScav("EnergyBot");
for (int i = 0; i < 52; i++) {
energyScav.attack("practice_target");
}
// Test mort
std::cout << "\n\033[1;33m--- ScavTrap Death Test ---\033[0m" << std::endl;
ScavTrap deadScav("DeadScav");
deadScav.takeDamage(150); // >100 HP
deadScav.attack("ghost"); // fails
deadScav.guardGate(); // Should still work when dead
std::cout << "\n\033[1;33m--- ScavTrap Destruction ---\033[0m" << std::endl;
}
std::cout << "\n\033[1;32m### ALL TESTS COMPLETED ###\033[0m" << std::endl;
return 0;
}