Open PapiSido opened 6 years ago
ce n'est pas très clair pour moi, en première lecture j'avais compris que la version aléatoire ne marchait pas, mais que la version déterministe marchait; mais en relisant j'ai un doute: vous êtes certain que la version déterministe a un bug ou bien c'est une conjecture ?
je rephrase maintenant que j'ai lu le code: pourquoi avez-vous choisi la valeur 25 pour idx0
dans la version déterministe ? est-il possible que le bug ne se produise que avec d'autres valeurs de idx0
?
Comme c'est tout de même un peu hermétique sans commentaire du tout, ce que je peux vous proposer ça serait pour commencer d'unifier les deux fichiers en ajoutant des options sur la ligne de commande; pour
Merci beaucoup Thierry,
Une nouvelle version mise en ligne, plus convaincante ( au moins pour moi) C'est maintenant la méthode partie( self, coder= 0 ou 1, solver = 0 ou 1 ) qui pilote la partie.
programme toujours non commenté, mais documenté (docstring) pour l'utilisateur, si pas assez clair me le dire
Le bug n'est toujours pas réapparu, donc traité par le mépris( je n'avais pourtant rien fumé d'illicite) , et de toute façon je devrais pouvoir le reconstituer en mode aléatoire à partir du moment où je connais la suite des coups joués, donc on oublie la version "déterministe"
Pour le fichier journal, ma stratégie habituelle est plutôt de lui donner toujours le même nom et de le renommer ou d'en sauvegarder tout ou partie lorsque cela me semble utile
Pour la ligne de commande, je vais approfondir la question pour apprendre à faire, mais en l’occurrence je compte aussi passer par tkinter en vue d'un interface plus convivial
Merci en tout cas de consacrer du temps à nos balbutiements
désolé car j'ai continué sur ma branche sans voir qu'il y avait du nouveau
donc dans la branche 'mastermind-thierry' j'ai fait ce dont je parlais, unifier les deux versions en une seule avec une ligne de commande qui permet de choisir le contexte du jeu
j'ai dans cette version implémenté l'option qui permet de choisir son journal (mettre - pour stdout)
ça n'est sans doute pas utile de reporter ça dans la branche master, surtout si l'étape suivante c'est tkinter, mais au moins jette un coup d'oeil, c'est très pratique je conseille de prendre l'habitude d'utiliser ça très tôt dans le développement..
Merci, je vais décrypter et adapter à la nouvelle version En fait je n'ai pas l'habitude de passer les paramètres par ligne de commande. Une bonne occasion d'essayer de s'y mettre
On 29 Jan 2018, at 19:09, PapiSido notifications@github.com wrote:
Merci, je vais décrypter et adapter à la nouvelle version En fait je n'ai pas l'habitude de passer les paramètres par ligne de commande. Une bonne occasion d'essayer de s'y mettre
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
oui je le recommande car ça évite de passer son temps à bidouiller des variantes directement dans les sources, car à la fin on ne sait jamais où on en est exactement :)
C'est fait, j'ai modifié un peu le libellé des options, mais l'essentiel y est. Merci, j'utiliserai davantage à l'avenir, mais sans ton implémentation, j'aurais eu du mal à décrypter seul la doc La richesse de python est impressionnante, même parfois un peu effrayante lorsque l'on pense à tous les modules dont, malgré la profondeur du MOOC, nous n'avons je pense qu'effleuré la surface.
Terminé, tout semble fonctionner. Je reviendrai plus tard avec gui et graphique, mais je vais attaquer tkinter sur un autre projet
Ma version en ligne: mastermind.py fonctionne en mode codeur et en mode solveur [ encodeur() et decodeur() ], mais le mode solveur semble parfois se tromper et déclarer "impossible" ce qui ne l'est pas, mais l'algorithme de résolution implique une (petite) part d'aléatoire, donc non reproductible ( le bug non reproductible, ... le cauchemar!!) donc mastermind.3.py rendu déterministe, mais celui-là, je n'ai pas réussi à le faire bugger
Un grand merci à qui y parviendra, il suffit que vous me donniez le code choisi, je devrais pouvoir reproduire
Pour l'instant mon python est brut de décoffrage, mais je dois le reprendre assez fondamentalement pour séparer le codage ( utilisateur ou ordinateur ) du décodage (utilisateur ou ordinateur), un peu comme je l'avais fait pour puissance4. Ensuite je m'attaquerai à un interfaçage plus convivial, l'occasion de démarrer tkinter.