Problème avec un programme de combat style RPG [URGENT]

Résolu
john_cc Messages postés 10 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 10 janvier 2006 - 7 janv. 2006 à 12:38
john_cc Messages postés 10 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 10 janvier 2006 - 8 janv. 2006 à 02:01
Bonjour,

Je débute en C, c'est un de mes premiers codes.
Je suis en train d'écrire un simulation de combat RPG en C, joueur contre IA.
J'ai le bogue suivant : au 1er tour tout se déroule bien mais après dès le second tour, l'IA ne joue pas car la fonction compchoix() ne se lance pas correctement, ce qui doit être affiché clignote.
J'ai relu plusieurs fois mon code. Je ne comprends d'où vient le problème. J'ai l'impression que la variable compfinished qui indique que l'IA peut jouer que si elle est = à 0 se met à 1 par erreur, mais je ne comprends pas pourquoi.
D'autre code, mon code est assez long et j'aimerai savoir si il y aurait un moyen de l'optimiser.

Merci de m'aider

Voici mon code :

/*Programme d'un combat de RPG. Ce programme vous permet de vous battre comme
dans un rpg dans un jeu video. */

#include <stdio.h> /*Inclut les librairies*/
#include <stdlib.h>
#include <time.h>


/*Variables*/


int human_hp1 = 25; /*Ici, c'est les variables qui serviront tout le long du proogramme*/
int comp_hp1 = 25;
int human_pa1;
int comp_pa1;
int human_hp2 = 25; /*Ici, c'est les variables qui serviront tout le long du proogramme*/
int comp_hp2 = 25;
int human_pa2;
int comp_pa2;
int human_hp3 = 25; /*Ici, c'est les variables qui serviront tout le long du proogramme*/
int comp_hp3 = 25;
int human_pa3;
int comp_pa3;
int human_hp4 = 25; /*Ici, c'est les variables qui serviront tout le long du proogramme*/
int comp_hp4 = 25;
int human_pa4;
int comp_pa4;
int human_hp5 = 25; /*Ici, c'est les variables qui serviront tout le long du proogramme*/
int comp_hp5 = 25;
int human_pa5;
int comp_pa5;
int humanfinished=0;
int compfinished=0;



/*Declarations*/


/*Fonction energie*/
void energie()/*La fonction energie, un tableau pour donner un apercu au joueur*/
{
system("cls");/*Efface l'écran*/
puts("*********************************");/*J'ai dessiné le tableau ici pour vous permettre de voir les STATS*/
printf("Vos HP (points de vie): %d\n", human_hp1);
puts("----------------------------");
printf("HP (points de vie) de l'ennemi: %d\n",comp_hp1);
puts("********************************");
printf("\n");
}


/*Fonction choix de l'ordinateur*/
void compchoix()
{
int choixperso;
int nb_alea_choix;


printf("Choisissez un personnage-IA\n\n");
printf(" (1) perso 1\n\n");
printf(" (2) perso 2\n\n");
printf(" (3) perso 3\n\n");
printf(" (4) perso 4\n\n");
printf(" (5) perso 5\n\n");




if (compfinished == 1)
{
int humanfinished = 0;

main();

}

srand (time (NULL));/*hoho, ici c'est le systeme aleatoire*/
nb_alea_choix = 1+rand()%5;
switch(nb_alea_choix)/*On fait un switch pour choisir le personnage a utiliser*/
{
case 1:/*case #1*/
printf("Vous avez choisi le perso " "%d\n", nb_alea_choix);
system("PAUSE");
{

compfinished = 1;
comp1();
system("PAUSE");
}
break;

case 2:/*case #2*/
printf("Vous avez choisi le perso " "%d\n", nb_alea_choix);
system("PAUSE");
{
compfinished = 1;
comp2();
system("PAUSE");
}
break;

case 3:/*case #3*/
printf("Vous avez choisi le perso " "%d\n", nb_alea_choix);
system("PAUSE");
{
compfinished = 1;
comp3();
system("PAUSE");
}
break;

case 4:/*case #4*/
printf("Vous avez choisi le perso " "%d\n", nb_alea_choix);
system("PAUSE");
{
compfinished = 1;
comp4();
system("PAUSE");
}
break;
case 5:/*case #5*/
printf("Vous avez choisi le perso " "%d\n", nb_alea_choix);
system("PAUSE");
{
compfinished = 1;
comp5();
system("PAUSE");
}
break;


}
}


