Mais en fait le "cœur" du programme ne marche pas: testez-le et vous verrez de quoi je parle...
Je pense que l'erreur se trouve probablement parmi ces lignes (indices):
- Code: Select all
for i in range(0, len(motATrouver)):
if motATrouver[i]==lettre:
debut=motActuel[0:(i-1)]
fin=motActuel[i:len(motActuel)]
if i==0:
motActuel=lettre+motActuel[1, len(motActuel)]
else:
motActuel=debut+lettre+fin
nbOcc+=1
Autre problème: Avec mon système d'exceptions, lorsque l'utilisateur fait une fausse entrée, le programme s'arrête. Ce ne serait peut-être pas le cas avezc Break ou Continue (retour au début de la boucle, ce qui est plus logique)?
Je fournis évidemment en pièce jointe le fichier .py complet
Quelques remarques:
- Oui, c'est artisanal
- Ce programme n'est que la "base": il est voué à être étoffé... Je pense notamment à la création d'une IA pour des matchs Humain vs. Ordinateur, avec différents niveaux (du hasard à la sélection des lettres en fonction de leur occurrence moyenne dans la langue française, mais pas de recours à une BDD, pour moi, c'est un peu triché...)
- La sauvegarde à chaque fois du dictionnaire lors de l'entrée par les joueurs pour alimenter la sélection aléatoire du mot
- Les meilleurs scores
- Peut-être développer une petite interface graphique avec Tkinter ou Qt-Designer (au passage, avec le second, je n'ai pas compris comment obtenir un ficher .py et des méthodes à la fin...)
- Si vous avez d'autres idées d'amélioration, n'hésitez pas!
J'attends donc un petit déblocage pour partir sur une base qui marche
alan2010