Partage
  • Partager sur Facebook
  • Partager sur Twitter

code du jeu plus ou moins

code de la 1ère option

Sujet résolu
    27 mai 2019 à 11:53:38

    bonjour, svp quelqu'un peut m'aider avec le code de la 1ère option du jeu plus ou moins. je suis debutant
    • Partager sur Facebook
    • Partager sur Twitter
      27 mai 2019 à 12:15:29

      Salut,

      Oui on peut t'aider, montre nous ce que tu as déjà fait et explique-nous où tu bloques.

      • Partager sur Facebook
      • Partager sur Twitter
      Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
        27 mai 2019 à 12:29:04

        j'ai pu faire la 2ème option où le programme genere seul le nombre aleatoire. j'ai voulu tester la 1ère option et c'est la que je suis bloqué on me met erreur de compilation
        • Partager sur Facebook
        • Partager sur Twitter
          27 mai 2019 à 12:50:42

          Montre nous le code et donne nous le message d’erreur.

          • Partager sur Facebook
          • Partager sur Twitter
          Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
            27 mai 2019 à 13:21:33

            bah je fais comment pour faire la capture et vous le montrer? sinon que j'ai pu faire MAIS BON JE PEUX VOUS LE MONTRER
            • Partager sur Facebook
            • Partager sur Twitter
              27 mai 2019 à 14:02:18

              Salut,

              tu peux copier / coller ton code dans les balises </> puis C++ juste au dessus de là où tu écris.

              • Partager sur Facebook
              • Partager sur Twitter

              Bonhomme !! | Jeu de plateforme : Prototype.

                27 mai 2019 à 14:09:02

                OK je test voir si cest bon je vous l'amene
                • Partager sur Facebook
                • Partager sur Twitter
                  27 mai 2019 à 14:11:08

                  (je réponds pour qu'il puisse répondre sans avoir à éditer son post)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mai 2019 à 14:16:05

                    #include<stdio.h>
                    #include<stdlib.h>
                    int main(int argc, char*argv[])
                    {
                        int nombreMys = 0 , nombreSaisi = 0 ;
                        printf("joueur 1:saisi le nombre mystere\n");
                        scanf("%d", &nombreMys);
                    // au tour du joueur 2
                    do
                    {
                    printf("joueur 2:saisi le nombre entre par le joueur 1\n");
                    scanf("%d", &nombreSaisi);
                        if(nombreMys > nombreSaisi)
                            printf("c'est moins\n\n");
                        else if(nombreMys < nombreSaisi)
                            printf("c'est plus\n\n");
                        else
                            printf("****BRAVOOOOOOOOOOOO*****,\n");
                    }while(nombreMys != nombreSaisi);
                    return 0 ;
                    }
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 mai 2019 à 5:47:05

                      Les printf avant le elseif et le else ne devraient pas avoir de  ;  car cela fausse les if.

                      Encore surprenant que tu n'aies pas d'erreur de compilation.

                      En passant, tu devrais pouvoir mettre des accents dans les chaînes de tes printf, comme "entré".

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Le Tout est souvent plus grand que la somme de ses parties.

                        28 mai 2019 à 10:40:47

                        PierrotLeFou a écrit:

                        Les printf avant le elseif et le else ne devraient pas avoir de  ;  car cela fausse les if.

                        Merci de ne pas donner de fausse indications.

                        Ce qu'on peut recommander, c'est l'usage systématique d'accolades dans les structures de contrôle if/while/for/etc.

                        if (nombreMys > nombreSaisi) {
                                printf("c'est moins\n\n");
                        } else if (nombreMys < nombreSaisi) {
                                printf("c'est plus\n\n");
                        } else {
                                printf("****BRAVOOOOOOOOOOOO*****,\n");
                        }
                        

                        (et encore j'ai fait une exception pour le else quand il contient un if).


                        Autre recommandation : quand on dit qu'il y a une erreur de compilation au secours aidez-moi, ça serait mignon tout plein  :ange: de dire

                        • quel message
                        • à quelle ligne

                        A la limite, avant de poster, tu peux même le lire et essayer de comprendre ce qu'il dit, ça t'évitera peut être de poster et d'attendre des réponses qui racontent peut être n'importe quoi.

                        -
                        Edité par michelbillaud 28 mai 2019 à 10:44:34

                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 mai 2019 à 11:17:35

                          PierrotLeFou a écrit:

                          Les printf avant le elseif et le else ne devraient pas avoir de  ;  car cela fausse les if.

                          Encore surprenant que tu n'aies pas d'erreur de compilation.

                          En passant, tu devrais pouvoir mettre des accents dans les chaînes de tes printf, comme "entré".

                          michelbillaud l'a déjà souligné : c'est effectivement faux de dire ça. ça ne fausse rien du tout, on a ici une instruction constituée d'un appel de fonction, et la norme du C autorise de ne pas avoir d'accolade (auquel cas seul la prochaine instruction est "touchée" par le if). Par contre, si l'auteur avait écrit ceci :

                          if (cond)
                            instr1;
                            instr2;
                          else if (cond2)
                            instr3;
                          else
                            instr4

                          Avec deux instructions après le if : effectivement, dans ce cas là, ça n'aurait pas compilé, puis ce que le "bloc" du if se serait terminé à l'instruction 1, et donc le else if n'aurait pas de bloc sur lequel s'appliquer.

                          Il est effectivement recommendé de mettre des accolades pour éviter ce genre de situation. C'est une question de style. Si on n'a pas envie d'écrire des lignes inutiles on peut organiser ça comme ça

                          if (cond1){
                            instr1;
                          } else if (cond2) {
                            instr2;
                          } else {
                            instr3;
                          }

                          Les accents ne sont pas forcément pris en charge, ça dépend de l'OS. Si t'es sous Windows les accents ne s'afficheront pas dans tes print (t'auras des caractères bizarres à la place). Si t'es sous Linux par contre, aucun souci.



                          -
                          Edité par potterman28wxcv 28 mai 2019 à 11:18:29

                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 mai 2019 à 13:43:43

                            Ce n'est pas du style pour faire artistique, c'est parce que ça fait gagner du temps dans la mise au point et la maintenance des programmes.

                            Le but, on est bien d'accord, est de travailler le moins possible ?  Ne pas taper les accolades fait gagner quelques dixièmes de secondes, et n'est absolument pas rentable par rapport au temps que ça risque de faire perdre, si on se plante ne serait-ce qu'une fois sur cent.

                            -
                            Edité par michelbillaud 28 mai 2019 à 13:44:25

                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 mai 2019 à 14:42:41

                              Personnellement je trouve ça un peu lourdingue. C'est pas juste par rapport au "temps d'écriture" du code, mais j'écris plus naturellement du code sans accolade. Et je ne me suis jamais fait avoir par ça. Mais je comprends tout à fait pourquoi certaines personnes choisissent de toujours les mettre.

                              Ce site là préconise effectivement de toujours mettre les accolades : https://wiki.sei.cmu.edu/confluence/display/c/EXP19-C.+Use+braces+for+the+body+of+an+if%2C+for%2C+or+while+statement

                              Par contre, le GNU Coding Standards ne le préconise pas forcément : https://www.gnu.org/prep/standards/standards.html#Syntactic-Conventions

                              Dans le cas du coding standards de GNU, ils ne le font que quand c'est un if imbriqué dans un autre if (en mettant des accolades au if englobant). C'est ce que je fais aussi d'ailleurs.

                              Ceci dit si je travaille avec des gens qui mettent les accolades systématiques, en général je suis leur style et fais de même.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 mai 2019 à 15:57:48

                                Perso, je suis un adepte des non-accolade (à condition que le code soit bien présenté) mais je n'irai pas jusqu'à être fan de l'opérateur ',' pour les éviter:
                                int countNeighbours_Bounderies(struct glife *g,int x,int y) {
                                	int count=g->cur_gen[OFFSET(x,y,g->ncols)]==ALIVE ? -1 : 0;
                                
                                	for(int row=x-1;row<=x+1;row++)
                                		if(row>=0 && row<g->nrows)
                                			for(int col=y-1;col<=y+1;col++)
                                				if(col>=0 && col<g->ncols)
                                					if(g->cur_gen[OFFSET(row,col,g->ncols)]==ALIVE)
                                						count++;
                                
                                	return(count);
                                }
                                
                                

                                -
                                Edité par edgarjacobs 28 mai 2019 à 16:02:35

                                • Partager sur Facebook
                                • Partager sur Twitter

                                On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                  28 mai 2019 à 17:04:30

                                  Mais c'est absolument terrible cette idée ! :D

                                  #include <stdio.h>
                                  
                                  int main(void){
                                    int i = 0;
                                    if (i == 3)
                                      printf("Premier statement\n"),
                                      printf("Deuxième statement\n");
                                    else
                                      printf("C'est l'idée du siècle\n");
                                  }



                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    28 mai 2019 à 19:21:15

                                    Apparemment, je me suis très mal exprimé.

                                    D'abord, je n'avais pas vu qu'il avait une erreur de compilation.

                                    Quelque chose du genre: if(condition) printf(...); else ...

                                    Est évidemment une erreur.

                                    Moi aussi, je suis parfois paresseux! Si j'ai peu de code, je préfère éviter les {_}.

                                    Quand je code avec les {_}, je tape l'} tout de suite après l´'{ et je recule devant l'}, cela m'évite de l'oublier car il n'y a rien de pire que de chercher où j'ai oublié mon } surtout si j'ai plusieurs niveaux imbriqués.

                                    Je fais de même avec les [_], (_), "_", et '_'.

                                    Je sais que dans les chaînes ou les caractères, il ne faut pas oublier les \.

                                    genre: printf("J'affiche un \" ici\n"); apostrophe = '\'';

                                    Cela ne règle pas tout mais J'en évite beaucoup.

                                    Pour ce qui est des lettres accentuées, c'est vrai que cela ne fonctionne pas partout.

                                    Cependant, certains hésitent à les utiliser même quand c'est possible.

                                    Dans le cas du "entre" versus "entré", il pourrait y avoir confusion "entre" les deux termes. :)

                                    Cependant, cela pourrait poser un problème de portabilité.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Le Tout est souvent plus grand que la somme de ses parties.

                                      29 mai 2019 à 10:37:00

                                      PierrotLeFou a écrit:

                                      Apparemment, je me suis très mal exprimé.

                                      D'abord, je n'avais pas vu qu'il avait une erreur de compilation.

                                      Quelque chose du genre: if(condition) printf(...); else ...

                                      Est évidemment une erreur.

                                      Non ! Ce n'est pas une erreur. Ce code là compile et marche parfaitement

                                      #include <stdio.h>
                                      
                                      int main(void){
                                        if (1)
                                          printf("Hello\n");
                                        else
                                          printf("Bonjour\n");
                                      
                                        return 0;
                                      }

                                      Le code original de l'auteur compile également. Il est parfaitement permis en C de faire : if(cond) instr; else instr2;

                                      Si t'en doutes, testes-le. Tu verras.

                                      Est-ce que c'est une bonne pratique ça c'est encore autre chose. Mais ça compile. Et ça fait ce qui est attendu.

                                      -
                                      Edité par potterman28wxcv 29 mai 2019 à 10:39:13

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        29 mai 2019 à 16:33:38

                                        jean-charlesouffouet a écrit:

                                        j'ai pu faire la 2ème option où le programme genere seul le nombre aleatoire. j'ai voulu tester la 1ère option et c'est la que je suis bloqué on me met erreur de compilation

                                        Moi je veux bien mais pourquoi il dit avoir une erreur de compilation.

                                        Il induit "le grand public" en erreur ...



                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Le Tout est souvent plus grand que la somme de ses parties.

                                          29 mai 2019 à 16:49:31

                                          Il a dit qu'il en avait dans ces messages précédents, mais le code qu'il a posté n'en a pas.

                                          Preuve : https://godbolt.org/z/NhZmg3

                                          Pourquoi il a dit qu'il en avait ? J'en sais rien. Peut-être que l'auteur a corrigé son code entre le moment où il a posté qu'il avait une erreur de compilation, et le moment où il a posté son code ? Ou alors peut-être qu'il compilait une ancienne version de son code parce qu'il n'avait pas sauvegardé le code avec son éditeur de texte ? Y a plein d'explications possibles

                                          Sur ce forum ce sont des débutants qui postent les sujets, en général entre ce que l'auteur du post dit et ce qu'il se passe réellement, il peut y avoir une grosse marge.

                                          -
                                          Edité par potterman28wxcv 29 mai 2019 à 16:50:19

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          code du jeu 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