/* Fonction choix humain*/


void choix()
{
system("cls");
int choixperso;



printf("Choisissez un personnage\n\n");
printf(" (1) perso 1\n\n");
printf(" (2) perso 2\n\n");
printf(" (3) perso 3\n\n");
printf(" (4) perso 4\n\n");
printf(" (5) perso 5\n\n");
printf(" (6) Passer votre tour\n\n");


system("Pause");
if (humanfinished == 1)
{
int compfinished = 0;

compchoix();

}

printf("choix : ?");
scanf("%d", &choixperso);


switch(choixperso)/*On fait un switch pour choisir le personnage a utiliser*/
{
case 1:/*case #1*/

printf("Vous avez choisi le perso " "%d\n", choixperso);
system("PAUSE");
{
humanfinished = 1;
human1();
system("PAUSE");
}

break;

case 2:/*case #2*/

printf("Vous avez choisi le perso " "%d\n", choixperso);
system("PAUSE");
{
humanfinished = 1;
human2();
system("PAUSE");
}

break;

case 3:/*case #3*/

printf("Vous avez choisi le perso " "%d\n", choixperso);
system("PAUSE");
{
humanfinished = 1;
human3();
system("PAUSE");
}

break;

case 4:/*case #4*/

printf("Vous avez choisi le perso " "%d\n", choixperso);
system("PAUSE");
{
humanfinished = 1;
human4();
system("PAUSE");
}
break;
case 5:/*case #5*/

printf("Vous avez choisi le perso " "%d\n", choixperso);
system("PAUSE");
{
humanfinished = 1;
human5();
system("PAUSE");
}



break;
case 6:/*case #5*/

{
humanfinished = 1;
int compfinished = 0;
puts("hehe2");
compchoix();
}
break;

}
}

/*La fonction de l'ordinateur, c'est ici que tous les coups d l'ordinateur seront choisis*/


