79 lines
1.7 KiB
C++
79 lines
1.7 KiB
C++
//
|
|
// Created by Louis Gallet on 15/01/2025.
|
|
//
|
|
|
|
#include "X215.h"
|
|
|
|
#include <iostream>
|
|
|
|
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;
|
|
}
|
|
|
|
|