Bonjour,
je dois programmer un jeu et je bloque sur un point.
Ce jeu se déroule sur un plateau et certains pions peuvent en pousser d'autres.
j'ai déjà programmé le déplacement simple de ces pions.
en français c'est clair :
lorsque le joueur tape des coordonnées qui sont celles d'un pion déjà à ces coordonnées sur le plateau, le pion doit prendre la place de ce dernier et selon la direction choisie pour ce pion, on doit effectuer une translation.
void PousserPerso(char *c1, int *f1, char tab1[5][5])
{
//f1 et c1 nouvelles coordonnées, animal déjà sur le plateau et c et f sont les coordonneés faichement saisies par l'utilisateur
char direction;
if ((c=c1)&&(f=f1))
{
//on remplace les coordonnées de l'animal poussée par celui qui pousse
printf("Votre animal a pousse un autre animal\n")
tab1[c][f]='E' //si c'était à l'éléphant de jouer
tab2[c][f]='R' //sinon ... (je pense qu'il faudra changer selon l'endroit où ce sera placé!)
switch(direction)
{
case'b': //descendre
*c1=*c1+1;
c=*c1+1;
break;
case'h': //monter
*c1=*c1-1;
c=*c1-1;
break;
case'g': //à gauche
*f1=*f1-1;
f=*f1-1;
break;
case'd'://à droite
*f1=*f1+1;
f=*f1+1;
break;
default: printf("Attention débordement !!");
}
}
}
mon problème c'est que je ne sais pas comment différencier les coordonnée de l'animal déjà sur le plateau et celles qui seront saisies par l'utilisateur (en sachant qu'elles doivent etre les même pour appliquer la pousser!)
merci,
en espérant que vous pourriez m'aider.
<config>Mac OS X / Safari 533.22.3</config>