the.co
Messages postés27Date d'inscriptionmercredi 9 novembre 2011StatutMembreDernière intervention18 février 2013
-
8 déc. 2011 à 20:27
Bonjour,
Voila j'essaie en vain de déplacer mon personnage par coordonnée dans un labyrinthe.
exemple 5 cases vers la droite : d5
avec code ca ne marche pas il n'avance pas correctement la ou je lui dis d'aller (quoi que je mette comme coordonnée le 'A' se met en 1;1)je l'appel peut etre mal dans le main.c mais la je commence à péter un plomb lol !!!
si vous pouviez me dire ce qu'il ne va pas!! ou me dire comment bien appeler la fonction, que le labyrinthe se ré affiche bien avec la nouvelle position du joueur A ou du joueur B
....
Merci d'avance!!!
Je dois rendre mon programme demain j'espère que je pourrais avoir la solution avant.
bisous:)
(voici mon code)
{
if (tour == 0);
monTableau[joueurA->pos_x][joueurA->pos_y];
if (strcmp(direction, droite) == 0)
while(joueurA->pos_x != (joueurA->pos_x=z-nombre_de_cases)) //si caractère tapper = d, alors incrémentation de x
{
joueurA->pos_x++;
}
}
if (strcmp(direction, gauche) == 0)
{
while(joueurA->pos_x != (joueurA->pos_x=z-nombre_de_cases)) //si caractère tapper = g, alors décrémentation de x
{
joueurA->pos_x--;
}
}
if (strcmp(direction, haut) == 0)
{
while(joueurA->pos_y != (joueurA->pos_y=j-nombre_de_cases)) //si caractère tapper = h, alors decrémentation de y
{
joueurA->pos_y--;
}
}
if (strcmp(direction, bas) == 0)
{
while(joueurA->pos_y != (joueurA->pos_y=j+nombre_de_cases)) //si caractère tapper = b, alors incrémentation de y
{
joueurA->pos_y++;
}
}
if(*tour==1) // Si tour 1, alors joueur B donne son déplacements
{
monTableau[joueurB->pos_x][joueurB->pos_y];
if (strcmp(direction, droite) == 0)
{
while(joueurB->pos_x != (joueurB->pos_x=w+nombre_de_cases)) //pareil que pour le joueur A
{
joueurB->pos_x++;
}
}
if (strcmp(direction, gauche) == 0)
{
while(joueurB->pos_x != (joueurB->pos_x=w-nombre_de_cases))
{
joueurB->pos_x--;
}
}
if (strcmp(direction, haut) == 0)
{
while(joueurB->pos_y != (joueurB->pos_y=q-nombre_de_cases))
{
joueurB->pos_y--;
}
}
if (strcmp(direction, bas) == 0)
{
while(joueurB->pos_y != (joueurB->pos_y=q+nombre_de_cases))
{
joueurB->pos_y++;
}
return afficherLabyrinthe();
}
}
}
et dans le main.c j'appel les fonctions dont j'ai besoin pour déplacer mon personnage comme ca (j'ai mis un '++' seulement après le joueurA.pos_x car je test juste avec celui la):
deplacement (&joueurA, &joueurB, &tour, monTableau[15][15]);
joueurA.pos_x++; ; //Positionner le joueur A
joueurA.pos_y;
joueurB.pos_x; //Positionner le joueur B
joueurB.pos_y;
monTableau[joueurA.pos_x][joueurA.pos_y] = 'A';
monTableau[joueurB.pos_x][joueurB.pos_y] = 'B';
afficherLabyrinthe(monTableau);