J'ai un devoir à faire et j'ai besoin d'aide. Mon programme est un petit jeu des Maîtres de la Lande. En gros voici mon problème! Dans le jeu, il a deux équipes de trois joueurs. Le jeu se déroule sur une grille style jeu de dames. À chaque déplacement, le programme doit vérifier quel joueur est le plus près de celui qui vient de se déplacer. S'il est dans l'autre équipe, il peut le neutraliser à certaines conditions.
Voici la première partie de ma méthode neutraliser. Elle me permet de calculer la distance des autres joeurs sur ma grille (8X8 cases) et de mettre ces distances dans un tableau:
void Participant::neutraliser(Participant **TableauDeJoueurs)
{
int cpt;
int plusPres;
float cibles[6];
// Calculer les distances de chaques joueurs et les mettre dans cibles[]
for (cpt=0;cpt<=5;cpt++)
{
cibles[cpt]=((TableauDeJoueurs[cpt]->getPositionX()-TableauDeJoueurs[numeroDuJoueur]->getPositionX(),2)+(TableauDeJoueurs[cpt]->getPositionY()-TableauDeJoueurs[numeroDuJoueur]->getPositionY(),2));
}
Maintenant j'ai besion de votre aide, il faut par la suite que je vérifie le joueur adversaire le plus près du joueur qui vient de se dépalcer et ce à partir du taleau cibles.....
Une fois que j'ai trouvé le joueur adversaire le plus près de celui qui vient de se dépalcer, je dois neutraliser le joueur selon les critères suivants:
Les critères que je dois respecter sont:
Si votre joeur est sur la même case que l'adversaire: 100% de chance de l'éliminer.
S'il est à moins de 3 cases: 70% de chance.
S'il est à plus de 3 cases: 50 % de chance
J'aimerais avoir de l'aide s.v.p, je suis mêlée....