int comp1()/*Fonction jeu du personnage 1 de l'ordinateur*/
{
int nb_alea_s;/*Encore des variables*/
int nb_alea;

energie();

srand (time (NULL));/*hoho, ici c'est le systeme aleatoire*/
nb_alea = 0+rand()%6;
nb_alea_s = 1+rand()%2;/*Mise en memoire aleatoire*/
switch(nb_alea_s)/*On fais un switch pour determiner ce que fera votre adversaire*/
{
case 1:/*case #1*/
puts("Vous vous faites frapper d'un violent coup d'epee !");
system("PAUSE");
printf("Vous perdez %d HP !\n", nb_alea);
system("PAUSE");

human_hp1 = human_hp1 - nb_alea;
if (nb_alea == 0)/*un IF tres utile :P*/
{
puts("Votre ennemi vous rate!!!");
system("PAUSE");
}
break;

case 2:/*case #2*/
puts("L'ennemi deci d'invoquer ENERGIE sur lui!");
system("PAUSE");
puts("Votre ennemi recupere 4 de VIE !!!");
comp_hp1 = comp_hp1 + 4;
comp_pa1 = comp_pa1 - 7;
system("PAUSE");

break;

default:/*Le DEFAULT du switch*/
puts("Votre ennemi vous frappe d'un coup d'epee!");
printf("Vous perdez %d de VIE !\n", nb_alea);
human_hp1 = human_hp1 - nb_alea;
system("PAUSE");
break;
}

if (comp_hp1 > 25)
{
puts("HP plein...");
comp_hp1 = 25;
system("PAUSE");
}
if (comp_hp1 <= 0)
{
puts("VoUs AveZ BaTtU LEnNeMi!");/*La fin du jeu :P*/
comp_hp1 = 0;
system("PAUSE");
return 0;/*Aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*Dommage vous n'etes pas asser fort :P*/
human_hp1 = 0;
system("PAUSE");
return 0;/*Reour au chariot*/
}
system("cls");
compfinished = 1;
compchoix();/*Héhé on va a la fonction human*/

}
int comp2()/*Fonction jeu du personnage 2 de l'ordinateur*/
{
int nb_alea_s;/*Encore des variables*/
int nb_alea;

energie();

srand (time (NULL));/*hoho, ici c'est le systeme aleatoire*/
nb_alea = 0+rand()%6;
nb_alea_s = 1+rand()%2;/*Mise en memoire aleatoire*/
switch(nb_alea_s)/*On fais un switch pour determiner ce que fera votre adversaire*/
{
case 1:/*case #1*/
puts("Vous vous faites frapper d'un violent coup d'epee !");
system("PAUSE");
printf("Vous perdez %d HP !\n", nb_alea);
system("PAUSE");

human_hp1 = human_hp1 - nb_alea;
if (nb_alea == 0)/*un IF tres utile :P*/
{
puts("Votre ennemi vous rate!!!");
system("PAUSE");
}
break;

case 2:/*case #2*/
puts("L'ennemi deci d'invoquer ENERGIE sur lui!");
system("PAUSE");
puts("Votre ennemi recupere 4 de VIE !!!");
comp_hp1 = comp_hp1 + 4;
comp_pa1 = comp_pa1 - 7;
system("PAUSE");

break;

default:/*Le DEFAULT du switch*/
puts("Votre ennemi vous frappe d'un coup d'epee!");
printf("Vous perdez %d de VIE !\n", nb_alea);
human_hp1 = human_hp1 - nb_alea;
system("PAUSE");
break;
}

if (comp_hp1 > 25)
{
puts("HP plein...");
comp_hp1 = 25;
system("PAUSE");
}
if (comp_hp1 <= 0)
{
puts("VoUs AveZ BaTtU LEnNeMi!");/*La fin du jeu :P*/
comp_hp1 = 0;
system("PAUSE");
return 0;/*Aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*Dommage vous n'etes pas asser fort :P*/
human_hp1 = 0;
system("PAUSE");
return 0;/*Reour au chariot*/
}
system("cls");
compfinished = 1;
compchoix();/*Héhé on va a la fonction human*/

}
int comp3()/*Fonction jeu du personnage 3 de l'ordinateur*/
{
int nb_alea_s;/*Encore des variables*/
int nb_alea;

energie();

srand (time (NULL));/*hoho, ici c'est le systeme aleatoire*/
nb_alea = 0+rand()%6;
nb_alea_s = 1+rand()%2;/*Mise en memoire aleatoire*/
switch(nb_alea_s)/*On fais un switch pour determiner ce que fera votre adversaire*/
{
case 1:/*case #1*/
puts("Vous vous faites frapper d'un violent coup d'epee !");
system("PAUSE");
printf("Vous perdez %d HP !\n", nb_alea);
system("PAUSE");

human_hp1 = human_hp1 - nb_alea;
if (nb_alea == 0)/*un IF tres utile :P*/
{
puts("Votre ennemi vous rate!!!");
system("PAUSE");
}
break;

case 2:/*case #2*/
puts("L'ennemi deci d'invoquer ENERGIE sur lui!");
system("PAUSE");
puts("Votre ennemi recupere 4 de VIE !!!");
comp_hp1 = comp_hp1 + 4;
comp_pa1 = comp_pa1 - 7;
system("PAUSE");

break;

default:/*Le DEFAULT du switch*/
puts("Votre ennemi vous frappe d'un coup d'epee!");
printf("Vous perdez %d de VIE !\n", nb_alea);
human_hp1 = human_hp1 - nb_alea;
system("PAUSE");
break;
}

if (comp_hp1 > 25)
{
puts("HP plein...");
comp_hp1 = 25;
system("PAUSE");
}
if (comp_hp1 <= 0)
{
puts("VoUs AveZ BaTtU LEnNeMi!");/*La fin du jeu :P*/
comp_hp1 = 0;
system("PAUSE");
return 0;/*Aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*Dommage vous n'etes pas asser fort :P*/
human_hp1 = 0;
system("PAUSE");
return 0;/*Reour au chariot*/
}
system("cls");
compfinished = 1;
compchoix();/*Héhé on va a la fonction human*/

}
int comp4()/*Fonction jeu du personnage 4 de l'ordinateur*/
{
int nb_alea_s;/*Encore des variables*/
int nb_alea;

energie();

srand (time (NULL));/*hoho, ici c'est le systeme aleatoire*/
nb_alea = 0+rand()%6;
nb_alea_s = 1+rand()%2;/*Mise en memoire aleatoire*/
switch(nb_alea_s)/*On fais un switch pour determiner ce que fera votre adversaire*/
{
case 1:/*case #1*/
puts("Vous vous faites frapper d'un violent coup d'epee !");
system("PAUSE");
printf("Vous perdez %d HP !\n", nb_alea);
system("PAUSE");

human_hp1 = human_hp1 - nb_alea;
if (nb_alea == 0)/*un IF tres utile :P*/
{
puts("Votre ennemi vous rate!!!");
system("PAUSE");
}
break;

case 2:/*case #2*/
puts("L'ennemi deci d'invoquer ENERGIE sur lui!");
system("PAUSE");
puts("Votre ennemi recupere 4 de VIE !!!");
comp_hp1 = comp_hp1 + 4;
comp_pa1 = comp_pa1 - 7;
system("PAUSE");

break;

default:/*Le DEFAULT du switch*/
puts("Votre ennemi vous frappe d'un coup d'epee!");
printf("Vous perdez %d de VIE !\n", nb_alea);
human_hp1 = human_hp1 - nb_alea;
system("PAUSE");
break;
}

if (comp_hp1 > 25)
{
puts("HP plein...");
comp_hp1 = 25;
system("PAUSE");
}
if (comp_hp1 <= 0)
{
puts("VoUs AveZ BaTtU LEnNeMi!");/*La fin du jeu :P*/
comp_hp1 = 0;
system("PAUSE");
return 0;/*Aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*Dommage vous n'etes pas asser fort :P*/
human_hp1 = 0;
system("PAUSE");
return 0;/*Reour au chariot*/
}
system("cls");
compfinished = 1;
compchoix();/*Héhé on va a la fonction human*/

}
int comp5()/*Fonction jeu du personnage 5 de l'ordinateur*/
{
int nb_alea_s;/*Encore des variables*/
int nb_alea;

energie();

srand (time (NULL));/*hoho, ici c'est le systeme aleatoire*/
nb_alea = 0+rand()%6;
nb_alea_s = 1+rand()%2;/*Mise en memoire aleatoire*/
switch(nb_alea_s)/*On fais un switch pour determiner ce que fera votre adversaire*/
{
case 1:/*case #1*/
puts("Vous vous faites frapper d'un violent coup d'epee !");
system("PAUSE");
printf("Vous perdez %d HP !\n", nb_alea);
system("PAUSE");

human_hp1 = human_hp1 - nb_alea;
if (nb_alea == 0)/*un IF tres utile :P*/
{
puts("Votre ennemi vous rate!!!");
system("PAUSE");
}
break;

case 2:/*case #2*/
puts("L'ennemi deci d'invoquer ENERGIE sur lui!");
system("PAUSE");
puts("Votre ennemi recupere 4 de VIE !!!");
comp_hp1 = comp_hp1 + 4;
comp_pa1 = comp_pa1 - 7;
system("PAUSE");

break;

default:/*Le DEFAULT du switch*/
puts("Votre ennemi vous frappe d'un coup d'epee!");
printf("Vous perdez %d de VIE !\n", nb_alea);
human_hp1 = human_hp1 - nb_alea;
system("PAUSE");
break;
}

if (comp_hp1 > 25)
{
puts("HP plein...");
comp_hp1 = 25;
system("PAUSE");
}
if (comp_hp1 <= 0)
{
puts("VoUs AveZ BaTtU LEnNeMi!");/*La fin du jeu :P*/
comp_hp1 = 0;
system("PAUSE");
return 0;/*Aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*Dommage vous n'etes pas asser fort :P*/
human_hp1 = 0;
system("PAUSE");
return 0;/*Reour au chariot*/
}
system("cls");
compfinished = 1;
compchoix();/*Héhé on va a la fonction human*/

}






/*ici c'est ici que l'on joue*/
int human1()/*Fonction jeu du personnage 1 du joueur*/
{
int select;/*Variable pour la fonction human*/
int nb_alea;

energie();/*Le tableau principale*/
srand (time (NULL));
nb_alea = 0+rand()%6;/*Mise en memoire aleatoire*/
puts("1 = Sword kick (1-6)");
puts("2 = Healing (+4 HP, -7 MP)");
printf("EnTrEz VoTrE ChOix...:\n");
scanf("%d",&select);/*Variable select en memoire*/
switch(select)/*Encore un switch comme dan sla fonction précédente*/
{
case 1 :/*case #1*/
puts("Vous frapper d'un coup d'epee!");
system("PAUSE");
printf("Votre ennemy perd %d points de HP !\n", nb_alea);
system("PAUSE");

comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;


case 2 :
{
puts("HP plein...");
system("PAUSE");
human_hp1 = 25;
break;
}
if (human_hp1 > 25)
{
puts("HP plein...");
system("PAUSE");
human_hp1 = 25;
break;
}
puts("Vous vous redonner de l ENERGIE!");
system("PAUSE");/*reour au chariot*/


puts("Vous gagne 4 de HP");
system("PAUSE");

human_hp1 = human_hp1 + 4;/*les calculs s'effecturont...*/
human_pa1 = human_pa1 - 7;

break;




comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;

}


if (comp_hp1 <= 0)
{
puts("VoUs AvEz BaTtu LeNnEmI!");/*YEah!*/
comp_hp1 = 0;
system("PAUSE");
return 0;/* aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*LoSeR! :P*/
human_hp1 = 0;
system("PAUSE");
return 0;
}

system("cls");
choix();/*On reourne a la fonction comp()*/
}
int human2()/*Fonction jeu du personnage 2 du joueur*/
{
int select;/*Variable pour la fonction human*/
int nb_alea;

energie();/*Le tableau principale*/
srand (time (NULL));
nb_alea = 0+rand()%6;/*Mise en memoire aleatoire*/
puts("1 = Sword kick (1-6)");
puts("2 = Healing (+4 HP, -7 MP)");
printf("EnTrEz VoTrE ChOix...:\n");
scanf("%d",&select);/*Variable select en memoire*/
switch(select)/*Encore un switch comme dan sla fonction précédente*/
{
case 1 :/*case #1*/
puts("Vous frapper d'un coup d'epee!");
system("PAUSE");
printf("Votre ennemy perd %d points de HP !\n", nb_alea);
system("PAUSE");

comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;


case 2 :
{
puts("HP plein...");
system("PAUSE");
human_hp1 = 25;
break;
}
puts("Vous vous redonner de l ENERGIE!");
system("PAUSE");/*reour au chariot*/


puts("Vous gagne 4 de HP");
system("PAUSE");

human_hp1 = human_hp1 + 4;/*les calculs s'effecturont...*/
human_pa1 = human_pa1 - 7;

break;




comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;

}


if (comp_hp1 <= 0)
{
puts("VoUs AvEz BaTtu LeNnEmI!");/*YEah!*/
comp_hp1 = 0;
system("PAUSE");
return 0;/* aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*LoSeR! :P*/
human_hp1 = 0;
system("PAUSE");
return 0;
}
humanfinished = 1;
system("cls");
choix();/*On reourne a la fonction comp()*/
}
int human3()/*Fonction jeu du personnage 3 du joueur*/
{
int select;/*Variable pour la fonction human*/
int nb_alea;

energie();/*Le tableau principale*/
srand (time (NULL));
nb_alea = 0+rand()%6;/*Mise en memoire aleatoire*/
puts("1 = Sword kick (1-6)");
puts("2 = Healing (+4 HP, -7 MP)");
printf("EnTrEz VoTrE ChOix...:\n");
scanf("%d",&select);/*Variable select en memoire*/
switch(select)/*Encore un switch comme dan sla fonction précédente*/
{
case 1 :/*case #1*/
puts("Vous frapper d'un coup d'epee!");
system("PAUSE");
printf("Votre ennemy perd %d points de HP !\n", nb_alea);
system("PAUSE");

comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;


case 2 :
{
puts("HP plein...");
system("PAUSE");
human_hp1 = 25;
break;
}
puts("Vous vous redonner de l ENERGIE!");
system("PAUSE");/*reour au chariot*/


puts("Vous gagne 4 de HP");
system("PAUSE");

human_hp1 = human_hp1 + 4;/*les calculs s'effecturont...*/
human_pa1 = human_pa1 - 7;

break;




comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;

}


if (comp_hp1 <= 0)
{
puts("VoUs AvEz BaTtu LeNnEmI!");/*YEah!*/
comp_hp1 = 0;
system("PAUSE");
return 0;/* aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*LoSeR! :P*/
human_hp1 = 0;
system("PAUSE");
return 0;
}

system("cls");
exit;/*On reourne a la fonction comp()*/
}

