Test/LAB3_BRULEZ_HUGUET_SERRE/X-BOTS/Arene.h
2022-03-03 15:44:04 +01:00

57 lines
No EOL
1.2 KiB
C++

#pragma once
#include "XBOT.h"
#include "Hasard.h"
class Arene
{
public:
static constexpr int TAILLE = 10;
static constexpr int NOMBRE_XBOT = 10;
Arene();
Arene(const Arene& arene) = delete;
~Arene();
void setEquipes(XBOT** equipeA, XBOT** equipeB);
void debuterCombat();
private:
static constexpr int EQUIPE_A = 0;
static constexpr int EQUIPE_B = 1;
class Combattant
{
public:
Combattant(XBOT* xbot, int x, int y, char id)
{
this->xbot = xbot;
this->x = x;
this->y = y;
this->id = id;
}
int x;
int y;
char id;
XBOT* xbot;
friend ostream& operator<<(ostream& os, const Combattant& combattant)
{
os << "{id:" << combattant.id << "/x:" << combattant.x << "/y:" << combattant.y
<< "/xbot:" << combattant.xbot->toStringg() << "}";
return os;
}
};
Combattant*** combattants;
Hasard hasard;
bool minimumFonctionnel(Combattant** equipe) const;
void tourCombat(Combattant** attaquants, Combattant** defenseurs);
int getVivant(Combattant** equipe, int moi) const;
void setCoordonneesAleatoire(int& x, int& y);
bool verifierDisponibiliteCoordonnees(int x, int y) const;
void afficherCombattants() const;
friend ostream& operator<<(ostream& os, const Arene& arene);
};