IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Mot mystère en mode console


Sujet :

Langage C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2017
    Messages : 31
    Par défaut Mot mystère en mode console
    Salut, J'espère que vous vous portez bien j'ai un problème à résoudre mais je me suis planté depuis.
    En effet on nous avait demandé d'écrire un programme en C++ qui demande on joueur de deviner un mot qui est mélangé. Le jeu est constitué de deux modes le mode solo et multijoueur.
    Pour le mode solo on tire au hasard un mot enregistré dans un fichier puis on le mélange et on l’affiche en demandant au joueur de deviner le mot. Pour chaque mot le joueur à trois essais. On lui propose 5 mots au total à la fin du jeu on lui affiche son score total et on lui propose s'il veut continuer ou non.
    Pour le mode Multi-joueur les mots sont proposés maintenant par un des joueurs on affichera le gagnant à l'issue du jeu.

    APRES CELA ON NOUS PROPOSE DE MODIFIER LE JEU EN CE QUI SUIT:

    LANGAGE C++
    Le sujet de ce TP n'est pas très compliqué mais promet d'être amusant : nous allons mélanger les lettres d'un mot et demander à un joueur de retrouver le mot « mystère » qui se cache derrière ces lettres.

    1. Le jeu est constitué de deux modes : le mode Solo et celui Multi-joueurs.
    2. Chaque mode est constitué de trois niveaux : les niveaux débutants, intermédiaires et avancés. Pour chaque niveau proposez un nombre de lettre par mot : FACILE (4 lettres), INTERMÉDIAIRE (6 lettres) et DIFFICILE (8 lettres).
    3. Fixez un nombre maximal de coups pour trouver le mot mystère pour chaque niveau. Vous pouvez par exemple indiquer « Il vous reste 3 essais » et lorsque les 3 essais sont écoulés, le programme s'arrête en affichant la solution. Mais si le joueur gagne on lui demande s’il veut continuer ou non au niveau suivant. S’il perd on lui propose de recommencer ou non.

    4. Créer un fichier pour l’authentification, (pseudo et mot de passe à entrer et vérifié) pour chaque mode. On supposera qu’il n’y a pas de nouveau joueur (c’est-à-dire que l’authentification se fera juste pour des noms et pseudo enregistrés au préalable dans le fichier). Si le joueur était à un niveau et si son pseudo et nom sont corrects il continue le jeu au niveau arrêté.
    5. Piochez le mot dans un fichier-dictionnaire pour le mode 1 joueur.

    6. Compter les scores et affichez le gagnant en mode 2 joueurs pour chaque niveau.

    7. Proposez au joueur de faire une nouvelle partie.

    DEMARCHE

    Les étapes importantes du programme :
    1. Saisie du mot à deviner ;
    2. Mélange des lettres ;
    3. Boucle qui se répète tant que le mot mystère n'a pas été trouvé.
    4. Authentification du pseudo et mot de passe afin d’ouvrir une session.
    5. Débuter le jeu au niveau arrêter.
    6. Passer d’un niveau a un autre si le nombre de score fixé est atteint.
    7. Afficher le score après le nombre d’essai fixé pour chaque mot.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    #include <iostream>
    #include<fstream>
    #include<cstdlib>//fonctionnalité du nombre aléatoire
    #include<ctime>//fonctionnalité du nombre aléatoire
    #include<string>
     
     
    using namespace std;
    inline int nombreAleatoire(int nombreMax);
    inline string ChoisirMot();
    inline string MelangeMot(string motMystere);
     
     
    int main()
    {
        int menu=0;
        cout<<"*****Ce jeux devine le mot.****"<<endl;
        cout<<"1.SOLO"<<endl;
        cout<<"2.MULTIJOUEUR"<<endl;
        cout<<"Veuillez choisir une option :"<<endl;
        cin>>menu;
        int score=0;
        if(menu==1)
        {
            for(int j=0;j<5;j++)
            {
               string motmystere(""),NouveauMot("");//initialisation des variables motmystere && NouveauMot.
               motmystere = ChoisirMot();//Choix d'un mot mystere dans le fichier par appelle de fonction
               NouveauMot=MelangeMot(motmystere);//Melange du mot motmystere par Appele de fonction
               cout << NouveauMot<<endl;//Affichage a l'écran du nouveau mot choisis.
               string MotCache;//declaration de la var:MotCache mot Devineé  entrée par l'user
               cout<<"Quel est le mot cache ?"<<endl;
               cin>>MotCache;
               int i=2;
     
                if(MotCache != motmystere )
                    {
                        do
                        {
     
                            cout<<"Ce n'est pas le mot recommencer!!!"<<endl;
                            cin>>MotCache;
                            i--;
                        }while(MotCache != motmystere && i>0);
                        if(MotCache != motmystere)
                        {
                            cout<<"Ce n'est pas le mot, vous avez perdu."<<endl;
                        }
                        else
                        {
                            cout<<"Felicitation vous avez gagne!!!"<<endl;
                            score++;
                        }
                        }
                        else
                        {
            cout<<"Felicitation vous avez gagne!!!"<<endl;
          score++;
            }
        }
            cout<<"Votre score est de:"<<score<<"/5"<<endl;
            if(score==0)
            {
                cout<<"Oh lalal vous vous avez perdu la partie"<<endl;
            }
            else if (score >= 1 || score <= 3)
            {
                cout<<"Peu satisfaisant"<<endl;
            }
            else
            {
                cout<<"Bravo! Vous etes parfait"<<endl;
            }
        }
    /*--------------------------------------Fin du mode SOLO----------------------------------------------------------*/
     
     
       else if(menu==2)
        {
            int score1=0;
            string Nom1,Nom2,Mot1;//Déclaration des variables Nom des joeurs et mots entrée
            int k;//Compteur de boucle
            int  a=2;
            int b=2,h,score2=0;
            string NouveauMot3,Mot2;
            cout<<"Joueur1 entrez votre nom:"<<endl;
            cin>>Nom1;
            cout<<"Joueur2 entrez votre nom:"<<endl;
            cin>>Nom2;
     
            string NouveauMot2;//NouveauMot2 nouveau mot choisis.
                for(k=0;k<3;k++)
                {
                    cout<<"Veuillez entrer un mot:"<<Nom1<<endl;
                    cin>>Mot1;
                    NouveauMot2=MelangeMot(Mot1);//Melange du mot motmystere par Appele de fonction
                    cout << NouveauMot2<<endl;//Affichage a l'écran du nouveau mot choisis.
                    string MotCache2;//declaration de la var:MotCache mot Devineé  entrée par l'user
                    cout<<"Quel est le mot cache? "<<Nom2<<endl;
                    cin>>MotCache2;
                    if(MotCache2!=Mot1)
                    {
     
                         do
                        {
                            cout<<"Ce n'est pas le mot recommencer!"<<endl;
                            cin>>MotCache2;
                            a --;
                        }while(MotCache2!=Mot1 && a>0);
                        if(MotCache2!=Mot1)
                        {
                           cout<<"Ce n'est pas le mot,le mot etait:"<<Mot1<<endl;
                        }
     
                        else
                        {
     
                            cout<<"Felicitation vous avez gagne!!!"<<endl;
                            score1 ++;
                        }
     
                    }
                    else
                    {
                       cout<<"Felicitation vous avez gagne!!!"<<endl;
                       score1++;
                    }
     
                    }
                     cout<<"Votre score Total est:"<<score1<<"/3"<<endl;
     
            for(h=0;h<3;h++)
                {
                    cout<<"Veuillez entrer un mot: "<<Nom2<<endl;
                    cin>>Mot2;
                    NouveauMot3=MelangeMot(Mot2);//Melange du mot motmystere par Appele de fonction
                    cout << NouveauMot3<<endl;//Affichage a l'écran du nouveau mot choisis.
                    string MotCache3;//declaration de la var:MotCache mot Devineé  entrée par l'user
                    cout<<"Quel est le mot cache? "<<Nom1<<endl;
                    cin>>MotCache3;
     
    		if(MotCache3!=Mot2)
                    {
     
                         do
                        {
                            cout<<"Ce n'est pas le mot recommencer!"<<endl;
                            cin>>MotCache3;
                            b --;
                        }while(MotCache3!=Mot2 && b>0);
                        if(MotCache3!=Mot2)
                        {
                           cout<<"Ce n'est pas le mot,le mot etait:"<<Mot2<<endl;
                        }
     
                        else
                        {
                            cout<<"Felicitation vous avez gagne!!!"<<endl;
                            score2 ++;
                        }
     
                    }
                    else
                    {
                       cout<<"Felicitation vous avez gagne!!!"<<endl;
                       score2++;
                    }
     
                    }
                    cout<<"Votre score Total est: "<<score2<<"/3"<<endl;
                    if(score1>score2)
                    {
                        cout<<"Vous avez gagnez: "<<Nom2<<endl;
                    }
                    else if(score2>score1)
                    {
                        cout<<"Vous avez gagnez: "<<Nom1<<endl;
                    }
                    else
                    {
                        cout<<"Vous avez tous perdu :"<<Nom1<<"&&"<<Nom2<<endl;
                    }
        }
     
          else
            {
            cout<<"Erreur vous avez mal choisis!!!"<<endl;
            }
    return 0;
    }
     
     
    /*----------------------------------------Choix d'un numéro de MOT-----------------------------------*/
     
    inline int nombreAleatoire(int nombreMax)
    {
            srand(time(0));
            return (rand() % nombreMax);
    }
    /*--------------------------fonction pour choisir un mot dans le fichier------------------------------*/
    inline string ChoisirMot()
    {
        ifstream fichier("Mot_Jeu.txt",ios::in);
        string motLu;
        // "ouverture reussie"
        if (fichier)
        {
            int nombreMot=0, numMotChoisi=0;
            //Détermination du nombre de mots
            while(getline(fichier,motLu))
            {
              nombreMot++;
            }
            // On envoie le nombre de mot pour une séléction d'un numéro
            numMotChoisi = nombreAleatoire(nombreMot);
          //Une fois le numéro choisi on retourne au dédut du fichier
            fichier.clear();
            fichier.seekg(0,ios::beg);
            //on choisis un mot au hazard qui est stocké dans  motlu.
            while(numMotChoisi > 0 && getline(fichier,motLu))
            {
                numMotChoisi--;
            }
     
            fichier.close();  //fermeture du fichier
        }
        else
            cerr << "Erreur rencontree" << endl;    //echec de l'ouverture du fichier.
     return motLu;
    }
     
    /*---------------------------Fonction MelangeMot pour mélanger les letres du mot-----------------------------*/
     
    inline string MelangeMot(string motMystere)
    {
        srand(time(0));//initialisation de la géneration de nombres aléatoire.
        string melange;
        int position(0);
        while(motMystere.size()!=0)//Tant que la taille n'est pas encore egale a zero on pioche les lettres sans remise puis on les melange
        {
     
            position=rand()%motMystere.size();//Coix d'un mot à une pôsition
            melange+=motMystere[position];//Positionnement d'une lettre dans Mot_mystere
            motMystere.erase(position,1);//on retire la lettre du lettre mystere pour qu'elle ne soit plus retirer.
        }
        return melange;
    }
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Mises à jour des paquetages en mode console
    Par Memnoch31 dans le forum Debian
    Réponses: 6
    Dernier message: 16/05/2004, 16h30
  2. Des couleurs en mode console
    Par davcha dans le forum MFC
    Réponses: 3
    Dernier message: 08/05/2004, 14h37
  3. Mode console par défaut
    Par sekiryou dans le forum Administration système
    Réponses: 5
    Dernier message: 05/03/2004, 06h38
  4. Mode console et MFC ??
    Par G3G3 dans le forum MFC
    Réponses: 7
    Dernier message: 20/02/2004, 17h49
  5. Editeur en mode console
    Par logramme dans le forum C
    Réponses: 5
    Dernier message: 11/06/2002, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo