Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le jeu du plus ou moins

Avec améliorations!

    29 avril 2006 à 18:27:23

    Bonjour, vous :p
    Je poste ma solution du jeu de plus ou moins, avec toutes les modifications données dans le cours.
    Le seul (?, il marche donc bon ^^ ) défault de mon code c'est que j'ai du mal à m'y retrouver :p:p .

    Si vous pouviez m'aider sur ce point là :lol: ... :)
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>


    int main(int argc, char *argv[])
    {
    long nombreMystere, nombreATrouver, compteurDeCoup = 0;
    int partie = 0, niveauDeDifficultee = 0, modeXJoueurs;


    //Boucle de commencement
    do
    {
             
    printf("Commencer? \n");
    printf("1. Oui \n");
    printf("2. Non \n");
    printf("3. Instructions\n");
    scanf("%ld", &partie);
    printf("\n");
    // on propose à l'utilisateur de faire une partie

    if(partie == 1)
    {
              long compteurDeCoup = 0;
    printf("Quel nombre de joueur(s)?\n");
    printf("1. 1joueur\n");
    printf("2. 2joueurs\n");
    scanf("%ld", &modeXJoueurs);
    printf("\n");
    // Implementation mode 2 joueurs

    if (modeXJoueurs == 1)
    {

    printf("Quel niveau de difficultee?\n");
    printf("1. Facile\n");
    printf("2. Moyen\n");
    printf("3. Difficile\n");
    scanf("%ld", &niveauDeDifficultee);
    printf("\n\n\n\n\n");
    // On propose 3 niveaux de difficultée

    if (niveauDeDifficultee == 1)
    {
    long nombreMaximum = 100, nombreMinimum = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (nombreMaximum - nombreMinimum + 1)) + nombreMinimum;

    //Boucle du jeu
    do
    {
    printf("Quel est le nombre?\n");
    scanf("%ld", &nombreATrouver);
    printf("\n");

    if (nombreMystere < nombreATrouver)
    {
       printf("C'est moins\n\n\n");
       compteurDeCoup++;
    }
    else if (nombreMystere > nombreATrouver)
    {
         printf("C'est plus\n\n\n");
         compteurDeCoup++;
    }
    else if  (nombreATrouver >100 || nombreATrouver < 1)
    {
         printf("choisis un nombre entre 1 et 100\n\n\n");
    }
    else
    {
        compteurDeCoup++;
        printf("Bravo tu as trouve le nombre mystere en %ld coups !\n\n\n", compteurDeCoup);
    }
    }while(nombreATrouver !=nombreMystere);
    // Fin boucle du jeu

    } // Fin de if(difficultée == 1)
    else if (niveauDeDifficultee == 2)
    {
    long nombreMaximum = 1000, nombreMinimum = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (nombreMaximum - nombreMinimum + 1)) + nombreMinimum;

    //Boucle du jeu moyen
    do
    {
    printf("Quel est le nombre?\n");
    scanf("%ld", &nombreATrouver);
    printf("\n");

    if (nombreMystere < nombreATrouver)
    {
       printf("C'est moins\n\n\n");
       compteurDeCoup++;
    }
    else if (nombreMystere > nombreATrouver)
    {
         printf("C'est plus\n\n\n");
         compteurDeCoup++;
    }
    else if  (nombreATrouver >1000 || nombreATrouver < 1)
    {
         printf("choisis un nombre entre 1 et 1000\n\n\n");
    }
    else
    {
        compteurDeCoup++;
        printf("Bravo tu as trouve le nombre mystere en %ld coups !\n\n\n", compteurDeCoup);
    }
    }while(nombreATrouver !=nombreMystere);
    // Fin boucle du jeu moyen
    }// Fin de else if(difficult == 2)


    else if (niveauDeDifficultee == 3)
    {
    long nombreMaximum = 10000, nombreMinimum = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (nombreMaximum - nombreMinimum + 1)) + nombreMinimum;

    //Boucle du jeu dure (CMB)
    do
    {
    printf("Quel est le nombre?\n");
    scanf("%ld", &nombreATrouver);
    printf("\n");

    if (nombreMystere < nombreATrouver)
    {
       printf("C'est moins\n\n\n");
       compteurDeCoup++;
    }
    else if (nombreMystere > nombreATrouver)
    {
         printf("C'est plus\n\n\n");
         compteurDeCoup++;
    }
    else if  (nombreATrouver >10000 || nombreATrouver < 1)
    {
         printf("choisis un nombre entre 1 et 10000\n\n\n");
    }
    else
    {
        compteurDeCoup++;
        printf("Bravo tu as trouve le nombre mystere en %ld coups !\n\n\n", compteurDeCoup);
    }
    }while(nombreATrouver !=nombreMystere);
    // Fin boucle du jeu dure (CMB)
    } // Fin else if(difficult ==3)
    else
    {
        printf("Erreur de saisie\n\n\n");
    } // fin diff 3
    } // Fin if(modeXJoueurs == 1)

    //------------------------


    else if(modeXJoueurs == 2)
    {

    printf("Quel niveau de difficultee?\n");
    printf("1. Facile\n");
    printf("2. Moyen\n");
    printf("3. Difficile\n");
    scanf("%ld", &niveauDeDifficultee);
    printf("\n\n\n\n\n");
    // On propose 3 niveaux de difficultée


    if (niveauDeDifficultee == 1)
    {
    long nombreMaximum = 100, nombreMinimum = 1;
    do
    {
    printf("Le joueur 2 entre un nombre entre 1 et 100\n");
    scanf("%ld", &nombreMystere);
    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

    if (nombreMystere >= 1 && nombreMystere <= 100)
    {
    //Boucle du jeu facile
    do
    {
    printf("Quel est le nombre?\n");
    scanf("%ld", &nombreATrouver);
    printf("\n");

    if (nombreMystere < nombreATrouver)
    {
       printf("C'est moins\n\n\n");
       compteurDeCoup++;
    }
    else if (nombreMystere > nombreATrouver)
    {
         printf("C'est plus\n\n\n");
         compteurDeCoup++;
    }
    else if  (nombreATrouver >100 || nombreATrouver < 1)
    {
         printf("choisis un nombre entre 1 et 100\n\n\n");
    }
    else
    {
        compteurDeCoup++;
        printf("Bravo tu as trouve le nombre mystere en %ld coups !\n\n\n", compteurDeCoup);
    }
    }while(nombreATrouver != nombreMystere);
    // Fin boucle du jeu
    } //fin if (nombreMystere <= 100 && nombreMystere >= 1)
    else if (nombreMystere >100 || nombreMystere < 1)
    {
        printf("Erreur de saisie\n\n");
    } // fin diff 1 mode 2 joueurs
    }while (nombreMystere >100 || nombreMystere < 1);

    } // Fin de if(difficultée == 1)
    else if (niveauDeDifficultee == 2)
    {
    long nombreMaximum = 1000, nombreMinimum = 1;
    do
    {
    printf("Le joueur 2 entre un nombre entre 1 et 1000\n");
    scanf("%ld", &nombreMystere);
    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

    if (nombreMystere >= 1 && nombreMystere <= 1000)
    {
    //Boucle du jeu moyen
    do
    {
    printf("Quel est le nombre?\n");
    scanf("%ld", &nombreATrouver);
    printf("\n");

    if (nombreMystere < nombreATrouver)
    {
       printf("C'est moins\n\n\n");
       compteurDeCoup++;
    }
    else if (nombreMystere > nombreATrouver)
    {
         printf("C'est plus\n\n\n");
         compteurDeCoup++;
    }
    else if  (nombreATrouver >1000 || nombreATrouver < 1)
    {
         printf("choisis un nombre entre 1 et 1000\n\n\n");
    }
    else
    {
        compteurDeCoup++;
        printf("Bravo tu as trouve le nombre mystere en %ld coups !\n\n\n", compteurDeCoup);
    }
    }while(nombreATrouver !=nombreMystere);
    // Fin boucle du jeu
    } //fin if (nombreMystere <= 100 && nombreMystere >= 1)
    else if (nombreMystere >1000 || nombreMystere < 1)
    {
        printf("Erreur de saisie\n\n\n");
    } // fin diff 2 mode 2 joueurs
    }while (nombreMystere >1000 || nombreMystere < 1);
    }// Fin de else if(difficult == 2)
    else if (niveauDeDifficultee == 3)
    {
    long nombreMaximum = 10000, nombreMinimum = 1;
    do
    {
    printf("Le joueur 2 entre un nombre entre 1 et 10000\n");
    scanf("%ld", &nombreMystere);
    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");


    if (nombreMystere >= 1 && nombreMystere <= 10000)
    {
    //Boucle du jeu dure (CMB)
    do
    {
    printf("Quel est le nombre?\n");
    scanf("%ld", &nombreATrouver);
    printf("\n");

    if (nombreMystere < nombreATrouver)
    {
       printf("C'est moins\n\n\n");
       compteurDeCoup++;
    }
    else if (nombreMystere > nombreATrouver)
    {
         printf("C'est plus\n\n\n");
         compteurDeCoup++;
    }
    else if (nombreATrouver >10000 || nombreATrouver < 1)
    {
         printf("Choisis un nombre entre 1 et 10000\n\n\n");
    }
    else
    {
        compteurDeCoup++;
        printf("Bravo tu as trouve le nombre mystere en %ld coups !\n\n\n", compteurDeCoup);
    }
    }while(nombreATrouver !=nombreMystere);
    // Fin boucle du jeu dure (CMB)
    } //fin if (nombreMystere <= 1000 && nombreMystere >= 1)
    else if (nombreMystere >10000 || nombreMystere < 1)
    {
        printf("Erreur de saisie\n\n\n"); // Du nombreMystere
    } // fin diff 3 mode 2 joueurs
    else
    {
        printf("Erreur de saisie\n\n\n");
    }
    }while (nombreMystere >10000 || nombreMystere < 1);
    } // Fin else if(difficult ==3)
    } // fin else if(modeXJoueurs == 2)
    else
    {
        printf("Erreur de saisie\n\n\n"); // DU mode 1-2 Joueurs
    }


    } // Fin de if(partie == 1)
    else if(partie == 2)
    {
         system("PAUSE");   
         return 0;
    }
    else if(partie == 3)
    {
        printf("---INSTRUCTIONS---\n\n");
        printf("Entrez un nombre entre 1 et 100 pour le niveau de difficultee facile, \n");
        printf("1 et 1000 pour le niveau de difficultee moyen, \n");
        printf("1 et 10000 pour le niveau de difficultee difficile; \n");
        printf("Tentez de trouver le nombre mystère pour remporter...\n\n ... bah... euh... rien :p\n\n\n");
    }
    else
    {
        printf("Erreur de saisie\n\n\n");
    }

    }while(partie != 2);// Fin de la boucle de  commencement
    }



    Voili voilou :)
    • Partager sur Facebook
    • Partager sur Twitter
      29 avril 2006 à 18:33:44

      Le problème est que tu réecris pour chaque mode toute le code.
      par ex : "else if (niveuDeDifficulté == 2)" puis tu réécris tout.
      Alors que tu pourrais le faire en une fois et juste mettre :
      else if (niveauDeDifficulté == 2)
      {
      nombreMaximum = 1000
      }
      • Partager sur Facebook
      • Partager sur Twitter
        29 avril 2006 à 18:34:21

        Ah vuai, ça m'entrainerais pour faire des fonctions :p^^ , je vais voir ce que je peut faire, merci ^^


        ev7000, le pire say que ta raison :p , je suis vraiment pas pratique ^^
        • Partager sur Facebook
        • Partager sur Twitter

        Le jeu du plus ou moins

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown