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

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

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


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

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

samedi 7 janvier 2006 à 12:38:39 | Problème avec un programme de combat style RPG [URGENT]

john_cc

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

samedi 7 janvier 2006 à 15:49:35 | Re : Problème avec un programme de combat style RPG [URGENT]

luhtor

Réponse acceptée !
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 !


dimanche 8 janvier 2006 à 02:01:29 | Re : Problème avec un programme de combat style RPG [URGENT]

john_cc

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 ?



Cette discussion est classée dans : system, puts, nb, pause, hp1


Répondre à ce message

Sujets en rapport avec ce message

Pb avec 'SYSTEM' [ par AtomicREW ] Je vous previens tout de suite mon code est vraiment foireux, j'ai commence le C qu'aujourd'hui et sans doc a proprement dit. J'ai mis la ligne où Dev syntax error at end of input [ par azerty53 ] Bonsoir à la communauté cppfrancej'ai un probleme sur mon code que je n'arrive pas du tout a résoudre et ca fait deja un certain temps que je suis des Editeur blague dans fenetre [ par romar02 ] Salut,je construit un editeur de blague :pDu genre:#include #include int main(int argc, char *argv[]){  long choixMenu;</ equivalent system("pause") linux [ par poiuytrez3 ] Bonjour,J'ai l'habitude de faire des system("pause") sur Windows et la je suis en train de migrer sur linux.Quel est son équivalent ? J'ai besoin de b Directory::Exists ?? [ par Mitch986 ] Bonjour,J'aimerai savoir quelle bibliothèque est à inclure pour utiliser la fonction Directory::Exists(Path). D'après le site MSDN il faut ajouter :#u pause en C [ par Tornadoboy ] Bonjour, durant l'exécution d'un programme en C je voudrai mettre en pause ledit programme en appuyant sur une touche de mon clavier, puis, en appuyan Probleme avec mon algo et les structures [ par masterix ] Bonjour à tous,Voilà mon petit soucis je vient de commencer les structures j'ai beau chercher dans mes cours je ne voit pas où se trouve mon problème, classe matrice [ par pabreto ] bonjour!je dois écrire le matrice.c d'une classe de matrice à partir d'un matrice.h que l'on me donne et que je n'a pas le droit de modifier.voici mes Conversion décimal [ par flothehacker ] Bonjour,Je vais essayer d'être le plus clair possible.En fait j'ai un projet qui vise à récupérer une tension d'un capteur de rotation à envoyer sur u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 1,248 sec (3)

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