Règles du Jeu :
Vous êtes Sokoban , enfermé dans un entrepot (divisé en cases carrées), vous vous déplacez de case en case (vers le haut , le bas , la gauche ou la droite ; avec les flèches du clavier ou la souris).
Une case peut comporter un mur , une caisse , ou une zone de rangement pour caisses (boule jaune) .

Un déplacement n'est possible que si la case de destination est vide (c’est-à-dire qu'il ne s'agit ni d'un mur, ni d'une caisse; en revanche, il peut s'agir d'une zone de rangement).

Si cette case contient une caisse et que la suivante (dans la même direction) est vide (ou une zone de rangement), le mouvement est aussi autorisé : vous poussez alors la caisse dans la case vide et venez prendre sa place.
Avant : Après :

Un niveau est résolu dès que toutes les caisses sont rangées (une caisse jaune devient rouge quand elle est rangée). Réussir est un vrai casse-tête (les deux premiers niveaux sont hyper simples pour vous familiariser, à partir du niveau 3, c'est moins évident...)
L'idéal est d'essayer de réussir avec le moins de déplacements et de poussées !

(Remarque : les règles ne permettent pas de tirer une caisse !).
On ne tire pas : Avant :  Après : 
Si on pouvait : Avant : Après :

: une case vide : un mur
: une caisse : une caisse rangée
: une zone de rangement
: le personnage Sokoban (profession : magasinier)

Historique : Le Sokoban original a été écrit par le japonais Hiroyuki Imabayashi en 1982 pour l'ordinateur Nec PC-8801 et comportait 50 niveaux.
En 1988, il sera adapté pour PC.
En 1991, Jeng Long Jiang propose Boxworld, une autre version pour PC, avec 100 niveaux différents de Sokoban, et qui a été très populaire.
Le code source n'est pas disponible, mais on trouve la description des niveaux ici (remarque : il manque les niveaux 61 et 62, apparemment impossibles) :
http://games.knet.ca/modules/pnFlashGames/games/boxesLevels
J'ai commencé à écrire cette version JAVASCRIPT en Janvier 1998.
Elle a été à jour en Janvier 2005 (utilisation du clavier, écriture de cette page d'aide, 30 niveaux au lieu de 5...) puis mai 2006 (98 niveaux).
L'encyclopédie wikipedia propose un article à ce sujet : http://fr.wikipedia.org/wiki/Sokoban
(vous pouvez le modifier !)

Sources : [ sokojs.htm ] [ main.htm ] [ level.htm] [ level1.htm ]
Remarques sur le fichier archive sokojs.zip contenant l'ensemble des fichiers qui constituent le jeu
- Pour l'utiliser, vous devez extraire tous les fichiers dans un répertoire, plus ouvrir le fichier "sokojs.htm" avec votre navigateur. Il vous faut un logiciel de décompression zip. Pour Windows, on trouvera sur le site http://izarc.free.fr le logiciel izarc pour le faire (il est gratuit et en français). Vous pouvez aussi consulter ma page d'informations sur les formats d'archive : http://michbuze.club-internet.fr/123/compress.htm (ou http://zip.c.la)
- Il n'est pas nécessaire d'être connecté à Internet pour jouer.
- Les fichiers GIF sont les images utilisées par le jeu, et les autres fichiers .htm utilisés par le fichier "sokojs.htm", mais ils ne sont prévus pour être ouverts directement par un navigateur.
- Vous pouvez distribuer l'archive à qui vous voulez, sans être obligé de m'en informer, conformément à la licence GPL.
(Par exemple, vous ne devez pas supprimer des fichiers et conserver la licence).
Vous pouvez également inclure ce jeu dans un autre site web, toujours sans être obligé de m'en informer.
- Merci tout de même de me contacter par email à l'adresse michbuze@club-internet.fr si vous avez des critiques (bonnes ou mauvaises) à formuler, si vous avez traduit, amélioré, réécrit ce jeu dans un autre langage (ou que vous souhaiteriez le faire).

Remarques sur le code : * Plutôt que d'utiliser le cadre level.htm pour afficher le niveau, il suffirait d'utiliser le code HTML :
<div id="level">n</div> et cette ligne de Javascript :
document.getElementById("level").firstChild.nodeValue = level
(mais ça ne fonctionne pas avec les anciens navigateurs).

Licence : Boxworld (Sokoban) - Puzzle Game
Programmation Copyright (C) Michel BUZE (licence GPL)
Graphismes et Niveaux Copyright (C) Jeng Long Jiang

Ce programme est un logiciel libre: vous pouvez le redistribuer et/ou le modifier selon les termes de la "GNU General Public License", version 2 ou (à votre choix) toute version ultérieure. Voir (en anglais) : http://www.gnu.org/licenses/gpl.html Voir (en français) : http://www.gnu.org/copyleft/copyleft.fr.html
Liens vers d'autres jeux en Javascript :