// // Created by Louis Gallet on 15/01/2025. // #include "X215.h" #include void X215::initialiser(std::string nom, int direction, int force, int vitesse, int vision) { setNom(nom); setDirection(direction); setForce(force); setVitesse(vitesse); setVision(vision); this->rageCombat = false; } int X215::bloquer() const { if (this->rageCombat) { return force*3; } else { return (vitesse/3) + force; } } void X215::mouvement(int &x, int &y) const { int deplacement = vitesse + 1; switch (this->direction) { case 0: x -= deplacement; break; case 1: y += deplacement; break; case 2: x += deplacement; break; case 3: y -= deplacement; break; } x = std::max(std::min(x, 9), 0); y = std::max(std::min(y, 9), 0); } void X215::superCourse(int &x, int &y) const { int deplacement; if (this->rageCombat) { deplacement = vitesse + 1; } else { deplacement = (this->vitesse + (this->vitesse * this->force/10)); } switch (this->direction) { case 0: x -= deplacement; break; case 1: y += deplacement; break; case 2: x += deplacement; break; case 3: y -= deplacement; break; } x = std::max(std::min(x, 9), 0); y = std::max(std::min(y, 9), 0); } void X215::esquive(int &x, int &y, int xDanger, int yDanger) { } void X215::tournerLesTalons() { switch (this->direction) { case 0: setDirection(2); break; case 1: setDirection(3); break; case 2: setDirection(0); break; case 3: setDirection(1); break; } } void X215::exploserRage() { this->rageCombat = true; } void X215::controlerRage() { this->rageCombat = false; }