int human4()/*Fonction jeu du personnage 4 du joueur*/
{
int select;/*Variable pour la fonction human*/
int nb_alea;

energie();/*Le tableau principale*/
srand (time (NULL));
nb_alea = 0+rand()%6;/*Mise en memoire aleatoire*/
puts("1 = Sword kick (1-6)");
puts("2 = Healing (+4 HP, -7 MP)");
printf("EnTrEz VoTrE ChOix...:\n");
scanf("%d",&select);/*Variable select en memoire*/
switch(select)/*Encore un switch comme dan sla fonction précédente*/
{
case 1 :/*case #1*/
puts("Vous frapper d'un coup d'epee!");
system("PAUSE");
printf("Votre ennemy perd %d points de HP !\n", nb_alea);
system("PAUSE");

comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;


case 2 :
{
puts("HP plein...");
system("PAUSE");
human_hp1 = 25;
break;
}
puts("Vous vous redonner de l ENERGIE!");
system("PAUSE");/*reour au chariot*/


puts("Vous gagne 4 de HP");
system("PAUSE");

human_hp1 = human_hp1 + 4;/*les calculs s'effecturont...*/
human_pa1 = human_pa1 - 7;

break;




comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;

}
if (human_hp1 > 25)
{
puts("HP plein...");
human_hp1 = 25;
}

if (comp_hp1 <= 0)
{
puts("VoUs AvEz BaTtu LeNnEmI!");/*YEah!*/
comp_hp1 = 0;
system("PAUSE");
return 0;/* aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*LoSeR! :P*/
human_hp1 = 0;
system("PAUSE");
return 0;
}

system("cls");
choix();/*On reourne a la fonction comp()*/
}

