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 :

Jeu du Motus


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 9
    Par défaut Jeu du Motus
    Bonjour,
    Pour les cours on nous a demandé d'effectuer un programme en langage C je dois faire un programme du jeu du motus en langage C. Le problème c'est que je ne sais pas comment faire pour sélectionner des mots de 8 lettres aux hasard. Je suis sur CodeBlocks.
    Pouvait vous m'aider s'il vous plaît?

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 315
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Comme idée tu pourrais avoir un fichier contenant une liste de mots. Tu charges ensuite ces mots dans un tableau. Tu peux par exemple copier ces mots ici. Si tu ne maîtrises par la gestion des fichiers tu peux tout aussi bien créer un tableau de char* qui contiendra ces mots.

    Une fois ton tableau initialisé, tu peux comparer l'entrée de l'utilisateur avec ton tableau.

    Voila pour les principes.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 9
    Par défaut
    Comment fait on pour charger les mots dans un tableau?

  4. #4
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 771
    Par défaut
    Tu peux aussi passer par une base de données SQLite qui est une bibliothèque C, mais qui va demander un peu de code et déjà au moins un layer de communication entre le code et la BDD

    Et pour illustrer les propos de @gerald3d , un code sûrement pas parfait mais qui donne l'idée. Je pense notamment au fait qu'en C, un tableau [] passé en paramètre est dégradé en pointeur et donc on ne peut plus calculer sa taille - il faut passer également sa taille en paramètre.
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    #define WORD_LENGTH 8
     
    char* dictionnary[] = {
        "concassa",
        "monacale",
        "douvains",
        "corvette",
        "embrasez",
        "ouillant",
        "entrefer",
        "violiers",
        "dissocie",
        "obligent",
        "pointure",
        "rampante",
        "cruciale",
        "ribosome",
        "zuchette",
        "goberait",
        "coudriez",
        "effrayez",
        "daigniez",
        "rimaient",
        "admirera",
        "diminues",
        "huitaine",
        "influera",
        "dodinent",
        "accordas",
        "pesettes",
        "hurleuse",
        "spatiaux",
        "filoutas",
        "sertirai",
        "nettoyer",
        "touerait",
        "exaltais",
        "cabanons",
        "baiserez",
        "redevras",
        "faunique",
        "atonique",
        "tuyautas",
        "cabossas",
        "formages",
        "caressas",
        "perchmen",
        "sauriras",
        "carrelet",
        "ensiliez",
        "viellent",
        "taxeriez",
        "agrandir",
        "indivise",
        "tanguais",
        "affluent",
        "triballa",
        "fricotez",
        "malpolis",
        "chuintai",
        "nourrain",
        "composes",
        "camperai",
        "naviguer",
        "nagerons",
        "laotiens",
        "bouclons",
        "calquant",
        "proviens",
        "poivrote"
    };
     
     
    int main(int argc, char** argv)
    {
        size_t count, nb_words;
     
        srand( time(NULL) );
     
        nb_words = (sizeof(dictionnary) / sizeof(char*));
     
        printf("main - debug : size dictionnary : %lu\n", nb_words);
     
        for(count=0; count < 6; ++count){
            printf ("One word : %s\n", dictionnary[ (rand() % nb_words)] );
        }
     
     
        return EXIT_SUCCESS;
    }

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 9
    Par défaut
    Que signifie cette partie du code ?

    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
    int main(int argc, char** argv)
    {
        size_t count, nb_words;
     
        srand( time(NULL) );
     
        nb_words = (sizeof(dictionnary) / sizeof(char*));
     
        printf("main - debug : size dictionnary : %lu\n", nb_words);
     
        for(count=0; count < 6; ++count){
            printf ("One word : %s\n", dictionnary[ (rand() % nb_words)] );
        }
     
     
        return EXIT_SUCCESS;
    }
    Pour l'instant j'ai fait ça :

    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
    //DIRECTIVES DE COMPILATION :
    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    #include<stdlib.h>
    #include<conio.h>// Pour pouvoir changer les couleurs.
     
    int main (void)
    {
        //déclaration de variable
        void saisiemot(char*mot,int i);
        int regledujeu(void);
        char pmot[8];
        char mot;
        int a;
        int i;
        int h;
        int n;
        int choix;
        void motordinateur(void);
        do//pour recommencer.
        {
     
            do//pour les 8 coup compteur de coup.
            {
    // début du jeu.
                for (n=0; n<=8; n=n+1)
                {
                    printf(" \n\t Jeu du Motus ");
                    a = regledujeu();//affichage des règles du jeu.
                    h = 8-n;
                    printf("\n Il vous reste %d coup",h);
                    saisiemot(&pmot[0],i);
                    motordinateur;
                }
            }
            while (n<8);//pour les 8 coups
     
            printf("\n\n Si vous voulez rejouer tapez 1 sinon tapez autre chose.");
            scanf("%d",&choix);
            printf("%d",choix);
     
     
        }
        while (choix==1);//pour recommencer
     
        return 0;
    }
    void saisiemot(char*mot,int i)
    {
     
        printf("\n\n entree le mot de 8 lettres, lettre par lettre.");
     
        for (i=0; i<8; i=i+1)
        {
            printf("\n pmot[%d]=",i);
            scanf(" %c",(mot+i));//pour entrée la lettre
            printf("%c",*(mot+i));//pour afficher la lettre précédement entrée dans le scanf
     
        }
    }
     
    int regledujeu(void)
    {
        printf("\n\n Le jeu du motus consiste a trouver un mots de 8 lettres en un maximum de 8 coup.\n Dans un premier temps vous allez devoir essayer de retrouver le mot que l'ordinateur a selectionner.");
     
        return 0 ;
    }

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 771
    Par défaut
    Citation Envoyé par jeumotus Voir le message
    Que signifie cette partie du code ?
    Tu es sérieux
    Commence par lire au moins le premier tutoriel C ... ou bien commence par l'algorithmie parce que tu sembles n'avoir jamais vu 1 ligne de code de ta vie

    • C'est du code C
    • C'est la fameuse fonction main
    • C'est le point de départ de ton programme
    • la réponse D

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 9
    Par défaut
    Oui je suis sérieux, on a déjà fait le langage C en cours. Donc ce n'est pas la première fois que j'en vois même si on n'en a pas beaucoup fait. Et il y a beaucoup de chose que l'on nous a pas explique et qu'il ne nous expliquerons pas ou au moins avant qu'on rende ces projets.

    La fonction main ça va le problème est plutôt ce qu'il y a à l'intérieur des parenthèse (int argc, char** argv) que je ne comprends pas.

    Ensuite je comprends pas ce que signifie cette partie, je connais les printf, les for et les return, mais je ne comprends pas le reste

    qu'est-ce que :
    • rand()
    • srand( time(NULL) );
    • sizeof
    • size_t count, nb_words;


    je n'ai pas compris pourquoi il y a cette divsion nb_words = (sizeof(dictionnary) / sizeof(char*));.

    pourquoi %lu dans le printf ?

    dans le for que signifie ++count ?

    Et enfin pourquoi il y a EXIT_SUCCESS dans le return ?

Discussions similaires

  1. Programmation du jeu Motus
    Par SimonInsa67 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 07/01/2019, 14h52
  2. Jeu de motus
    Par Rahma_jr dans le forum Débuter
    Réponses: 1
    Dernier message: 21/12/2017, 16h53
  3. jeu motus en c
    Par sa7lia1990 dans le forum C
    Réponses: 10
    Dernier message: 06/03/2013, 03h23
  4. jeu motus partie jeu ne se lance pas
    Par janyoura dans le forum SDL
    Réponses: 2
    Dernier message: 25/04/2012, 16h38
  5. Jeu motus: affichage de mot tapé
    Par janyoura dans le forum SDL
    Réponses: 13
    Dernier message: 11/04/2012, 17h50

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