Derniere mise a jour : 9 fevrier 2026

Jeu de Puzzle

2024 Jeu Reflexion

Presentation

Objectif principal : Un jeu de puzzle type Sokoban. Tu pousses des caisses sur des cibles, le but c'est de toutes les placer. Pas de retour en arriere, faut reflechir avant de bouger.

Technologies utilisees : JavaScript avec une grille de tiles. Pas de Canvas cette fois, juste des divs CSS positionnees. Les niveaux sont stockes dans un tableau 2D.

Fonctionnalites cles : 20 niveaux de difficulte croissante, bouton undo pour annuler le dernier mouvement (j'ai craque et je l'ai ajoute), compteur de mouvements, et sauvegarde de progression.

Livrables attendus : Un jeu de puzzle complet et jouable avec plusieurs niveaux. Interface claire qui montre quel niveau on a termine.

Calendrier previsionnel : Une semaine. Le plus long c'etait de creer des niveaux interessants, j'ai fini par en trouver sur internet et les adapter.

Parties prenantes & criteres de succes : Projet perso pour avoir un jeu de reflexion dans mon portfolio. Le succes c'est quand on se prend au jeu et qu'on veut finir tous les niveaux.

Le Defi

Implementer le undo. Faut sauvegarder l'etat complet du jeu a chaque mouvement pour pouvoir revenir en arriere. Au debut je copiais juste la reference du tableau et ca marchait pas du tout.

La Solution

J'ai fait une pile (stack) qui stocke une copie profonde de la grille a chaque mouvement. JSON.parse(JSON.stringify()) pour la copie, c'est pas elegant mais ca marche. Quand on undo, je pop le dernier etat de la pile.

Architecture Technique

La grille est un tableau 2D ou chaque case a un type (mur, sol, cible). Les caisses et le joueur sont des entites separees avec leurs coordonnees. Quand le joueur bouge, je check s'il pousse une caisse et si la case derriere est libre.

Points Cles

  • Systeme undo avec pile d'etats
  • 20 niveaux de difficulte progressive
  • Sauvegarde locale de la progression

Apercu

Resultats & Apprentissages

Le jeu est addictif, mes potes ont passe du temps dessus. J'ai compris l'importance de la copie profonde vs copie superficielle en JavaScript. Et aussi que creer de bons puzzles c'est un metier en soi.

Evolutions Futures

Un editeur de niveaux pour creer et partager ses puzzles. Un solveur automatique qui trouve la solution optimale (avec BFS ou A*). Un classement des meilleures solutions par nombre de mouvements.

Retour aux projets Me contacter