Salut,

Je poste ici mon petit jeu de bataille navale joueur vs ordinateur réalisé avec tkinter, donc au graphisme on ne peut plus basique.
Il traîne sur mon pc depuis pas mal de temps, autant le partager ici même s'il y a encore des améliorations à faire, ça pourra éventuellement servir aux plus néophytes que moi.

Le fichier à lancer est jeu.py soit dans une console/terminal, soit en l'ouvrant directement avec python (python 3.4 au minimum).

Pardonnez mes erreurs de programmation ou de logique, je sais que certaines choses ne sont pas très propres, notamment le module config de l'application et le contrôleur, quelques redondances mineures dans le code, le modèle objet parfois pas très propre, le « réinventage » de roue sur des objets tkinter, mais cela m'a prit moins de temps à créer certaines choses plutôt qu'à essayer d'agrémenter les widgets de bases tkinter (ttk c'est clairement pas possible, trop limité) comme je le souhaitais.

L'IA est entièrement issue de mon cerveau, et là autant dire que j'ai dû me creuser la tête et revoir, revoir encore et encore cette IA afin d'en faire quelque chose de performant au niveau jeu, le code, bon c'est certain qu'il y a de l'amélioration à faire.
Toutefois je suis tout de même satisfait du résultat, puisqu'elle fonctionne pas trop mal.
Et surtout je me suis bien amusé à faire ce jeu.

J'ai essayé de commenter et nettoyer mon code comme j'ai pu afin qu'il ne reste pas trop obscure.

Normalement il n'y a aucun problème majeur, (j'ai testé sur Debian et Windows7, Mac-os je ne sais pas), sauf sur un point avec Windows, la fermeture fenêtre lors du tirage au sort empêche le thread de pouvoir se terminer et gèle la fenêtre, alors qu'en passant par le menu pour quitter, ou en redémarrant la partie en plein tirage, le problème n'est pas là, donc j'en conclus que cela provient de Windows et non de tkinter, et comme cet os me donne des boutons, j'ai cessé mes investigations pour essayer de pallier le problème, je suis donc passé outre en tuant directement python depuis lui-même...

Je suis preneur de tout conseil concernant les améliorations, optimisations au niveau du code, erreurs de logique, bibliothèques que j'aurais pu utiliser, etc.

Ah aussi, pardonnez mes grossières erreurs de traductions français => anglais, je suis plus que médiocre en la matière

Edit :

On m'a remonté une erreur au niveau de l'ia en cas de pas indéterminé; j'ai corrigé, et je me suis également attelé à effectuer une meilleure traduction.