int human5()/*Fonction jeu du personnage 5 du joueur*/
{
int select;/*Variable pour la fonction human*/
int nb_alea;

energie();/*Le tableau principale*/
srand (time (NULL));
nb_alea = 0+rand()%6;/*Mise en memoire aleatoire*/
puts("1 = Sword kick (1-6)");
puts("2 = Healing (+4 HP, -7 MP)");
printf("EnTrEz VoTrE ChOix...:\n");
scanf("%d",&select);/*Variable select en memoire*/
switch(select)/*Encore un switch comme dan sla fonction précédente*/
{
case 1 :/*case #1*/
puts("Vous frapper d'un coup d'epee!");
system("PAUSE");
printf("Votre ennemy perd %d points de HP !\n", nb_alea);
system("PAUSE");

comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;


case 2 :
{
puts("HP plein...");
system("PAUSE");
human_hp1 = 25;
break;
}
puts("Vous vous redonner de l ENERGIE!");
system("PAUSE");/*reour au chariot*/


puts("Vous gagne 4 de HP");
system("PAUSE");

human_hp1 = human_hp1 + 4;/*les calculs s'effecturont...*/
human_pa1 = human_pa1 - 7;

break;




comp_hp1 = comp_hp1 - nb_alea;
if (nb_alea == 0)
{
puts("MISS!");
system("PAUSE");
}
break;

}


if (comp_hp1 <= 0)
{
puts("VoUs AvEz BaTtu LeNnEmI!");/*YEah!*/
comp_hp1 = 0;
system("PAUSE");
return 0;/* aucun retour*/
}
if (human_hp1 <= 0)
{
puts("YOU LOSE!");/*LoSeR! :P*/
human_hp1 = 0;
system("PAUSE");
return 0;
}
system("cls");
exit;/*On reourne a la fonction comp()*/
}


int main()/*Le main*/
{
system("color 17");
system("cls");
puts("**************************************");/*Main Screen*/
puts("Appuyer sur entree pour commencer!");
puts("**************************************");
choix();

//energie();
//human1();/*On va a la fonction human()*/
return 0;
}

2 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
7 janv. 2006 à 15:49
LA :



if (humanfinished == 1)

{

int compfinished = 0;



compchoix();



}


OU ENCORE LA :

humanfinished = 1;

int compfinished = 0;

puts("hehe2");

compchoix();



Tu es sur de ce que tu fais la ? J'ai survolé le code et quand je vois
une nouvelle déclaration de variable qui a le meme nom que la variable
globale. C'est étrange !
3
john_cc Messages postés 10 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 10 janvier 2006
8 janv. 2006 à 02:01
Merci luthor !
C'était bien ça, un problème de déclaration.
Au lieu d'attribuer une nouvelle valeur à mes variables, je les avais redéclarées par erreur.

Sinon, des idées pour l'optimisation ?
0
Rejoignez-nous