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 :

Aide projet mini jeu


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Décembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 1
    Par défaut Aide projet mini jeu
    Bonjour ,
    alors voilà j'ai un projet à rendre mais sur lequel je me retrouve bloqué .... :/
    1.1 Initialisation de la carte
    Pour representer une carte de 20*20 nous allons utiliser une grille `a 2 dimensions. Chacune des cases comportera un code representant ce qui se trouve `a cet emplacement :
    — 0 : de l’herbe
    — 1 : une fleur
    — 2 : un obstacle : un arbre
    — 3 : un obstacle : un rocher
    — 4 : un objet : une clef
    — 5 : un objet : une piece d’or
    — 6 : un objet : un cadenas
    — 7 : un piege
    — 8 : un monstre
    1.1 creer une procedure init_carte d’initialisation de la carte. Cette procedure prendra en argument un tableau 20*20 et initialisera chacune des cases dans laquelle vous y placerez ces differents ́elements `a votre convenance

    1.2 Affichage de la carte
    Creer une procedure affiche_carte prenant en argument le tableau 20*20 initialise ainsi qu’un tableau à une dimension
    de deux cases permettant d’afficher la carte de fa ̧con textuelle avec la position du personnage. La
    position du personnage est cod ́ee sous la forme d’un tableau de deux cases, la premiere representant l’abscisse, l’autre
    l’ordonnee et est representee par un " X" sur la carte .


    Alors voilà , j'ai bien sur fais ce que je pouvais faire , je vous presente ce que j'ai fait pour la partie 1-1 :
    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
     
    void init_carte (int tab[20][20]) /*j'initialise ma procedure init_carte qui initialise le jeu dans un tableau 20*20 avec les cases representants les diffrents element et obstacles de la carte */
    {
        int i; /*lignes du tableau*/
        int j; /*collones du tableau*/
        int element; /*variable representant les differents elements presents sur la carte du jeu */
     
        switch (element)    /*on associe les valeurs de la variable element aux elements du jeu */
        {
            case 0 :
                printf("de l'herbe") ;
                break ;
            case 1 :
                printf("une fleur");
                break ;
            case 2 :
                printf("un arbre");
                break ;
            case 3 :
                printf("un rocher");
                break ;
            case 4 :
                printf("une clef");
                break ;
            case 5 :
                printf("une piece d'or");
                break ;
            case 6 :
                printf("un cadenas");
                break ;
            case 7 :
                printf("un piege");
                break ;
            case 8 :
                printf("un monstre");
                break ;
            default :
                printf("\n") ;
        }
        element 0 ;
        for (i = 0; i < 20; i++) /*ensemble de boucle for afin d'associer chaque case du tableau à un element du jeu qu'on aura definit dans la variable element */
        {
            for (j = 0; j < 20; j++)
            {
                    tab[i][j] = element ;
            }
        element = 2
                for (i = 3; i < 6; i++)
                {
                    for (j = 0; j < 5; j++)
                        tab[i][j]=element ;
                }
            element = 3 ;
                for (i=5 ; i<7 ; i++ )
                {
                    for (j = 7; j < 9; i++)
                       tab[i][j]= element ;
                }
            element = 6 ;
                for (i = 8; i < 9; i++)
                {
                    for (j = 11; j < 12; i++)
                       tab[i][j]= element ;
                }
            element = 3 ;
                for (i = 13; i < 15; i++)
                {
                    for (j = 16; j < 19; j++)
                        tab[i][j]=element ;
                }
            element = 5 ;
                for (i = 13; i < 14; i++)
                {
                    for (j = 17; j < 18; j++)
                        tab[i][j]=element ;
                }
            element = 7 ;
                for (i = 15; i < 16; i++)
                {
                    for (j = 3; j < 4; j++)
                       tab[i][j]= element ;
                }
            element = 8 ;
                for (i = 3; i < 4; i++)
                {
                    for (j = 6; j < 7; j++)
                       tab[i][j]= element ;
                }
            element = 1 ;
                for (i = 9; i < 12; i++)
                {
                    for (j = 14; j < 18; j++)
                        tab[i][j]=element ;
                }
            element = 4 ;
                for (i = 7; i < 8; i++)
                {
                    for (j = 12; j < 13; j++)
                        tab[i][j]=element ;
                }
            element = 8
                for (i = 6; i < 7; i++)
                {
                    for (j = 10; j < 14; j++)
                        tab[i][j]=element ;
                }
            element = 1 ;
     
                for (i = 7; i < 10; i++)
                {
                    for (j = 10; j < 11; j++)
                       tab[i][j]= element ;
                }
            element = 7 ;
                for (i = 9; i < 10; i++)
                {
                    for (j = 11; j < 13; j++)
                       tab[i][j]= element ;
                }
            element =;
                for (i = 15; i = 18; i++)
                {
                    for (j = 7; j < 8; j++)
                       tab[i][j]= element ;
                }
            element = 2 ;
                for (i = 17; i < 20; i++)
                {
                    for (j = 18; j < 19; j++)
                        tab[i][j]=element ;
                }
            element = 7 ;
                for (i = 9; i < 10; i++)
                {
                    for (j = 11; j < 13; j++)
                        tab[i][j]=element ;
                }
    }
    Voici , si vous avez des choses à me conseiller ou si mon code vous parait faux par rapport à la question , merci de bien vouloir me le dire

    ensuite pour la question 1-2 , j'ai vraiment du mal à visualiser la question et savoir quoi faire , c'est là que je vous demande si il vous est possible de m'orienter .
    je vous remercie d'avance !

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 499
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Ce code ne compile pas. A partir de là, je vois pas trop ce qu'on pourrait te dire de plus... Plusieurs raisons :
    1- Ligne 41 : il manque un =
    2- Ligne 48 : il manque un ;
    3- Ligne 102 : idem
    4- Ligne 121 : element=;, sérieux ?
    5- Il manque une accolade fermante mais on dira que c'est une erreur de copier coller.

    Il y a aussi deux warnings :

    1-
    warning: suggest parentheses around assignment used as truth value [-Wparentheses]
    En effet, comment penses-tu que cette boucle for s'arrête ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i = 15; i = 18; i++)
    2-
    warning: 'element' is used uninitialized in this function [-Wuninitialized]
    int element;

    switch (element){

    }
    Quel case va être exécuté à ton avis ?

    Une fois ceci passé, on va rentrer dans le vif du sujet : mais que cherches-tu à faire ????

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 872
    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 872
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Bktero Voir le message
    4- Ligne 121 : element=;, sérieux ?
    Bigre !! Tu es allé jusque là ??? Moi j'en pouvais déjà plus dès la 25° ligne. Je voyais tous ces for() avec ces nombres qui se mélangeaient j'avais même pas envie d'essayer de les comprendre. Trop de commentaires je pense...
    Allez, +1 pour l'effort

    Citation Envoyé par Bktero Voir le message
    Une fois ceci passé, on va rentrer dans le vif du sujet : mais que cherches-tu à faire ????
    A tout hasard je dirais "initialiser sa carte" (ouais je sais, trop facile vu le nom de la fonction "init_carte()"...)

    Citation Envoyé par karrenss Voir le message
    1.2 Affichage de la carte
    Creer une procedure affiche_carte prenant en argument le tableau 20*20 initialise ainsi qu’un tableau à une dimension
    de deux cases permettant d’afficher la carte de fa ̧con textuelle avec la position du personnage. La
    position du personnage est cod ́ee sous la forme d’un tableau de deux cases, la premiere representant l’abscisse, l’autre
    l’ordonnee et est representee par un " X" sur la carte .

    ensuite pour la question 1-2 , j'ai vraiment du mal à visualiser la question et savoir quoi faire , c'est là que je vous demande si il vous est possible de m'orienter .
    je vous remercie d'avance !
    Ben faut afficher la carte quoi. C'est à dire boucler sur chaque case du tableau et si la case contient une fleur tu affiches "F", si elle contient un dragon tu affiches "D", si elle contient le personnage tu affiches "P" etc etc etc...
    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]

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 499
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bigre !! Tu es allé jusque là ???
    Moi, non ; gcc, oui.

    Ah et truc drôle le code crashe si on l'exécute Mais chaque chose en son temps...

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 872
    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 872
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    int element;
     
    switch (element){
     
    }
    Quel case va être exécuté à ton avis ?
    Là je pense que c'est pour simuler le côté un peu "random" inhérent à ce type de jeu...

    Citation Envoyé par Bktero Voir le message
    Ah et truc drôle le code crashe si on l'exécute
    Citation Envoyé par karrenss Voir le message
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for (i = 0; i < 20; i++) /*ensemble de boucle for afin d'associer chaque case du tableau à un element du jeu qu'on aura definit dans la variable element */
        {
            for (j = 0; j < 20; j++)
            {
                    tab[i][j] = element ;
            }
        element = 2
                for (i = 3; i < 6; i++)
                {
                    for (j = 0; j < 5; j++)
                        tab[i][j]=element ;
                }
    Probablement parce que la même variable "i" est utilisée plusieurs fois dans des boucles imbriquées différentes. Elle doit à un moment donné dépasser 20...
    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]

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