77 lines
1.7 KiB
C++
77 lines
1.7 KiB
C++
//
|
|
// Created by jser on 09/12/2021.
|
|
//
|
|
|
|
#include "R234Adapter.h"
|
|
|
|
|
|
|
|
R234Adapter::~R234Adapter() {
|
|
Compteur::ajouterDestructeur();
|
|
delete(r234);
|
|
}
|
|
|
|
R234Adapter::R234Adapter() {
|
|
Compteur::ajouterConstructeur();
|
|
r234 = new R234;
|
|
pdv = 30;
|
|
}
|
|
|
|
R234Adapter::R234Adapter(const R234Adapter &r234adapter) {
|
|
Compteur::ajouterConstructeurCopie();
|
|
r234 = new R234(*r234adapter.r234);
|
|
pdv = r234adapter.pdv;
|
|
}
|
|
|
|
void R234Adapter::bouger(int xAmi, int yAmi, int &x, int &y, int xEnnemi, int yEnnemi) {
|
|
srand(time(NULL));
|
|
int xs = x; //sauvegardes des coordonnées
|
|
int ys = y;
|
|
int nbm = 0;
|
|
int choix = rand()%2;
|
|
if (!estFonctionnel()){}
|
|
else {
|
|
while (x==xs && y==ys && nbm <=4){
|
|
choix = rand()%2;
|
|
r234->doMove(x, y);
|
|
if (x==xs && y==ys){if (choix == 1){r234->doRotateLeft();} else {r234->doRotateRight();}}
|
|
nbm++;
|
|
}
|
|
int deg = rand()%5;
|
|
pdv = pdv-deg;
|
|
}
|
|
}
|
|
|
|
int R234Adapter::attaquer(int x, int y, int xEnnemi, int yEnnemi) {
|
|
// r234->doAttack();
|
|
return 0;
|
|
}
|
|
|
|
void R234Adapter::defendre(int degat) {
|
|
r234->doProtect(degat);
|
|
}
|
|
|
|
bool R234Adapter::estFonctionnel() {
|
|
return pdv >0;
|
|
}
|
|
|
|
string R234Adapter::toStringg() {
|
|
string robot;
|
|
robot = "direction : " + to_string(r234->getDirection()) +" " + " portee : " + to_string(r234->getRange()) + " " + "vitesse : " +
|
|
to_string(r234->getSpeed()) + " " + "force : " + to_string(r234->getStrength());
|
|
return robot;
|
|
}
|
|
|
|
R234Adapter::R234Adapter(R234 *r234) {
|
|
Compteur::ajouterConstructeur();
|
|
this->r234=r234;
|
|
pdv = 30;
|
|
}
|
|
|
|
int R234Adapter::getPdv() const {
|
|
return pdv;
|
|
}
|
|
|
|
void R234Adapter::setPdv(int pdv) {
|
|
R234Adapter::pdv = pdv;
|
|
}
|