Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1670 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Générer toute les parties possibles d'un jeu de morpion.

n°2102493
gilou
Modérateur
Modzilla
Posté le 20-09-2011 à 17:53:06  profilanswer
 

Reprise du message précédent :
Je viens de voir ton message, je te met ça dans 5 mn.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le 20-09-2011 à 17:53:06  profilanswer
 

n°2102495
gilou
Modérateur
Modzilla
Posté le 20-09-2011 à 18:04:44  profilanswer
 

Il suffit de remplacer modifier la procédure qui formate les lignes.
Cette version modifiée fait l'affaire:

Code :
  1. sub jovalisate {
  2.  my $fh = shift;
  3.  my $string = shift;
  4.  my @list = split /\s+/, $$string;
  5.  my @display = ("0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0" );
  6.  my @display1 = @display;
  7.  print $fh "@display\n";
  8.  my $coup = 1;
  9.  foreach my $i (@list) {
  10.    $display[$i - 1] = $coup++%2 ? "1.0" : "-1.0";
  11.    $display1[$i - 1] = $display[$i - 1];
  12.    print $fh "@display1\n";
  13.    $display1[$i - 1] = "0.0";
  14.    print $fh "@display\n";
  15.  }
  16.  # print $fh "\n"; # si on veut séparer chaque partie par une ligne blanche
  17. }


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2102496
Profil sup​primé
Posté le 20-09-2011 à 18:14:55  answer
 

gilou a écrit :

Je viens de voir ton message, je te met ça dans 5 mn.
A+,


 
 
Attends, je viens de voir le tien, je crois qu'il ne me faux que les coup du joueur 2 dans le fichier.
Bien sur, l'état de chaqe coup correspondant comprenant le le coup du joueur 1.  
 
Merci Gilou.

n°2102497
Profil sup​primé
Posté le 20-09-2011 à 18:16:04  answer
 

gilou a écrit :

Il suffit de remplacer modifier la procédure qui formate les lignes.
Cette version modifiée fait l'affaire:

Code :
  1. sub jovalisate {
  2.  my $fh = shift;
  3.  my $string = shift;
  4.  my @list = split /\s+/, $$string;
  5.  my @display = ("0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0" );
  6.  my @display1 = @display;
  7.  print $fh "@display\n";
  8.  my $coup = 1;
  9.  foreach my $i (@list) {
  10.    $display[$i - 1] = $coup++%2 ? "1.0" : "-1.0";
  11.    $display1[$i - 1] = $display[$i - 1];
  12.    print $fh "@display1\n";
  13.    $display1[$i - 1] = "0.0";
  14.    print $fh "@display\n";
  15.  }
  16.  # print $fh "\n"; # si on veut séparer chaque partie par une ligne blanche
  17. }


A+,


 
 
Bon, maintenant que c'est fait, obligé de tester.
Si tu peux prendre ma dernière remarque en compte....
Merci Gilou, bise.

n°2102499
gilou
Modérateur
Modzilla
Posté le 20-09-2011 à 18:30:58  profilanswer
 

C'est pas clair du tout.
Sur un exemple, je comprendrais sans doute mieux.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2102503
Profil sup​primé
Posté le 20-09-2011 à 18:42:52  answer
 

Je vais essayer de décrire mon problème.
 
il me faudrait des couple de ligne dont la première est l'état du jeu après que le joueur 1 ai joué.
Et la ligne deux, avec seulement le coup du joueur 2.
 
Donc par l'exemple :
 
1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1.0 -1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0
1.0 -1.0 1.0 -1.0 1.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0
 

n°2102506
gilou
Modérateur
Modzilla
Posté le 20-09-2011 à 18:53:42  profilanswer
 

Code :
  1. sub jovalisate {
  2.  my $fh = shift;
  3.  my $string = shift;
  4.  my @list = split /\s+/, $$string;
  5.  my @display = ("0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0" );
  6.  my @display1 = @display;
  7.  print $fh "@display\n";
  8.  my $coup = 1;
  9.  foreach my $i (@list) {
  10.    $display[$i - 1] = $coup++%2 ? "1.0" : "-1.0";
  11.    if ($coup%2) {
  12.      $display1[$i - 1] = $display[$i - 1];
  13.      print $fh "@display1\n";
  14.      $display1[$i - 1] = "0.0";
  15.    }
  16.    else {
  17.      print $fh "@display\n";
  18.    }
  19.  }
  20.  # print $fh "\n"; # si on veut séparer chaque partie par une ligne blanche
  21. }


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2102529
Profil sup​primé
Posté le 20-09-2011 à 20:30:36  answer
 

Merci Gilou, je n'ai pas terminé les testes, pour l'instant, ça ne fonctionne pas mais j'espère bien y parvenir.
En tout cas, mis à par les ligne de plateau vide que j'ai du supprimer (pas à la main) le fichier de données est bien ce que j'attendais.
Merci encore Gilou.
A+

n°2102542
gilou
Modérateur
Modzilla
Posté le 20-09-2011 à 21:24:40  profilanswer
 

:hello:  
Pour supprimer les lignes de plateau vide (je pensais que tu les voulais au vu de tes exemples) il suffit de mettre la ligne qui les envoie en commentaire:

Code :
  1. sub jovalisate {
  2.  my $fh = shift;
  3.  my $string = shift;
  4.  my @list = split /\s+/, $$string;
  5.  my @display = ("0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0" );
  6.  my @display1 = @display;
  7.  # print $fh "@display\n"; # cette ligne la a mettre en commentaire, avec un # devant
  8.  my $coup = 1;
  9.  foreach my $i (@list) {
  10.    $display[$i - 1] = $coup++%2 ? "1.0" : "-1.0";
  11.    if ($coup%2) {
  12.      $display1[$i - 1] = $display[$i - 1];
  13.      print $fh "@display1\n";
  14.      $display1[$i - 1] = "0.0";
  15.    }
  16.    else {
  17.      print $fh "@display\n";
  18.    }
  19.  }
  20.  # print $fh "\n"; # si on veut séparer chaque partie par une ligne blanche
  21. }


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2102558
Profil sup​primé
Posté le 20-09-2011 à 21:50:16  answer
 

Oui, merci Gilou, j'avais vu. Tout de même, tu charries là....
 
Merci encore Gilou.

mood
Publicité
Posté le 20-09-2011 à 21:50:16  profilanswer
 

n°2102567
gilou
Modérateur
Modzilla
Posté le 20-09-2011 à 22:03:07  profilanswer
 

Citation :

En tout cas, mis à par les ligne de plateau vide que j'ai du supprimer (pas à la main)

Ce commentaire me laissait penser que tu filtrais avec un grep négatif (grep -v ...)
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2102675
Profil sup​primé
Posté le 21-09-2011 à 16:00:02  answer
 

Salut, j'ai tout essayé, j'ai laissé tomber PragmARC pour fann avec lequel j'ai essayer toute les combinaison de fonction d'activation et d'algorithme de trainning, mais rien n'y fait.
Au maximum le réseau joue deux coup et encore, parfois il joue une place occupée.
 
Je dis pas que je laisse tomber, mais j'y reviendrais plus tard éventuellement à moins que vous ayez de bonne idées ?

n°2104056
Profil sup​primé
Posté le 30-09-2011 à 05:31:37  answer
 

[:extazaille]  
 
Je viens de faire ma première partie de morpion avec un réseau de neurones.
 
Avec fannada avec 3 couche cachées, une de 81 plus une de 9 plus encore une de 81.
Voilà mal joué !


OOX
 X  
XOX
 
Vous avez gagné, félicitations !  
Press "Esc" to qui.
Continuer ? (o/n) :


 
 [:chapi-chapo]


Message édité par Profil supprimé le 30-09-2011 à 05:32:05
n°2104057
Profil sup​primé
Posté le 30-09-2011 à 05:35:53  answer
 

Bon, c'est pas impec quand même.
 
Ou alors, c'est un morpion intelligent qui déclare forfait de temps à autre.  :D

n°2104079
rufo
Pas me confondre avec Lycos!
Posté le 30-09-2011 à 09:32:51  profilanswer
 


 
Je te dis, un apprentissage par renforcement serait bien plus efficace ;) Bien plus simple à coder et meilleurs résultats...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2104083
Profil sup​primé
Posté le 30-09-2011 à 09:36:37  answer
 

Peut-être, mais je voulais tester un réseau de neurones là !
Merci rufo,.... Ca boum !
 
 
En parlant d'apprentissage par renforcement, j'au trouvé plus intéressant à faire ...
 
Je voudrait enseigner le codage Ada par renforcement, t'as une idées ?

n°2104140
rufo
Pas me confondre avec Lycos!
Posté le 30-09-2011 à 14:14:18  profilanswer
 


 
Je suis pas sûr de comprendre :??: Enseigner à qui : un ordi ou des élèves (dans le 2ème cas, j'imagine que c'est, du coup, une blague :D )?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2104147
Profil sup​primé
Posté le 30-09-2011 à 14:41:02  answer
 

Ben ouais, c'est pour l'enseigner à la bécane.  :heink:

n°2104170
rufo
Pas me confondre avec Lycos!
Posté le 30-09-2011 à 15:59:56  profilanswer
 

ben le pb, c'est qu'avant de lui apprendre à coder en ada, va falloir lui apprendre l'algorithmie... et à penser l'algo par rapport au pb soumis :/
 
Ca me paraît super chaud, surtout que si tu y arrives, tu vas mettre au chômage tous les développeurs :(
 


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2107822
Tamahome
⭐⭐⭐⭐⭐
Posté le 24-10-2011 à 12:40:56  profilanswer
 

[:rofl] [:rofl]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Générer des liens temporaires via .htaccessGénérer des logs depuis le .htaccess ou autre ?
Générer un pdf à partir d'un tableau croisé dynamiqueGénérer fichier word avec des données d'une page Web
Générer aléatoirement du texte sur une imageaide jeu (morpion)
Morpion 3D en python[fpdf] Affichage tableau fpdf en 2 parties
générer liste déroulante via phpComment générer tous les entiers d'une borne (Le code est-il correct?)
Plus de sujets relatifs à : Générer toute les parties possibles d'un jeu de morpion.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR