X-BOT/X212.h
2025-02-04 20:53:52 -05:00

90 lines
1.8 KiB
C++

//
// Created by Louis Gallet on 15/01/2025.
//
#ifndef X212_H
#define X212_H
#include <string>
#include "Compteur.h"
class X212 {
private:
std::string nom;
int direction;
int force;
int vitesse;
int vision;
public:
X212(std::string nom, int const direction, int const force, int const vitesse, int const vision) {
initialiser(nom, direction, force, vitesse, vision);
Compteur::ajouterConstructeur();
}
X212(const X212 &x212) {
initialiser(x212.nom, x212.direction, x212.force, x212.vitesse, x212.vision);
Compteur::ajouterConstructeurCopie();
}
~X212() {
Compteur::ajouterDestructeur();
}
void initialiser(std::string nom, int direction, int force, int vitesse, int vision);
int bloquer() const;
void mouvement(int& x, int& y) const;
void superCourse(int& x, int& y) const;
void esquive(int& x, int& y, int xDanger, int yDanger);
std::string getNom() {
return this->nom;
}
int getDirection() const {
return this->direction;
}
int getForce() const {
return this->force;
}
int getVitesse() const {
return this->vitesse;
}
int getVision() const {
return this->vision;
}
void setNom(std::string nom) {
this->nom = nom;
}
void setDirection(int direction) {
if (direction < 0) {
this->direction = 0;
}
else if (direction > 3) {
this->direction = 3;
} else {
this->direction = direction;
}
}
void setForce(int force) {
this->force = force;
}
void setVitesse(int vitesse) {
this->vitesse = vitesse;
}
void setVision(int vision) {
this->vision = vision;
}
};
#endif //X212_H