← Tous les projets

Jeux

Morpion

Réécriture d'un jeu de mes études : le morpion contre une IA imbattable (minimax), en Python.

Terminé Sprint S22 · 3 points
En bref, sans jargon pour les non-informaticiensLire le résuméRefermer
Ce que c'est
Le morpion contre un ordinateur qui ne perd jamais, jouable dans la page.
À quoi ça sert
Un jeu de mes études, réécrit de zéro avec les méthodes d'un projet professionnel : tests automatiques, versions pour plusieurs systèmes.
Ce que ça montre
La programmation en Python, et la preuve par les tests que l'ordinateur est imbattable : toutes les parties possibles ont été essayées.
Code source

Comment les morceaux tiennent ensemble

Schéma : Règles → IA (coups légaux) ; IA → Livre de coups (calculé une fois) ; Livre de coups → Fiche du site ; Terminal → IA ; Tests → IA (ne perd jamais). coups légaux calculé une fois ne perd jamais Règles board.py, positions IA negamax, tout l'arbre Livre de coups book.json Fiche du site JavaScript, sans Python Terminal Python typé Tests toutes les parties

Jouer contre l'IA

L'IA joue les coups du livre calculé par le programme Python du projet : pour chacune des 5 478 positions, ses meilleurs coups. Au niveau imbattable, elle ne perd jamais.

Je joue

Chargement du livre de coups…

Au clavier : les flèches déplacent la case active, Entrée ou Espace joue. Le niveau et le camp s'appliquent à la prochaine partie.

Technologies

  • Python
  • pytest
  • mypy

Qui fait quoi

Python
Le jeu et l'IA minimax qui ne perd jamais ; calcule aussi le livre de coups qu'utilise la fiche.
pytest
Prouve que l'IA est imbattable en essayant toutes les parties possibles.
mypy
Vérifie les types en mode strict, sur le code et sur les tests.

Definition of Done

  • Code relu, diff par diff
  • Tests unitaires et d'intégration verts
  • CI verte sur Linux, Windows et macOS si compilé
  • README, REVIEW.md et DECISIONS.md à jour
  • Textes en français et en anglais
  • Démo déployée et testée sur mobile