Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Exercice] en fonction des cours

    19 décembre 2005 à 17:18:59

    Voilà je pense que avec tous ce que vous avez vu il y a un exercice qui est accessible a tous. Le morpion.

    Et oui il ne suffit pas de grand chose pour en faire un ( même si le fait de connaitres les fonctions allége le code ).

    Je propose donc de faire un Morpion pour tous ceux qui veulent progresser.
    Indispensable: Tous ce qui a été dit dans les cours de C.

    Différents niveaux doit etre fait.
    1/Créer la grille du jeux ( avec des scanf :p ) Créer les pions ( des croix et des 0 feront trés bien l'affaire). Et enfin permettre de placer les pions et de reconnaitre quand qqn a gagner.
    A la fin de celui-là, on pourra donc faire jouer deux humains l'un contre l'autre

    Et la on passe aux niveaux2 !!!

    2/Mettre un ordinateur sans I.A qui va poser des pions aux hasard.

    3/Développez une I.A qui permet a l'ordin de gagner a la moindre bétisede la part de l'homme et qui lui permettent de ne jamais perdre.

    4/Pour les plus vaillant un compteur de victoire serait pas mal :)

    Voilà je pense que ça peut etre interessant !!
    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2005 à 17:40:10

      Il est vraiment possible de faire un morpion avec les premier cours de Mateo??????
      • Partager sur Facebook
      • Partager sur Twitter
        19 décembre 2005 à 17:45:39

        Oui, pour que tu sache manier les tableaux a plusieurs dimensions et sa serat encore plus simple ^^ .
        Sinon, si y'en qui se lance dedans, j'ai quelque algo pour une IA simple (block/gagne/place intelligement), si y'en a qui arrive pas a trouver :-°
        • Partager sur Facebook
        • Partager sur Twitter
          19 décembre 2005 à 18:28:39

          En faite je ne vois pasz trop comment faire la grille de jeux avec un scanf, si quelqu'un peut me mettre sur la vois (du seigeur, heu pardon)...
          • Partager sur Facebook
          • Partager sur Twitter
            19 décembre 2005 à 18:51:57

            A mon avis il voulez dire avec un printf() :)
            • Partager sur Facebook
            • Partager sur Twitter
              19 décembre 2005 à 19:41:31

              ca me parait dure a réaliser moi ... deja faudrer que je me rappel les régles du morpions :p

              je vient de faire vite fait la grille dite moi ce que vous en pensez :

              ici
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                19 décembre 2005 à 19:50:52

                J'avais fait un morpion avec ncurses sous Linux... c'était sympas bien qu'un peu chiant le ncurses, et l'IA pour l'instant j'ai aucune idée de comment faire. Je voulais faire un code propre et beau, j'ai fait un truc de 600 lignes de codes sur-commenté avec des macros dans tous les sens. J'en referai bien un en OpenGL ou SDL quand j'aurai appris (à moins que je fasse un pong ?). Celui-là je peux pas vraiment l'améliorer il y a trop de fonctions, c'est un peu le bazarre.

                Si vous commencez un morpion là, il sera forcément pas beau mais c'est pas grave, c'est faisable (même si c'est quand même bien plus pratique quand on a au moins des fonctions, tableaux et pointeurs), faudra juste redessiner la grille à chaque fois et tout ;)

                En plus le morpion lui même est vraiment un jeux chiant :p au bout de 3 parties déja marre.
                • Partager sur Facebook
                • Partager sur Twitter
                  19 décembre 2005 à 20:03:10

                  Le but n'est pas l'amusement mais d'apprendre :p

                  Regardez : ici

                  Je ne comprend pas pourquoi une fois le choix de la case taper il me met une erreur et me ferme le programme o_O
                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 décembre 2005 à 20:19:32

                    Ca serait sympa de nous donner le code stp !!
                    La on peut pas bien voir ou est l'erreur :-°
                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 décembre 2005 à 20:24:08

                      Avec mes connaissances du moment, j'ai aucune idée de la création d'un morpion, c'est normal ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 décembre 2005 à 20:26:22

                        bah l'erreur je la connais!j'ai djà eu la même!on a oublier de mettre 1 & devant le nom d'une variable dans le scanf

                        (quel vilain garnement j'vous jure!)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          19 décembre 2005 à 20:34:09

                          Mais meme si tu réflechis, c'est pratiquement impossible avec les connaissances qu'on a (ou qu'on est censé avoir, car avec la curiosité on apprend vite)
                          Serieux, celui qui y arrive, et qui nous sort un code-source By Lui, je le respecte !!!
                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 décembre 2005 à 20:38:43

                            Je pense pas que c'est le & devant le nom de la variable dans un scanf vu que moi quand c'est cette erreur bah il me fait un rapport Windows..
                            • Partager sur Facebook
                            • Partager sur Twitter
                              19 décembre 2005 à 20:39:37

                              J'ai fait mon morpion ici, pour l'exercice : exe ici et fichierS sourceS la (/!\ Projets visual c++ 6, includez bien les headers si vous en utilisez un autre :) )
                              Bon, je ne pouvais pas m'empecher d'utilisez des classes pour sa, c'est plus propres, et désolé pour les débutants qui comprendront certainement pas.
                              Mon code est loin d'être le meilleur pour faire un morpion (aucun commentaire, sauf a de rare endroit).
                              Si y'a des temeraires qui comprenent pas un truc dans mon code, je veux bien l'expliquer ^^
                              L'IA a quelque faiblesse quelque fois et impossible de savoir d'ou sa viens
                              Pour l'instant on peux pas encore gagner en diagonale, mais je suis en train de le fairedebuggez pour qu'il marche

                              (PS : si y'en a qui comprenent pas pourquoi j'ai fait un héritage avec la classe game, c'est parce que le morpion est un seul de tout les jeux que je vais faire :) , et que l'a j'ai coupé pour avoir seulement un morpion et rien d'autre)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 décembre 2005 à 21:03:08

                                merci, pour l'erreur c'etait bien un & oublié :euh: desole

                                sinon j'essai de le coder le morpion ca va pas etre trés evident mais bon ça coute rien d'essayer

                                au fait tif-tof je pense que tu as oublier de mettre un system pause parce que la fenetre ce referme direct :p
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  19 décembre 2005 à 21:03:25

                                  En fait vous pensez que vous n'avez pas du tout le niveau (ceux qui ont appris ici hein) parce que vous ne savez pas utiliser certaines API et pensez qu'un morpion doit être beau, belle interface graphique...

                                  Mais vous pouvez très bien dessiner une grille avec des printf, dans cette grille on verra sur chaque case un numéro avec son état, on demande la case avec un scanf (ou un gets + atoi), puis si vous connaissez pas les tableaux vous pouvez créer 9 variables, pas de mode 2 jouers, enfin ça a l'ai faisable quand même vous pouvez toujours essayer.

                                  Sinon autre exercice que je conseil (que je viens de terminer en finalisant le code) : une suite de fibonacci. C'est un petit algrithme à peu près au niveau de n'importe qui ayant lu les cours, et puis, comme je fais, on peut s'entraîner aisni sur un petit code à créer un programme un peu perfectionné avec des arguments et tout.

                                  ;)

                                  ps : tif-tof c'est quoi ces fonctions dans les .h >_<
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    19 décembre 2005 à 21:20:33

                                    Pour les fonctions dans les .h, c'etait parce que j'avais la flemme de créer un nouveau projet pour tester un petit bout de code, alors j'ai mis tout ce qui avait dans main dans une fonction pour pouvoir ensuite tout récuperer ^^
                                    J'aurait du la supprimer celle la, tiens d'ailleurs c'est deja fait :p

                                    @oyostudio :
                                    mon compilateur rajoute automatiquement un message pour pas que la console s'arrête brusquement, mais bon je vais quand meme rajouter un getchar().
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      19 décembre 2005 à 21:21:23

                                      voici mon debut de code :

                                      #include <stdio.h>
                                      #include <stdlib.h>

                                      int main(int argc, char *argv[])
                                      {
                                        long choix_equipe = 0, choix_case = 0;
                                        printf ("Selectionnez votre equipe : \n\n");
                                        printf ("1. X \n");
                                        printf ("2. 0 \n\n");
                                        scanf ("%ld", &choix_equipe);
                                       
                                        printf ("\n\n");
                                       
                                        if (choix_equipe == 1)
                                        {
                                                         printf ("Selectionner le numero de la case ou vous souhaiter placer votre pion : \n\n");
                                                         printf ("123 \n456 \n789 \n\n");
                                                         scanf ("%ld", &choix_case);
                                                         
                                                         switch (choix_case)
                                                         {
                                                                case 1:
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("|     X  | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                break;
                                                               
                                                                case 2:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t |     X | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 3:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t |     X | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 4:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("|      X | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 5:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t |     X | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 6:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t |     X | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 7:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("|      X | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 8:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t |     X | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 9:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t |     X | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                                }
                                                                     
                                                         }
                                                         
                                                         else if (choix_equipe == 2)
                                                         {
                                                         printf ("Selectionner le numero de la case ou vous souhaiter placer votre pion : \n\n");
                                                         printf ("123 \n456 \n789 \n\n");
                                                         scanf ("%ld", &choix_case);
                                                         
                                                         switch (choix_case)
                                                         {
                                                                case 1:
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("|     0  | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                break;
                                                               
                                                                case 2:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t |     0 | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 3:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t |     0 | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 4:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("|      0 | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 5:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t |     0 | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 6:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t |     0 | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 7:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("|      0 | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 8:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t |     0 | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                               
                                                                case 9:
                                                                     
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t |     0 | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("| \t | \t | \t | \n");
                                        printf ("-------------------------- \n\n\n");
                                                                     
                                                                break;
                                                                }
                                       
                                        }
                                        system("PAUSE");     
                                        return 0;
                                      }


                                      je sait pas s'il peut vous aider, je ne sait pas si je suis sur le bon chemin lol

                                      voici l'application : ici
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        19 décembre 2005 à 21:52:29

                                        http://dl-3.free.fr/52616e646f6d4956a54276abf25ae2140facf9835f85feafb49d0e87c0840fb7/Morpion.exe

                                        voila!ya que l'équipe X et la case 1...je fais le reste demain! essayer!@+!

                                        #include <stdio.h>
                                        #include <stdlib.h>

                                        int main(int argc, char *argv[])
                                        {
                                          printf("   case 1     case 2     case 3\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|          |          |          |\n");
                                          printf("|  case 4  |  case 5  |  case 6  |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("  case 7      case 8     case 9\n\n");
                                          printf("Choisissez l'équipe de votre choix:\n\n1. X\n2. 0\n\n");
                                          long choix_equipe = 0;
                                          scanf("%d", &choix_equipe);
                                          if(choix_equipe==1)
                                          {
                                                             printf("Vous avez choisis les X!Choisissez la case ou vous voulez placez votre X!");
                                                             long choix1 = 0;
                                                             scanf("%d", &choix1);
                                                             if(choix1==1)
                                                             {
                                                                          system("CLS");
                                          printf("   case 1     case 2     case 3\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|  X     X |          |          |\n");
                                          printf("|    X X   |          |          |\n");
                                          printf("|    X X   |          |          |\n");
                                          printf("|  X     X |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|          |          |          |\n");
                                          printf("|  case 4  |  case 5  |  case 6  |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("  case 7      case 8     case 9\n\n");
                                          printf("Au tour de l'adversaire!\n\n");
                                          system("PAUSE");
                                          system("CLS");
                                          printf("   case 1     case 2     case 3\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|  X     X |          |          |\n");
                                          printf("|    X X   |          |          |\n");
                                          printf("|    X X   |          |          |\n");
                                          printf("|  X     X |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|          |0  0  0  0|          |\n");
                                          printf("|  case 4  |0 case 5 0|  case 6  |\n");
                                          printf("|          |0        0|          |\n");
                                          printf("|          |0  0  0  0|          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|          |          |          |\n");
                                          printf("|----------|----------|----------|\n");
                                          printf("  case 7      case 8     case 9\n\n");
                                        }
                                        else
                                        {
                                            printf("Vous n'avez pas choisis de bonne case!");
                                        }
                                        }
                                          system("PAUSE");     
                                          return 0;
                                        }



                                        voilà!
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          20 décembre 2005 à 9:18:15

                                          En fait j ai été un peu vite pour proposer ce jeux !!! il faut d'abord avoir étudier les tableaux ( quoi que ) donc je le reproposerais quand un tuto sur les tableaux sera sortit et je détaillerais un peu plus la méthode a suivre !!
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            20 décembre 2005 à 9:52:29

                                            beuh moi j'arrive!c juste que...l'IA ... j'arrive pas à la rendre intelligente...c'est moi qui fait ces choix...
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              20 décembre 2005 à 10:17:32

                                              Au début tu vas faire ces choix mais vu la simplicité du jeux tu vas vite trouver comment lui permettre de voir a deux coups et lui permettre de gagner !!!

                                              Commence donc déja par lui apprendre a bloquer quand l'autre va gagner et a gagner quand il peut !!!

                                              Aprés tu passeras au niveau au dessus
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                20 décembre 2005 à 10:48:44

                                                Moi, je pense qu'il faut pour les purs zer0 savoir au minimum :

                                                • Utiliser les tableaux
                                                • Faire une fonction


                                                Après, voici un peu l'algorithme :

                                                Citation : Idée de l'Algorithme


                                                • Faire un tableau 3x3 pour gérer la grille
                                                • Faire une fonction qui teste si l'on où l'autre des joueurs à gagné
                                                • Faire une fonction pour faire jouer l'ordinateur
                                                • Afficher le score



                                                Citation : Micro Cours


                                                Citation : Les tableaux


                                                On déclare les tableaux comme ceci :

                                                type nom[DIMENSION]; // Syntaxe
                                                int nombres[10]; //Exemple


                                                Un tableau peut être considéré comme un ensemble de variable de nom[0] à NOM[DIMENSION-1]

                                                Dans notre cas, on a besoin d'un tableau de 3 lignes et 3 colones.
                                                On fera donc :

                                                type nom[LIGNE][COLONE];


                                                Les variables en majuscule sont des constantes et uniquement des constantes.

                                                char morpion[3][3]; // Pour stocker les X ou O




                                                Citation : Fonctions

                                                Les fonctions permettent de rendre plus propre le code et d'exécuter une action plusieurs fois

                                                Dans notre exemple, on devra initialiser notre tableau.

                                                void initTab(char morpion[3][3]){
                                                  int i,j; // Compteur de boucle for
                                                  for(i=0;i<3;i++){
                                                    for(j=0;j<3;j++){
                                                      morpion[i][j] = ' '; // On met par default un espace
                                                    }
                                                  }
                                                }


                                                void signifie que la fonction ne renvoit aucune valeur. On apelle ce type de fonction une procédure
                                                Si on renvoi quelques chose, on remplace void par le type de cette chose. bool pour un booléen (Pour la fonction gagné ;))




                                                Voilà. Je pense que ce Micro-Cours pourra en aider certains. Pour les autres, M@téo bosse sur les cours alors patience.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  20 décembre 2005 à 10:55:40

                                                  Les tableaux c'est presque obligatoire c vrai mais alors les fonctions pas du tous !!!
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    20 décembre 2005 à 10:59:23

                                                    Oui, mais sa servirait a rendre plus propre le code et a s'y retrouver mieux (Pour modifier l'initialisation, on va dans la fonction initTab et voila, etc ^^ )
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      20 décembre 2005 à 11:00:01

                                                      Bas moi je suis entrain d'essayer d'en faire un avec de l'aide ^^ et j'ai du mal ... alors que j'ai appris un peu la POO, les tableaux, les fonctions et je suis en plein dans les pointeurs


                                                      Ah et un conseil pour le tableau il vaut mieux l'initialisé a 0 sa permet de vérifier si la case est vide ;)

                                                      comme sa :


                                                      int morp [3] [3] = {{0,0,0} , {0,0,0} , {0,0,0}};
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        20 décembre 2005 à 11:01:22

                                                        Oui, mais tu utilise un tableau d'entier et moi de caractère.
                                                        Tu ne pourra entré dans ton tableau que des chiffres et moi des caractères. :lol:
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          20 décembre 2005 à 11:02:53

                                                          lut :)
                                                          voila mon morpion :
                                                          télécharger mon morpion

                                                          j'ai passé la nuit dessus (pas parcequ'il est vachement compliqué mais parcequ'il est vachement long :p ). il se joue a 2, y a pas d'IA

                                                          cliquez ici pour le code (il est très brouillon :-° )

                                                          j'espère que vous aimerez :)

                                                          PS: lisez bien les consignes pour pouvoir jouer.
                                                          PS2: je n'ai pas utilisé de tableau, je l'ai fait avec les moyens du bord.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            20 décembre 2005 à 11:03:30

                                                            Pourquoi utilisé des caractéres??? Avec des entiers c'est plus simple ;)
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              20 décembre 2005 à 11:03:59

                                                              On peut entrer dans un tableau de caractère des chiffres.
                                                              Sinon pour l'initialisation je l'aurait mis en char en l'initialisant qu'avec des espaces :
                                                              char morp[3][3] = {{' ',' ',' '} , {' ',' ',' '} , {' ',' ',' '}};


                                                              Pour pouvoir ensuite y mettre des X et des O :)

                                                              @neodyme : Wow, un code de 1300 lignes xD t'a du courage.
                                                              Bon sinon le code très long, mais le morpion en lui-même est beau et bien, sauf qu'on peut choisir plusieurs fois la même case.
                                                              Maintenant essaie d'en faire un en utilisant les tableaux, je crois que sa serait bien plus court et encore mieux :)
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              [Exercice] en fonction des cours

                                                              × 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