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

C Discussion :

mastermind


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2022
    Messages : 3
    Points : 1
    Points
    1
    Par défaut mastermind
    Bonjour,
    Est ce pouvez vous m'aider a ecrire en C un programme
    A son lancement apparaît un menu à 4 choix :
    1- facile
    2- moyen
    3- dificille
    4- quitter

    Des règles apparaissent au fur et à mesure de ces
    difficultées :
    - Facile → Sur un tableau de 4 cases
    → Des valeures de 1 à 4 uniques
    (ex : 1324, 3241, 4132, …)
    - Moyen → Sur un tableau de 6 cases
    → Des valeures de 1 à 6 uniques
    → Une case vide représentée pas un 0 (1 chance
    sur 6 d’apparaitre, pouvant apparaître plusieurs fois)
    (ex : 016532, 640201, …)
    - Difficile → Sur un tableau de 8 cases
    → Des valeurs de 1 à 8 pouvant apparaître
    plusieurs fois (aléatoire de 1 à 8)
    → Une case vide représentée pas un 0 (1 chance
    sur 5 d’apparaitre, pouvant apparaître plusieurs fois)
    (ex : 86220165, 07513570, …)
    Conditions de victoires :
    Retrouver la suite exacte (donner aléatoirement par le
    programme et n’apparaissant pas à l’écran)
    Consignes :
    Quand un chiffre est situé au bon endroit, renvoie un « A ».
    Quand un chiffre est présent dans la suite mais n’est pas
    situé au bon endroit, renvoie un « B ».
    Dans cet ordre, si un chiffre correspond à une lettre A, alors
    elle ne renvoi pas en plus la lettre B.
    A la fin de la partie, vous afficherez les nombre de coups
    effectué par le joueur et une option s’il veut rejouer.
    Exemple :
    suite (cachée) : 065130
    suite (joueur) : 012345
    message envoyé par le programme à la réponse du joueur :
    ABBB

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Kajijin15 Voir le message
    Bonjour,
    Bonjour

    Citation Envoyé par Kajijin15 Voir le message
    Est ce pouvez vous m'aider a ecrire en C un programme
    Oui on peut. Toutefois quand on voit un tel post on a généralement un doute sur la signification que le PO donne au verbe "aider". On (enfin j'ai) l'impression que le PO écrit "pouvez-vous m'aider" en pensant "pouvez-vous me le faire pendant que je vais me mater un film". C'est une impression d'ailleurs assez répandue car les admin ont pris soin d'écrire une remarque à ce sujet dans les règles.

    Donc je peux me tromper à ce propos, c'est d'ailleurs déjà arrivé. Alors montre-moi (montre-nous) que j'ai tort en nous disant ce que tu as déjà fait jusqu'à présent...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2022
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    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
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main()
    {
    int tab_facile[] = {1, 2, 3, 4};
    int i,j=0,tab[6];
    int choix=0;
    srand(time(0));
    {
     
     printf("choisissez le niveau de jeux\n");
        printf("1- facile\n");
        printf("2- moyen\n");
        printf("3- déficile\n");
        printf("Faites votre choix(1-2-3)\n");
        scanf("%d", &choix);
        while (choix<1 || choix>3)
        {
            printf("Veuillez saisir un chiffre compris entre 1 et 3!");
            scanf("%d", &choix);
        }
     
    if ( choix == 1)
     
    {
     
    for(i=0;i<4;i++)
    {
        srand(time(0));
        j=rand()%4;
        tab_aleatoirefacile[]=tab_facile[j];
      }
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [i])
      {
        a=+1;
      }
    }
     
       while (c!=6)
         {
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [c])
      {
        b+=1;
      }
    }
    c+=1;
           }
     
    for (i = 0 ; i < a ; i = i + 1) 
      {
          printf ("a") ;
      }
    for (i = 0 ; i < b-a ; i = i + 1) 
      {
          b = b - a;
     
          printf ("b") ;
      }
     
     
     
     
     
     
     
    }
     
     
     
    if ( choix == 2)
    {
      int tableau_aleatoire[6];
      int tab[6];
      int a=0;
      int b=0;
      int c=0;
      for (int i = 0; i < 6 ; i = i + 1)
        {
          printf ("entrez vos numéro  ?\n",       i) ;
          scanf ("%d", &tab[i]) ;
        }
     
     
    for(i=0;i<6;i++)
    {
        srand(time(0));
        j=rand()%7;
        tableau_aleatoire[i]=j;
      }
     
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [i])
      {
        a=+1;
      }
    }
     
       while (c!=6)
         {
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [c])
      {
        b+=1;
      }
    }
    c+=1;
           }
     
    for (i = 0 ; i < a ; i = i + 1) 
      {
          printf ("a") ;
      }
    for (i = 0 ; i < b-a ; i = i + 1) 
      {
          b = b - a;
     
          printf ("b") ;
      }
     
     
     
     
     
     
     
     
    if (choix == 3)
     
    for(i=0;i<8;i++)
    {
     
           j=rand()%9;
       if(j == 9)
        {
            j=0;
        }
        tableau_aleatoire[i]=j;
     
     
      }
     
    for(i=0;i<8;i++)
    {
        printf("%d\n",tableau_aleatoire[i]);
    }#include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main()
    {
    int tab_facile[] = {1, 2, 3, 4};
    int i,j=0,tab[6];
    int choix=0;
    srand(time(0));
    {
     
     printf("choisissez le niveau de jeux\n");
        printf("1- facile\n");
        printf("2- moyen\n");
        printf("3- déficile\n");
        printf("Faites votre choix(1-2-3)\n");
        scanf("%d", &choix);
        while (choix<1 || choix>3)
        {
            printf("Veuillez saisir un chiffre compris entre 1 et 3!");
            scanf("%d", &choix);
        }
     
    if ( choix == 1)
     
    {
     
    for(i=0;i<4;i++)
    {
        srand(time(0));
        j=rand()%4;
        tab_aleatoirefacile[]=tab_facile[j];
      }
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [i])
      {
        a=+1;
      }
    }
     
       while (c!=6)
         {
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [c])
      {
        b+=1;
      }
    }
    c+=1;
           }
     
    for (i = 0 ; i < a ; i = i + 1) 
      {
          printf ("a") ;
      }
    for (i = 0 ; i < b-a ; i = i + 1) 
      {
          b = b - a;
     
          printf ("b") ;
      }
     
     
     
     
     
     
     
    }
     
     
     
    if ( choix == 2)
    {
      int tableau_aleatoire[6];
      int tab[6];
      int a=0;
      int b=0;
      int c=0;
      for (int i = 0; i < 6 ; i = i + 1)
        {
          printf ("entrez vos numéro  ?\n",       i) ;
          scanf ("%d", &tab[i]) ;
        }
     
     
    for(i=0;i<6;i++)
    {
        srand(time(0));
        j=rand()%7;
        tableau_aleatoire[i]=j;
      }
     
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [i])
      {
        a=+1;
      }
    }
     
       while (c!=6)
         {
    for(i=0;i<6;i++)
    {
      if (tableau_aleatoire[i]==tab [c])
      {
        b+=1;
      }
    }
    c+=1;
           }
     
    for (i = 0 ; i < a ; i = i + 1) 
      {
          printf ("a") ;
      }
    for (i = 0 ; i < b-a ; i = i + 1) 
      {
          b = b - a;
     
          printf ("b") ;
      }
     
     
     
     
     
     
     
     
    if (choix == 3)
     
    for(i=0;i<8;i++)
    {
     
           j=rand()%9;
       if(j == 9)
        {
            j=0;
        }
        tableau_aleatoire[i]=j;
     
     
      }
     
    for(i=0;i<8;i++)
    {
        printf("%d\n",tableau_aleatoire[i]);
    }
     
     
     
      }
      }
        return 0;
    }
     
     
     
      }
      }
        return 0;
    }
    J'ai rendu ceci j'avais pas assez de temps
    Et on n'aura pas de correction, du coup je viens ici demander de l'aide
    Merci

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Kajijin15 Voir le message
    J'ai rendu ceci j'avais pas assez de temps
    Mouais. tu arrives à te relire ??? Tu n'es même pas allé voir dans le forum comment faisaient les autres pour poster des codes ? http://club.developpez.com/regles/#LIII-E.
    Mais d'après le peu que j'arrive à comprendre ton temps a été bien mal employé. Déjà question syntaxe tu ouvres des accolades sans mettre de bloc structuré (pourquoi en ouvrir une sous le srand par exemple ?). Et tu as répété le même code 500 fois. Fatalement...
    Un code ça se réfléchit avant de se coder. Et les fonctions ne sont pas faites que pour faire genre.
    Ce que j'aurais fait moi
    • une fonction "menu" qui fait choisir la difficulté et qui renvoie le choix du joueur
    • une fonction "tirage" qui remplit le tableau des chiffres à trouver en fonction de la difficulté
    • une fonction "check " qui évalue la proposition du joueur et qui renvoie le résultat "ABAB"

    Chaque fonction pouvant être testée de façon individuelle pour vérifier qu'elle fait correctement son travail. Ne restait qu'à assembler tout ça dans une boucle de jeu et c'était fini...

    Citation Envoyé par Kajijin15 Voir le message
    Et on aura pas de correction
    Désolé que ton prof ait aussi peu de conscience professionnelle. Mais ça ne change pas le fait qu'on n'est pas un service de code à la demande et qu'on n'est pas là pour pallier aux défaillances de ton école.

    Cela n'empêche pas de te donner un petit exemple rapide de menu
    Code c : 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
    #include <stdio.h>
    #include <stdlib.h>
     
    unsigned short menu();
     
    int main() {
    	unsigned short choix;
     
    	while (1) {
    		choix=menu();
    		if (choix == 0) {
    			printf("Ok bye\n");
    			break;
    		}
    	}
    	exit(0);
    }
     
    unsigned short menu() {
    	char saisie[10];
    	unsigned short choix;
    	while (1) {
    		fputs("1 - facile\n", stdout);
    		fputs("2 - moyen\n", stdout);
    		fputs("3 - difficile\n", stdout);
    		fputs("0 - quitter\n", stdout);
     
    		fputs("Votre choix ?", stdout);
    		fflush(stdout);
    		fgets(saisie, 10, stdin);
    		if (sscanf(saisie, "%hu", &choix) < 1) {
    			fputs("Erreur vous devez saisir un chiffre\n", stderr);
    			continue;
    		}
     
    		if (choix > 3) {
    			fputs("Erreur vous devez saisir un chiffre entre 0 et 3\n", stderr);
    			continue;
    		}
    		return choix;
    	}
    }
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2022
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci
    Je vais me casser la tete plus en plus ..

Discussions similaires

  1. traduction en VBA d'un algo mastermind
    Par isabienne dans le forum Général VBA
    Réponses: 1
    Dernier message: 24/04/2007, 19h37
  2. Réponses: 2
    Dernier message: 09/03/2007, 15h15
  3. Programmation du jeu du Mastermind
    Par Elek7 dans le forum C++
    Réponses: 2
    Dernier message: 13/06/2006, 19h53
  4. mastermind : fct random
    Par ln.80 dans le forum C
    Réponses: 12
    Dernier message: 25/05/2006, 23h58
  5. Réalisation d'un jeu Mastermind
    Par cybercom dans le forum Pascal
    Réponses: 43
    Dernier message: 14/05/2006, 20h11

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