Réparer un morpion avec IA

Réparer un morpion avec IA - PHP - Programmation

Marsh Posté le 29-12-2011 à 14:48:13    

Bonjour,
 
J'ai repris un script de morpion que j'ai trouvé ici: http://perso.telecom-paristech.fr/ [...] orpion.php
 
J'ai modifié le code ainsi: http://myzone.fr.nf/morpion/index.php?voir_code et vous pouvez voir le script en action ici même: http://myzone.fr.nf/morpion/index.php
 
Seulement il y a quelques bugs: essayez plusieurs fois de jouer, 1ere colonne, bas/haut/milieu   :pfff:  
 
Je suis dessus depuis plusieurs heures mais rien à faire, je vois pas comment faire  [:kzimir]  
 
Si jamais vous avez une idée, je vous remercie d'avance  :D


---------------
Cette signature est tout à fait inutile.
Reply

Marsh Posté le 29-12-2011 à 14:48:13   

Reply

Marsh Posté le 29-12-2011 à 17:44:55    

Salut,

 

Essaye avec cette version de la fonction recuperer_resultat()

 

Edit : code supprimé


Message édité par Tirkyth le 29-12-2011 à 18:02:17

---------------
Mon Feedback !
Reply

Marsh Posté le 29-12-2011 à 17:54:56    

Salut et merci de la réponse!
 
Cependant j'arrive toujours à gagner de temps à autres :s
 
Un ami m'a suggéré de faire commencer l'IA, et ceci résout le problème: impossible de gagner dès lors  :D  
 
Ta fonction me semblant plus logique que celle de base, je vais l'utiliser et t'en remercie une nouvelle fois!
 
Bonne fin de journée ;)


---------------
Cette signature est tout à fait inutile.
Reply

Marsh Posté le 29-12-2011 à 18:00:49    

Non en fait repasse sur celle d'origine, car la mienne, en tentent de corriger un bug, en introduit un autre.


Message édité par Tirkyth le 29-12-2011 à 18:02:47

---------------
Mon Feedback !
Reply

Marsh Posté le 29-12-2011 à 18:04:36    

Ok, merci quand même ;)


---------------
Cette signature est tout à fait inutile.
Reply

Marsh Posté le 29-12-2011 à 18:08:07    

Celle-ci devrait corriger le problème, par contre ça ne rend pas l'IA meilleure ;)

Code :
  1. function recuperer_resultats($morpion)
  2. {
  3.    $resultat = 0; // Initialisation de la variable
  4.    
  5.    // A-t-on a une ligne horizontalement ou verticalement?
  6.    if ($morpion[0][0] === $morpion[0][1] && $morpion[0][1] === $morpion[0][2]) // Première verticale possible
  7.        $resultat = $morpion[0][0];
  8.        
  9.    elseif ($morpion[1][0] === $morpion[1][1] && $morpion[1][1] === $morpion[1][2]) // Deuxième verticale possible
  10.        $resultat = $morpion[1][0];
  11.        
  12.    elseif ($morpion[2][0] === $morpion[2][1] && $morpion[2][1] === $morpion[2][2]) // Troisième verticale possible
  13.        $resultat = $morpion[2][0];
  14.        
  15.    elseif ($morpion[0][0] === $morpion[1][0] && $morpion[1][0] === $morpion[2][0]) // Première horizontale possible
  16.        $resultat = $morpion[0][0];
  17.        
  18.    elseif ($morpion[0][1] === $morpion[1][1] && $morpion[1][1] === $morpion[2][1]) // Deuxième horizontale possible
  19.        $resultat = $morpion[0][1];
  20.        
  21.    elseif ($morpion[0][2] === $morpion[1][2] && $morpion[1][2] === $morpion[2][2]) // Troisième horizontale possible
  22.        $resultat = $morpion[0][2];
  23.    
  24.    // On s'intéresse maintenant aux diagonales
  25.    elseif ($morpion[0][0] === $morpion[1][1] && $morpion[0][0] === $morpion[2][2])
  26.        $resultat = $morpion[0][0];
  27.        
  28.    elseif ($morpion[2][0] === $morpion[1][1] && $morpion[0][2] === $morpion[2][0])
  29.        $resultat = $morpion[2][0];
  30.            
  31.    return $resultat;
  32. }


---------------
Mon Feedback !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed