Bot Démineur

Présentation du projet

Explication du projet

Ce projet consiste en un bot capable de jouer au Démineur de manière autonome. Le développement s'est fait de manière itérative, avec plusieurs versions successives démontrant une évolution dans la complexité et l'efficacité de la solution.

Objectifs

  • Appliquer la programmation orientée objet en Python
  • Résoudre un problème complexe en plusieurs itérations
  • Expérimenter des techniques d'IA de base
  • Automatiser une tâche humaine à l'aide de l'analyse d'écran

Outils utilisés

  • Python
  • PyAutoGUI – pour interagir avec l'écran
  • Pillow – pour l'analyse de pixels
  • PyCharm Community - IDE

Le bot

V1 du robot jouant au Démineur

Versions du bot

  • Version 1 : clique aléatoire sur la grille
  • Version 2 (en cours) : raisonnement logique simple et lecture de l'image
  • Version 3 (à venir) : système de probabilité
  • Version 4 (à venir) : reconnaissance d'image complète

Fonctionnement

  1. Capture d'écran de la grille du Démineur
  2. Analyse des pixels pour identifier les cases
  3. Application de la logique selon la version
  4. Exécution des actions via PyAutoGUI
  5. Répétition jusqu'à la victoire ou la défaite
Phase de saisie

Code pour la version 1 du robot

Conversion d'image en tableau

Code pour mettre l'image en tableau (V2)


Lecture de l'image

Phase de saisie

Image du Démineur

Conversion d'image en tableau

Démineur sous forme de tableau

Tests et améliorations

Tests réalisés

  • Tests sur des dizaines de parties
  • Vérification de la fiabilité
  • Tests de performance
  • Validation des algorithmes

Améliorations futures

  • Implémentation du système de probabilités
  • Ajout de la reconnaissance d'image
  • Optimisation des performances

Bilan personnel

Ce projet m'a permis d'approfondir mes compétences en Python et en algorithmique. J'ai appris l'importance d'une approche itérative dans la résolution de problèmes complexes et la nécessité de tester rigoureusement chaque version.

Points forts : Approche itérative, code modulaire, documentation claire
Difficultés : Analyse d'image, gestion des cas particuliers
Axes d'amélioration : Implémentation de l'IA avancée