DEANETEHEI
Messages postés7Date d'inscriptionvendredi 20 février 2015StatutMembreDernière intervention 3 mars 2015
-
26 févr. 2015 à 23:52
Bonjour les connectés,
Est que quelqu'un pourrai me donner un petit renseignement ou un petit coup de pouce sur cette partie de code que je viens de poster est correct?
Cela consiste à faire le déplacement de mon bonhomme dans un labyrinthe etant donné que j'ai déjà construit le terrain qui va accueillir le bonhomme .
S'il vous plaît, pour l'attention que vous porterez à mon petit code merci.
void Aleatoire(int Laby[HauteurLab][LargeurLab])
{
int Mx,My,xM,yM;
int verif1=0,verif2=0;
int Personaleatoir,Prx,Pry; // le personnage et ses cordonnées dans le labyrinthe
const int MinP=2,MaxP=4; // les personnages
const int MaxX=HauteurLab-2,MaxY=LargeurLab-2; // bornes du labyrinthe
const int MinX=1,MinY=1; // la première et la dernière ligne et colonne sont occupées par les murs
srand(time(NULL)); // initialisation de rand
for(x=1;x<4;x++) // pour effectuer l'opération trois fois afin de positionner les trois personnages
{
do
{
Personaleatoir=( rand() % (MaxP-MinP+1))+MinP; // pour tirer un personnage au hasard
}
while(Personaleatoir==verif1||Personaleatoir==verif2); // pour ne pas tirer le personnage une deuxième fois
do
{
Prx=( rand() % (MaxX-MinX+1))+MinX; // pour tirer une position sur ligne au hasard
Pry=( rand() % (MaxY-MinY+1))+MinY; // pour tirer une position sur colonne au hasard
}
while(Laby[Prx][Pry]!=0); // pour ne pas écraser les autres personnages ni les murs
Laby[Prx][Pry]=Personaleatoir; // pour positionner le personnage tiré au hasard dans une position tirée au hasard aussi
if(Personaleatoir==2)
{
Mx=Prx; // cordonnées du Minotaure
My=Pry;
}
verif2=verif1; // permutation sert à vérifier si un personnage et déjà positionné
verif1=Personaleatoir;
}
while(1) // Boucle infinie où on attend l'action sur une des touches de déplacement
{
if(kbhit())
{
touche=getch();
if(touche == 72)
{
PositionneCurseur(xM,yM);
printf(" ");
y--;
}
if(touche == 80)
{
PositionneCurseur(xM,yM);
printf(" ");
y++;
}
if(touche == 75)
{
PositionneCurseur(xM,yM);
printf(" ");
x--;
}
if(touche == 77)
{
PositionneCurseur(xM,yM);
printf(" ");
x++;
}
if(touche == 13) break;
}
}
A_Laby(LabJeu);
}