Jeu de Siam en C

Messages postés
2
Date d'inscription
jeudi 27 octobre 2011
Dernière intervention
2 novembre 2011
- - Dernière réponse : BunoCS
Messages postés
14280
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
12 décembre 2018
- 2 nov. 2011 à 10:11
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.


Afficher la suite 

Votre réponse

3 réponses

Messages postés
14280
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
12 décembre 2018
0
Merci
Hello,
Pourquoi ne pas stocker les positions de chaque animal dans une structure?
typedev struct {
 char type;
 int x;
 int y;
} animal;


Dans ce cas, la fonction PousserAnimal (que je préfères à PousserPerso pour des questions de logiques) prendrait en paramètre une structure et un déplacement, non? Après, à toi de vérifier si l'animal sort du plateau...

NB: j'ai renommé ton sujet. Dis-moi si cela ne te convient pas

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
2
Date d'inscription
jeudi 27 octobre 2011
Dernière intervention
2 novembre 2011
0
Merci
merci de ta réponse Buno,
mais en fait cela revindrait à modifier tout le reste du code, qui lui fonctionne bien.
Est ce la seule solution??

Croug
Commenter la réponse de cs_croug
Messages postés
14280
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
12 décembre 2018
0
Merci
Hum...tu es contre le changement, hein...
Bon, je comprends bien ton souci mais poses-toi quand même la question de voir s'il ne serait pas plus opportun de modifier ta gestion de données.
Pour en revenir à ta question,
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

Tu as forcément dû stocker les positions de tes animaux, non? Si oui, tu peux aisémeent faire la différence. Sinon, ben...je te conseille de revoir ta gestion de données.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.