Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Jeu Flash ] Un Morpion impossible ?

un petit moment de jeu

    20 décembre 2007 à 23:18:56

    Voila je me suis remis a flash il y a peu et j'ai crée un petit jeu de morpion au début sans inteligence artificiel mais maintenant doté d'un joueur imbatable il est IMPSOIBLE de le batre ( je sais que ce n'es pas un exploit et ca n'etait pas le but )

    si vous voulez vous confronter a lui Morpion

    Votre seul mérite sera de ne pas perdre


    Voila si quelques personne se sont addonées a un petit moment de jeu tant mieu et si vous penser a quelques idées d'amélioration faites moi en part merci =)
    • Partager sur Facebook
    • Partager sur Twitter
      21 décembre 2007 à 6:01:58

      comment tu fais pour qu'il soit "imbattable" ? tu as enregistrer tous les cas possibles et tu choisis le meilleur en fonction ?
      • Partager sur Facebook
      • Partager sur Twitter
        21 décembre 2007 à 6:41:53

        a peu de chose pres et je suis telement gentil que je vais metre ici mon IE pour les curieu ( je n'ai rien a perdre )

        1. var temp:Number = 0;
        2.         if(_root.case_rempli == 0)
        3.         {
        4.                 temp = random(4);
        5.                 switch(temp)
        6.                 {
        7.                         case 1:
        8.                         _root.case_101.etat = 2;
        9.                         break;
        10.                         case 2:
        11.                         _root.case_103.etat = 2;
        12.                         break;
        13.                         case 3:
        14.                         _root.case_301.etat = 2;
        15.                         break;
        16.                         case 4:
        17.                         _root.case_303.etat = 2;
        18.                         break;
        19.                         default:
        20.                         _root.case_301.etat = 2;
        21.                         break;
        22.                 }
        23.         }
        24.         else if(_root.case_rempli == 1 && _root.case_202.etat == 0 )
        25.         {
        26.                 _root.case_202.etat = 2;
        27.         }
        28.         else if(_root.case_rempli == 1 && _root.case_202.etat == 1 )
        29.         {
        30.                 temp = random(4);
        31.                 switch(temp)
        32.                 {
        33.                         case 1:
        34.                         _root.case_101.etat = 2;
        35.                         break;
        36.                         case 2:
        37.                         _root.case_103.etat = 2;
        38.                         break;
        39.                         case 3:
        40.                         _root.case_301.etat = 2;
        41.                         break;
        42.                         case 4:
        43.                         _root.case_303.etat = 2;
        44.                         break;
        45.                         default:
        46.                         _root.case_301.etat = 2;
        47.                         break;
        48.                 }
        49.         }
        50.         // Gagner joueur 2
        51.         else if( _root.case_101.etat == 2 && _root.case_102.etat == 2 && _root.case_103.etat == 0 )
        52.         {
        53.                 _root.case_103.etat = 2;
        54.         }
        55.         else if( _root.case_101.etat == 2 && _root.case_102.etat == 0 && _root.case_103.etat == 2 )
        56.         {
        57.                 _root.case_102.etat = 2;
        58.         }
        59.         else if( _root.case_101.etat == 0 && _root.case_102.etat == 2 && _root.case_103.etat == 2 )
        60.         {
        61.                 _root.case_101.etat = 2;
        62.         }
        63.         else if( _root.case_201.etat == 2 && _root.case_202.etat == 2 && _root.case_203.etat == 0 )
        64.         {
        65.                 _root.case_203.etat = 2;
        66.         }
        67.         else if( _root.case_201.etat == 2 && _root.case_202.etat == 0 && _root.case_203.etat == 2 )
        68.         {
        69.                 _root.case_202.etat = 2;
        70.         }
        71.         else if( _root.case_201.etat == 0 && _root.case_202.etat == 2 && _root.case_203.etat == 2 )
        72.         {
        73.                 _root.case_201.etat = 2;
        74.         }
        75.         else if( _root.case_301.etat == 2 && _root.case_302.etat == 2 && _root.case_303.etat == 0 )
        76.         {
        77.                 _root.case_303.etat = 2;
        78.         }
        79.         else if( _root.case_301.etat == 2 && _root.case_302.etat == 0 && _root.case_303.etat == 2 )
        80.         {
        81.                 _root.case_302.etat = 2;
        82.         }
        83.         else if( _root.case_301.etat == 0 && _root.case_302.etat == 2 && _root.case_303.etat == 2 )
        84.         {
        85.                 _root.case_301.etat = 2;
        86.         }
        87.         else if( _root.case_101.etat == 2 && _root.case_201.etat == 2 && _root.case_301.etat == 0 )
        88.         {
        89.                 _root.case_301.etat = 2;
        90.         }
        91.         else if( _root.case_101.etat == 2 && _root.case_201.etat == 0 && _root.case_301.etat == 2 )
        92.         {
        93.                 _root.case_201.etat = 2;
        94.         }
        95.         else if( _root.case_101.etat == 0 && _root.case_201.etat == 2 && _root.case_301.etat == 2 )
        96.         {
        97.                 _root.case_101.etat = 2;
        98.         }
        99.         else if( _root.case_102.etat == 2 && _root.case_202.etat == 2 && _root.case_302.etat == 0 )
        100.         {
        101.                 _root.case_302.etat = 2;
        102.         }
        103.         else if( _root.case_102.etat == 2 && _root.case_202.etat == 0 && _root.case_302.etat == 2 )
        104.         {
        105.                 _root.case_202.etat = 2;
        106.         }
        107.         else if( _root.case_102.etat == 0 && _root.case_202.etat == 2 && _root.case_302.etat == 2 )
        108.         {
        109.                 _root.case_102.etat = 2;
        110.         }
        111.         else if( _root.case_103.etat == 2 && _root.case_203.etat == 2 && _root.case_303.etat == 0 )
        112.         {
        113.                 _root.case_303.etat = 2;
        114.         }
        115.         else if( _root.case_103.etat == 2 && _root.case_203.etat == 0 && _root.case_303.etat == 2 )
        116.         {
        117.                 _root.case_203.etat = 2;
        118.         }
        119.         else if( _root.case_103.etat == 0 && _root.case_203.etat == 2 && _root.case_303.etat == 2 )
        120.         {
        121.                 _root.case_103.etat = 2;
        122.         }
        123.         else if(_root.case_202.etat == 2 && _root.case_101.etat == 2 && _root.case_303.etat == 0)
        124.         {
        125.                 _root.case_303.etat = 2;
        126.         }
        127.         else if(_root.case_202.etat == 0 && _root.case_101.etat == 2 && _root.case_303.etat == 2)
        128.         {
        129.                 _root.case_202.etat = 2;
        130.         }
        131.         else if(_root.case_202.etat == 2 && _root.case_101.etat == 0 && _root.case_303.etat == 2)
        132.         {
        133.                 _root.case_101.etat = 2;
        134.         }
        135.         else if(_root.case_103.etat == 2 && _root.case_202.etat == 2 && _root.case_301.etat == 0)
        136.         {
        137.                 _root.case_301.etat = 2;
        138.         }
        139.         else if(_root.case_103.etat == 0 && _root.case_202.etat == 2 && _root.case_301.etat == 2)
        140.         {
        141.                 _root.case_103.etat = 2;
        142.         }
        143.         else if(_root.case_103.etat == 2 && _root.case_202.etat == 0 && _root.case_301.etat == 2)
        144.         {
        145.                 _root.case_202.etat = 2;
        146.         }
        147.         // Enpecher joueur 1 de gagner
        148.         else if( _root.case_101.etat == 1 && _root.case_102.etat == 1 && _root.case_103.etat == 0 )
        149.         {
        150.                 _root.case_103.etat = 2;
        151.         }
        152.         else if( _root.case_101.etat == 1 && _root.case_102.etat == 0 && _root.case_103.etat == 1 )
        153.         {
        154.                 _root.case_102.etat = 2;
        155.         }
        156.         else if( _root.case_101.etat == 0 && _root.case_102.etat == 1 && _root.case_103.etat == 1 )
        157.         {
        158.                 _root.case_101.etat = 2;
        159.         }
        160.         else if( _root.case_201.etat == 1 && _root.case_202.etat == 1 && _root.case_203.etat == 0 )
        161.         {
        162.                 _root.case_203.etat = 2;
        163.         }
        164.         else if( _root.case_201.etat == 1 && _root.case_202.etat == 0 && _root.case_203.etat == 1 )
        165.         {
        166.                 _root.case_202.etat = 2;
        167.         }
        168.         else if( _root.case_201.etat == 0 && _root.case_202.etat == 1 && _root.case_203.etat == 1 )
        169.         {
        170.                 _root.case_201.etat = 2;
        171.         }
        172.         else if( _root.case_301.etat == 1 && _root.case_302.etat == 1 && _root.case_303.etat == 0 )
        173.         {
        174.                 _root.case_303.etat = 2;
        175.         }
        176.         else if( _root.case_301.etat == 1 && _root.case_302.etat == 0 && _root.case_303.etat == 1 )
        177.         {
        178.                 _root.case_302.etat = 2;
        179.         }
        180.         else if( _root.case_301.etat == 0 && _root.case_302.etat == 1 && _root.case_303.etat == 1 )
        181.         {
        182.                 _root.case_301.etat = 2;
        183.         }
        184.         else if( _root.case_101.etat == 1 && _root.case_201.etat == 1 && _root.case_301.etat == 0 )
        185.         {
        186.                 _root.case_301.etat = 2;
        187.         }
        188.         else if( _root.case_101.etat == 1 && _root.case_201.etat == 0 && _root.case_301.etat == 1 )
        189.         {
        190.                 _root.case_201.etat = 2;
        191.         }
        192.         else if( _root.case_101.etat == 0 && _root.case_201.etat == 1 && _root.case_301.etat == 1 )
        193.         {
        194.                 _root.case_101.etat = 2;
        195.         }
        196.         else if( _root.case_102.etat == 1 && _root.case_202.etat == 1 && _root.case_302.etat == 0 )
        197.         {
        198.                 _root.case_302.etat = 2;
        199.         }
        200.         else if( _root.case_102.etat == 1 && _root.case_202.etat == 0 && _root.case_302.etat == 1 )
        201.         {
        202.                 _root.case_202.etat = 2;
        203.         }
        204.         else if( _root.case_102.etat == 0 && _root.case_202.etat == 1 && _root.case_302.etat == 1 )
        205.         {
        206.                 _root.case_102.etat = 2;
        207.         }
        208.         else if( _root.case_103.etat == 1 && _root.case_203.etat == 1 && _root.case_303.etat == 0 )
        209.         {
        210.                 _root.case_303.etat = 2;
        211.         }
        212.         else if( _root.case_103.etat == 1 && _root.case_203.etat == 0 && _root.case_303.etat == 1 )
        213.         {
        214.                 _root.case_203.etat = 2;
        215.         }
        216.         else if( _root.case_103.etat == 0 && _root.case_203.etat == 1 && _root.case_303.etat == 1 )
        217.         {
        218.                 _root.case_103.etat = 2;
        219.         }
        220.         else if(_root.case_202.etat == 1 && _root.case_101.etat == 1 && _root.case_303.etat == 0)
        221.         {
        222.                 _root.case_303.etat = 2;
        223.         }
        224.         else if(_root.case_202.etat == 0 && _root.case_101.etat == 1 && _root.case_303.etat == 1)
        225.         {
        226.                 _root.case_202.etat = 2;
        227.         }
        228.         else if(_root.case_202.etat == 1 && _root.case_101.etat == 0 && _root.case_303.etat == 1)
        229.         {
        230.                 _root.case_101.etat = 2;
        231.         }
        232.         else if(_root.case_103.etat == 1 && _root.case_202.etat == 1 && _root.case_301.etat == 0)
        233.         {
        234.                 _root.case_301.etat = 2;
        235.         }
        236.         else if(_root.case_103.etat == 0 && _root.case_202.etat == 1 && _root.case_301.etat == 1)
        237.         {
        238.                 _root.case_103.etat = 2;
        239.         }
        240.         else if(_root.case_103.etat == 1 && _root.case_202.etat == 0 && _root.case_301.etat == 1)
        241.         {
        242.                 _root.case_202.etat = 2;
        243.         }
        244.         else
        245.         {
        246.                 var ok:Boolean = false;
        247.                 var pre:Number = 0;
        248.                 var deu:Number = 0;
        249.                 var i:Number = 0;
        250.                 while(!ok)
        251.                 {
        252.                         pre = random(3) + 1;
        253.                         deu = random(3) + 1;
        254.                         pre.toString();
        255.                         deu.toString();
        256.                         if(_root["case_"+pre+"0"+deu].etat == 0 )
        257.                         {
        258.                                 _root["case_"+pre+"0"+deu].etat = 2;
        259.                                 ok = true;
        260.                         }
        261.                         i++;
        262.                         if(i>300)
        263.                         {
        264.                                 ok = true;
        265.                         }
        266.                 }
        267.         }
        268.         _root.case_rempli++;


        Au début on as les quelques coup que l'adversaire ( donc le joueur humain ) pourais utiliser pour prendre de vitesse l'ordi ( en finissant avec de choix pour gagner l'ordi ne pourais en combler seulement un ) puis ensuite si un choix qui permet la victoire est disponible on le joue tout de suite, apres cela si un choix permet de bloquer la victoire du joueur on joue cette case et seulement apres on cherche une case aléatoire

        Il est vrai que le choix de trouver une case aléatoire fait perdre un peu de difficulter mais il reste toujours invinsible


        Voila bon journée

        PS : Un grand merci au modérateur encore désolé ...
        • Partager sur Facebook
        • Partager sur Twitter
          21 décembre 2007 à 7:54:04

          3 Remarques:

          Vainqueur, ça s'écrit comme ça et pas "vainceur"

          Recommencer, ça prend 2 "m"

          Et j'ai réussi à battre ton morpion invincible :pImage utilisateur
          • Partager sur Facebook
          • Partager sur Twitter
            21 décembre 2007 à 10:46:11

            Salut,

            1/ Ton IA n'est pas imbattable car j'ai réussi à battre l'ordinateur mais ton algo déconne car il m'a dit que j'avais perdu lol.
            2/ Ton code AS est loin d'être pertinent. Pour ce genre de programme, il est bon d'utiliser une matrice (tableau 2D) pour représenter la grille.
            3/ Si tu veux faire une IA imbattable, implémente l'algorithme du Minimax.

            Si tu veux t'inspirer, voici le morption que j'ai réalisé l'année dernière en Javascript avec un ami lors de mon DUT et mes cours d'algo :

            http://www.hugohamon.com/realisations/programmation/javascript/morpion/

            ++

            Hugo.
            • Partager sur Facebook
            • Partager sur Twitter
              21 décembre 2007 à 12:30:46

              Ton joueur virtuel n'est pas du tout imbattable !!
              La preuve :
              Image utilisateur

              Il va falloir revoir un peu l'algorithme pour qu'il soit un peu plus doué !
              • Partager sur Facebook
              • Partager sur Twitter
                21 décembre 2007 à 14:47:52

                Il est un peu longuet ton code ... ça aurait pas été possible de faire avec des boucles ou avec un système logique ?
                • Partager sur Facebook
                • Partager sur Twitter
                  21 décembre 2007 à 14:57:14

                  Ca triche j'allais le batre lorqu'il ma mis que j'ai perdu !
                  Ca pue a chaque fois je gagne il me dit que je perd :|
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 décembre 2007 à 18:04:45

                    Déjà merci pour toute vos réponses

                    En effet il est possible de gagner car en écrivant mon code j'ai fait plusieur fautes de frapes créant des érreur asser spéciale

                    Pour ceux qui sont sur d'avoir gagner et d'avoir eu un message de défaite voila le code de victoire

                    1. if( ( case_101.etat == 1 && case_102.etat == 1 && case_103.etat == 1 ) )
                    2.         {
                    3.         win = 1;
                    4.         }
                    5.         if( ( case_101.etat == 2 && case_102.etat == 2 && case_103.etat == 2 ) )
                    6.         {
                    7.         win = 2;
                    8.         }
                    9.         if( ( case_201.etat == 1 && case_202.etat == 1 && case_203.etat == 1 ) )
                    10.         {
                    11.         win = 1;
                    12.         }
                    13.         if( ( case_201.etat == 2 && case_202.etat == 2 && case_203.etat == 2 ) )
                    14.         {
                    15.         win = 2;
                    16.         }
                    17.         if( ( case_301.etat == 1 && case_302.etat == 1 && case_303.etat == 1 ) )
                    18.         {
                    19.         win = 1;
                    20.         }
                    21.         if( ( case_301.etat == 2 && case_302.etat == 2 && case_303.etat == 2 ) )
                    22.         {
                    23.         win = 2;
                    24.         }
                    25.         if( ( case_101.etat == 1 && case_201.etat == 1 && case_301.etat == 1 ) )
                    26.         {
                    27.         win = 1;
                    28.         }
                    29.         if( ( case_101.etat == 2 && case_201.etat == 2 && case_301.etat == 2 ) )
                    30.         {
                    31.         win = 2;
                    32.         }
                    33.         if( ( case_102.etat == 1 && case_202.etat == 1 && case_302.etat == 1 ) )
                    34.         {
                    35.         win = 1;
                    36.         }
                    37.         if( ( case_102.etat == 2 && case_202.etat == 2 && case_302.etat == 2 ) )
                    38.         {
                    39.         win = 2;
                    40.         }
                    41.         if( ( case_103.etat == 1 && case_203.etat == 1 && case_303.etat == 1 ) )
                    42.         {
                    43.         win = 1;
                    44.         }
                    45.         if( ( case_103.etat == 2 && case_203.etat == 2 && case_303.etat == 2 ) )
                    46.         {
                    47.         win = 2;
                    48.         }
                    49.         if( ( case_101.etat == 1 && case_202.etat == 1 && case_303.etat == 1 ) )
                    50.         {
                    51.         win = 1;
                    52.         }
                    53.         if( ( case_101.etat == 2 && case_202.etat == 2 && case_303.etat == 2 ) )
                    54.         {
                    55.         win = 2;
                    56.         }
                    57.         if( ( case_103.etat == 1 && case_202.etat == 1 && case_301.etat == 1 ) )
                    58.         {
                    59.         win = 1;
                    60.         }
                    61.         if( ( case_103.etat == 2 && case_202.etat == 2 && case_301.etat == 2 ) )
                    62.         {
                    63.         win = 2;
                    64.         }


                    et je suis bien d'accord se code est completement barbare et je sais aussi que c'est mon défault

                    Pour l'orthographe je vais corriger

                    Voila encore merci je vous previendrais pour les nouvelles verison



                    PS: Personne a des idée d'amélioration et/ou de changement ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 décembre 2007 à 18:11:30

                      Meme probleme : je gagne et il me dit que c'est l'ia qui a gagné! tricheur :p
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 décembre 2007 à 18:56:56

                        En même temps si quand on va gagner le bot triche :/

                        J'allais enfin gagner pas le temps de mettre ma croix et paf il gagne... C'est sournois ca ! J'allais gagner et c'est lui qui gagne !

                        Pas juste :(

                        Edit :

                        J'ai recommencer et j'ai gagner :p

                        Edit 2 :

                        J'ai aligné 3 croix et c'est lui qui gagne :o Et une fois j'ai pas 3 croix alignés mais je gagne... L'est bugué ton morpion...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 décembre 2007 à 19:19:44

                          eu toi tu est le truc vert et lui les croix ... et non pas l'inverse ^^
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 décembre 2007 à 20:14:10

                            De toute façon ton algo n'est pas fiable. Il faut que tu le revois et que tu te bases sur des vrais algorithmes. Là tu testes toutes les combinaisons possibles. Ca va qu'il n'y a pas beaucoup de cases mais si on étendait à un morpion de 8x8 par exemple, ce serait ingérable.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              22 décembre 2007 à 23:37:50

                              C'est marrent j'ai voulu faire un match nul et il me met que c'est moi le vainqueur (tant mieux pour moi :D )

                              [edit] : ha, non désolé, il n'y a pas d'erreur, c'est juste que en faisant un match nul c'est toujours ecrit vainqueur(faudrait peut etre modifier ça) mais pas de forme entierement visible (je parle de la croix rouge(sans jeu de mot :p ) et du vu vert).
                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 décembre 2007 à 23:41:34

                                j'ai gagné moi aussi
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Web Developer - PHP - Symfony2 - Expert Facebook
                                  22 décembre 2007 à 23:44:54

                                  Citation : colibri

                                  C'est marrent j'ai voulu faire un match nul et il me met que c'est moi le vainqueur (tant mieux pour moi :D )

                                  [edit] : ha, non désolé, il n'y a pas d'erreur, c'est juste que en faisant un match nul c'est toujours ecrit vainqueur(faudrait peut etre modifier ça) mais pas de forme entierement visible (je parle de la croix rouge(sans jeu de mot :p ) et du vu vert).


                                  Peut etre que tu vas vu "vainceur" ( :-° ) et que tu n'as pas vu que aucun des deux logos n'était mis pour désigner le vainqueur :lol:

                                  Edit : grillé xD
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 décembre 2007 à 17:12:32

                                    j'ai gagné et il a écrit qu'il a gagné... xD
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      24 décembre 2007 à 12:09:11

                                      Lol, i lest facile à battre je toruves :P, Il a un point faible ^_^

                                      Mais sinon j'aime bien
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        24 décembre 2007 à 12:55:30

                                        Salut,

                                        j'ai trouvé une combinaison gagnante !

                                        Image utilisateur

                                        Sinon, le design est réussi. :)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          24 décembre 2007 à 16:46:55

                                          J'ai crée une nouvelle petite aplication flash mais la c'est juste pour vous

                                          un lecteur d'image ... ( exemple ici Diaporama photo )

                                          pour l'adapter :

                                          on télécharge le fichier swf ici : diapo.swf
                                          on telecharge le fichier html ici : diapo.html( a integrer dans une page web )
                                          vous crée un fichier xml sous cette forme

                                          1. <?xml version="1.0" encoding="UTF-8"?>
                                          2. <img langue="français">
                                          3.   <img lien="http://www.dune-tour.com/diaporama/draa/2.jpg">Un aperçus du rêves ...</img>
                                          4.   <img lien="http://www.dune-tour.com/diaporama/draa/1.jpg"></img>
                                          5.   <img lien="http://www.dune-tour.com/diaporama/draa/9.jpg">Le campement</img>
                                          6.   <img lien="http://www.dune-tour.com/diaporama/draa/7.jpg">Un oiseau sur une branche</img>
                                          7. </img>


                                          je crois que le code n'a pas besoin d'explication ... ^^ ( à part que le text entre balise qui est un comentaire facultatif ajouté à l'image )

                                          se fichier XML vous l'apeller comme vous le voulez ( le mieu c'est doc.xml )

                                          il sufit de metre le swf dans le meme dossier que le html et preciser ( dans le fichier html ) la position du fichier xml


                                          <object type="application/x-shockwave-flash" data="diapo.swf?lien_xml=http://www.worldlegend.fr/oly/flash/diapo/doc.xml" width="550" height="400">
                                          <param name="movie" value=diapo.swf?lien_xml=http://www.worldlegend.fr/oly/flash/diapo/doc.xml" />
                                          <p>Si l'utilisateur ne possède pas le plug-in</p>
                                          </object>

                                          ( il faut mettre 2 fois le meme lien )

                                          Voila je ne savait pas si je devais crer un nouveau post ...
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            30 décembre 2007 à 23:05:40

                                            Citation : OujA

                                            Salut,

                                            j'ai trouvé une combinaison gagnante !

                                            Image utilisateur

                                            Sinon, le design est réussi. :)



                                            J'ai refait le coup (les croix étaient placées un peu différement). Seulement voila, je place mon "V" et lui il triche et rajoute une croix et annonce qu'il a gagné ... De plus 8 de ses victoires sont du genre ... C'est compréhensible qu'il soit imbattable dans ce cas :D ! A part ca, je l'ai battu 5 fois :) ... Le design du jeu est superbe sinon et la rapidité de réponse du programme optimale. Continu comme ca !
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              30 décembre 2007 à 23:37:29

                                              Heu Sbizzare ton truc.

                                              J'ai une méthode pour battre ton Morpion, mais dès que j'ai enchainé les 3 V, lui, il en met un autre, et il dit qu'il a gagné o_O Or c'est moi qui est fait la ligne en premier !

                                              123
                                              456
                                              789

                                              Vous placez votre V sur le 4, ensuite, sur le 2 et avec un peu de chance, l'ordi n'a rien placé sur le 1,7 ou 9. À ce moment là, vous mettez un V sur le 1, et il est confronté à deux problème. Il va essayer de bloquer en passant par 7 ou 9, et vous vous mettez (en fonction de son choix) sur 9 ou 7. Et même si vous avez fait une ligne, lui il continue, et fait une ligne... or le morpion, c'est le premier qui fait une ligne qui gagne :/
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                31 décembre 2007 à 0:16:03

                                                Citation : Emacs

                                                Salut,

                                                1/ Ton IA n'est pas imbattable car j'ai réussi à battre l'ordinateur mais ton algo déconne car il m'a dit que j'avais perdu lol.
                                                2/ Ton code AS est loin d'être pertinent. Pour ce genre de programme, il est bon d'utiliser une matrice (tableau 2D) pour représenter la grille.
                                                3/ Si tu veux faire une IA imbattable, implémente l'algorithme du Minimax.

                                                Si tu veux t'inspirer, voici le morption que j'ai réalisé l'année dernière en Javascript avec un ami lors de mon DUT et mes cours d'algo :

                                                http://www.hugohamon.com/realisations/programmation/javascript/morpion/

                                                ++

                                                Hugo.


                                                on peut gagner a ton morpion
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  31 décembre 2007 à 13:47:35

                                                  Je trouve l'idée pas mal, le design réussit.

                                                  Dommage qu'il y ait des défauts dans le jeu.

                                                  Bonne continuation.

                                                  [edit: Ce que je proposerais c'est de laisser la grille de morpion visible lorsque l'on tombe sur la page "vainceur" (d'ailleur pense a modifier l'orthographe :p) car des fois je me demande s'il fait pas des trucs bizards :o
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    31 décembre 2007 à 15:18:56

                                                    Il est tout à fait battable, et réagit différement selon le même mouvement dans 2 parties différentes. De plus, quand j'allais gagné une deuxième fois, il m'a dit que j'avais perdu alors que la partie n'était même pas fini. Je pense que à part le design tu peux tout recommencer niveau code, car la il est très beugué.

                                                    cordialement melimelo
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      31 décembre 2007 à 20:55:07

                                                      Moi aussi j'l'ai battu !!! :D:D
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        1 janvier 2008 à 15:46:26

                                                        Je ne vois vraiment pas en quoi il est imbattable : je l'ai battu plus de fois que lui m'a battu.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        [Jeu Flash ] Un Morpion impossible ?

                                                        × 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