edwix
Messages postés12Date d'inscriptionlundi 28 septembre 2009StatutMembreDernière intervention 7 janvier 2010
-
28 sept. 2009 à 22:20
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 2014
-
7 oct. 2009 à 07:59
Alors bonjour a tous le monde je vous montre le sujet que j'ais a faire en exercie un jeu de l'oi voici le sujet :
-on avance du nombre de cases indiquer par le joueur
-si on arrive juste a la case 66 le jeu est terminé sinon on recule
-une oie toutes les 9 cases sauf la case 63 et on rejoue
-une tete de mort en case 58 nous fait retomber a la case 0
voila maintenant ce que j'ai fait et ce que je n'arrive pas a faire c'est dès que je suis a la case 66 je ne recule pas mais je continue a avancer merci de m'aider car sa fait deux jours que je suis dessus merci d'avances :
printf("ecrivez la valeur du de entre 2 et 12\n");
scanf("%d",&de);
do
{
if(de >= 2 && de <= 12)
{
cases = cases + de;
printf("Vous avancer de %d case et vous ete a la case %d\n",de,cases);
scanf("%d", &de);
}
else
{
printf("ce n'est pas bon recomencez\n");
scanf("%d", &de);
}
if(cases % 9 == 0 && cases != 63)
{
printf("Relancez le de vous etes a la case %d\n", cases);
scanf("%d", &de);
}
if(cases == caseMort)
{
cases = 0;
printf("Oh non vous etes a la case %d vous recomencez tout depuis le debut\n", cases);
scanf("%d",&de);
}
edwix
Messages postés12Date d'inscriptionlundi 28 septembre 2009StatutMembreDernière intervention 7 janvier 2010 29 sept. 2009 à 12:37
sa ne marche pas ici kan j'exécute le programme modifier une fois arriver a la cases 60 je rentre une valeur comme 12 et il m'affiche que je suis a la cases 84.
edwix
Messages postés12Date d'inscriptionlundi 28 septembre 2009StatutMembreDernière intervention 7 janvier 2010 29 sept. 2009 à 17:34
Sa ma l'air bien ce que ta fais je vais tester tout sa et je te dirais si sa marche et merci du conseille pour les scanf parce moi mon plus gros défaut c'est de me compliquer toujours l'existence lol .
Juste un truc encore sa veut dire quoi thip pour savoir car c'est la première fois que je vois sa.
merci de tas réponses tpoinsot j'espère quel me sera utile.
edwix
Messages postés12Date d'inscriptionlundi 28 septembre 2009StatutMembreDernière intervention 7 janvier 2010 1 oct. 2009 à 20:45
oui j'ai tester case 58 et 63 sa marche a merveille et je suis de ton avis en réfléchissant que ma (cases == FIN) ne sert a rien mais bon ce qu'il veulent corriger sa le corrigerons heu juste on fait comment pour mettre résolu sur le forum vu que je suis nouveau je sais pas trop.
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 20144 2 oct. 2009 à 14:43
Bonjour,
Pour valider je ne sais pas, je n'ai jamais posé de question. Demande à un admin.
Je demandais si tu avais vérifié la case MORT car tu mets cases 0; Puis juste en dessous, if ( cases%9 0 ... : il n'y a pas de raison je crois de passer dans ce if.
Donc if() {...} else if ( ...
Pour la case 63, tu disais
-une oie toutes les 9 cases sauf la case 63 et on rejoue
donc, tu n'as pas tout à fait terminé.
Un dernier truc : il est préférable de mettre des parenthèses et des espaces, pour la compréhension :
if ( (cases % 9) == 0 && cases <= 64 )
edwix
Messages postés12Date d'inscriptionlundi 28 septembre 2009StatutMembreDernière intervention 7 janvier 2010 5 oct. 2009 à 12:31
Heu je me suis tromper en faite on rejoue pas mais on avance le double du dé. Dès qu'on arrive sur la case 9 par exemple est qu'on a fait 9 points avec le dé et ben on avance denouveau de 9 case.
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 20144 7 oct. 2009 à 07:59
je dis qu'il faut calculer le déplacement avant de le traiter.
donc, s'occuper des cases qui doublent la valeur du dé, puis déterminer la case d'arrivée (soit reculer si on a dépassé) puis tester les cases particulières.