54 lines
1.4 KiB
C++
54 lines
1.4 KiB
C++
//
|
|
// Created by Louis Gallet on 15/01/2025.
|
|
//
|
|
|
|
#include "X213.h"
|
|
|
|
#include <iostream>
|
|
#include <ostream>
|
|
|
|
void X213::initialiser(std::string nom, int const direction, int const force, int const vitesse, int const vision) {
|
|
setDirection(direction);
|
|
setNom(nom);
|
|
setForce(force);
|
|
setVitesse(vitesse);
|
|
setVision(vision);
|
|
}
|
|
|
|
int X213::bloquer() const {
|
|
return (this->vitesse/3 + force);
|
|
}
|
|
|
|
void X213::mouvement(int &x, int &y) const {
|
|
int const 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 X213::superCourse(int &x, int &y) const {
|
|
int const deplacement = (vitesse + (vitesse * 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 X213::tournerLesTalons() {
|
|
switch (this->direction) {
|
|
case 0: setDirection(2); break;
|
|
case 1: setDirection(3); break;
|
|
case 2: setDirection(0); break;
|
|
case 3: setDirection(1); break;
|
|
}
|
|
}
|