begin process at 2012 05 29 20:06:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

probleme avec le jeu de loie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec le jeu de loie

lundi 28 septembre 2009 à 22:20:55 | probleme avec le jeu de loie

edwix

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 :

#include<stdio.h>
#define caseMort 58
#define caseFin 66

void main(void)
{
long de = 0;
long cases = 0;

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);
}


if(cases == 66)
{
break;

}
else if(cases + de > caseFin)

{


cases = (caseFin - cases) + (caseFin - de);
}


}while(cases != 66);

printf("bien jouez vous avez gagner\n");

}
mardi 29 septembre 2009 à 08:18:40 | Re : probleme avec le jeu de loie

fregolo52

Membre Club

je dirais que la valeur du recul (valeur négatif) est :
(casFin - cases)

donc cases = caseFin + (caseFin - cases)

A affiner, il y a peut-etre un +/-1 à ajouter.
mardi 29 septembre 2009 à 12:31:28 | Re : probleme avec le jeu de loie

edwix

merci je vais essayer sa et je te dit si sa marche ou pas.
mardi 29 septembre 2009 à 12:37:57 | Re : probleme avec le jeu de loie

edwix

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.

une idée quelqu'un

merci de m'avoir répondu fregolo52
mardi 29 septembre 2009 à 15:41:04 | Re : probleme avec le jeu de loie

tpoinsot

Bonjour,

ta formule était bonne mais tu avais déjà validé le déplacement en début de boucle.
Reprend la logique, et évite de faire autant de scanf.

cases = 0;
do {
printf
scanf
if ( de pas ok ) {
erreur
}
else {
if ( cases + de > 66 ) {
...
}
else
cases += de;

/* déplacement terminé on teste les cases spéciales */
if ( cases == ? ) {
...
}
else if ( cases == ? ) {
...
}
}
}
thip
mardi 29 septembre 2009 à 17:34:37 | Re : probleme avec le jeu de loie

edwix

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.
mercredi 30 septembre 2009 à 17:34:11 | Re : probleme avec le jeu de loie

edwix

Et voila le travail j'ai enfin réussi lol voila pour ceux qui veulent voir comment j'ai fait j'ai un peut modifier l'analyse de tpoinsot voila :


#include<stdio.h>
#define FIN 66
#define MORT 58
#define DE_MIN 2
#define DE_MAX 12


void main (void)
{
long de = 0;
long cases = 0;

do{
printf("Ecrivez une valeur entre 2 et 12\n");
scanf("%d", &de);


while(de < DE_MIN || de > DE_MAX )
{
printf("erreur\n");
scanf("%d", &de);
}

if (cases + de > FIN)
{
cases = (FIN - cases)+(FIN - de);
printf("vous avancer de %d case et vous ete a la case %d\n", de, cases);

}
else
{
cases = cases + de;
printf("vous avancer de %d case et vous ete a la case %d\n", de, cases);
}

if(cases == FIN)
{
break ;
}

if(cases == MORT)
{
printf("oh non vous etes sur la case 58 vous retomber a la case 0");
cases = 0;
}

if(cases % 9 == 0 && cases <= 64)
{

cases = cases + 2 * de;
printf("vous etes sur une oie vous avez de la chance, vous etes a la case %d\n", cases);
}

}while(cases != FIN);
printf ("vous avez gagner\n");
}
jeudi 1 octobre 2009 à 09:11:42 | Re : probleme avec le jeu de loie

tpoinsot

Salut,

As-tu testé la case MORT ? la case 63 ?

Le test "if (cases==FIN)" est inutile mais peut-être plus pratique pour la compréhension.
Il ne restera qu'à corriger les fautes.

thip
jeudi 1 octobre 2009 à 20:45:28 | Re : probleme avec le jeu de loie

edwix

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.
vendredi 2 octobre 2009 à 14:43:04 | Re : probleme avec le jeu de loie

tpoinsot


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 )

thip

1 2

Cette discussion est classée dans : probleme, case, cases, jeu, casefin


Répondre à ce message

Sujets en rapport avec ce message

probleme.. wm_syscommand [ par Gizmoz ] J'ai un problème lorsque je crée une fenetre windows, normal sans mfc, et que je traite le msg wm_syscommand de la facon suivante:case WM_SYSCOMMAND : StringGrid, griser quelques cases... [ par xav42 ] Bonjour!!!!J'ai un Probleme... j'ai une stringgrid et je voudrai griser simplement quelque case et non toute une ligne ou une colonne comme la proprié interruption avec dev-cpp dans instruction asm() [ par mrtoufou ] J'ai un probleme avec dev-cpp. J'ai besoin de trouver la resolution avant d'acceder a la memoire video et je comptais pour cela utiliser la fonction v Jeu de Saute mouton [ par SpiritAnghell ] Bonjour. Dans le cadre d'un projet de C++ en IUT informatique, et étant débutante car hospitalisée en début de semestre, je fais appel à votre ingénio probleme avec une fonction de log [ par erazor ] bonjourvoila, mon probleme est le suivant: je suis en train de programmer un jeu de stratégie temps réel afin de me former a la prog en cpp et afin d' sudoku HELP [ par Hellboy67 ] Voila j'essaie de faire un prog qui remplie les cases d'un sudokuj'ai ma fonction candidats qui me renvoie une file contenant tout les candidats possi Difficile de résumer... aidez moi SVP [ par supergrey ] Bonjour, voila mon probleme, je réalise un jeu avec DX9 et j'ai besoin d'y inclure un systeme pour enregister des videos des phase de jeu.J'ai donc pr Menu qui bloque l'application [ par SnOOpss ] Bonjour j'ai une application directX en mode fenetré avec un menu et mon probleme c'est que si quelqu'un clique sur le menu ou affiche les options du Bloqué au début de mon algo [ par Darksnakes ] Bonjour tout le monde, je débute en C et voila mon problèmeJ'aimerais faire un programme qui pour un tableauT[0..N] (toutes les cases initialisés à 1) Probleme avec un sudoku [ par thomasvd ] Bonjour!je dois réaliser un jeu sudoku et je rencontre quelques problemes dont un qui m'embette particulierement et j'aimerais bien que quelqu'un m'or


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales