Aller au contenu

DOSSIER 002

Unbeatable Tic-Tac-Toe

DÉCLASSIFIÉ

Jeu web avec une IA Minimax imbattable

Rôle
Développeur (projet personnel)
Année
2022
Stack
  • JavaScript
  • HTML
  • CSS

01Aperçu

Un morpion dans le navigateur où vous jouez O contre une IA qui ne perd jamais. Avant chaque coup, l’IA utilise l’algorithme Minimax pour jouer toutes les suites possibles de la partie et choisit le coup au meilleur résultat garanti.

Vous contre l’IA · recherche Minimax sur tout l’arbre de jeu · détection de victoire, défaite et égalité avec la ligne gagnante en surbrillance · rejouer · JavaScript natif, sans dépendance.

02Le problème

Les règles écrites à la main pour un robot de morpion (« bloquer quand l’adversaire en aligne deux ») laissent facilement passer un cas. L’objectif : un adversaire qui ne perd jamais parce qu’il anticipe toutes les parties possibles au lieu de suivre des règles.

03Mon approche

  1. A.01

    Noter chaque fin de partie : +10 si l’IA (X) gagne, −10 si vous (O) gagnez, 0 en cas d’égalité.

  2. A.02

    Essayer chaque case libre, puis chaque réponse possible, récursivement jusqu’à la fin de chaque partie.

  3. A.03

    Remonter les scores : à son tour, l’IA prend le plus haut (MAX) ; au vôtre, elle suppose que vous prenez le plus bas (MIN).

  4. A.04

    Jouer le coup au meilleur score remonté. La grille de 9 cases est assez petite pour explorer tout l’arbre, sans limite de profondeur.

04Écrans clés

› balayez pour voir les 4 écrans

05Points techniques

Moteur de jeu
Minimax · full game tree
Front-end
Vanilla JS · HTML · CSS
Plateforme
Vercel

06Résultat

Comme elle suppose que vous jouez toujours votre meilleur coup, l’IA est imbattable : chaque partie se termine par sa victoire ou par une égalité.