MySokoban est un projet en C qui reproduit le célèbre jeu Sokoban, en utilisant la bibliothèque ncurses pour l'affichage en terminal.
Le joueur incarne un personnage capable de pousser des caisses (X
) vers des emplacements de stockage (O
) dans un entrepôt représenté par une carte texte.
L'objectif est de placer toutes les caisses sur les emplacements de stockage. Le joueur ne peut que pousser, jamais tirer les caisses, ce qui rend les déplacements stratégiques.
make
./my_sokoban map
Symbole | Signification |
---|---|
# |
Mur |
P |
Joueur |
X |
Caisse |
O |
Emplacement de caisse |
############
# O #
# P ####
# #
####### #
# O ## #
# ## #
# #
# XX #
# # #
############
├── Makefile # Fichier de compilation
├── README.md # Documentation du projet
├── includes/ # Fichiers d'en-tête (.h)
│ ├── lib.h
│ ├── player.h
│ ├── sokoban.h
│ └── str_to_word_array.h
├── maps/ # Cartes de jeu (format texte)
│ ├── map1
│ ├── map2
│ └── ...
├── my_sokoban # Binaire compilé
└── src/ # Fichiers source (.c)
├── check_malloc.c
├── check_stuck.c
├── display_map.c
├── lib.c
├── main.c
├── parameters.c
├── player.c
├── set_obstacles.c
├── sokoban.c
└── str_to_word_array.c
-
GCC (ou tout compilateur C compatible)
-
ncurses (pour l’affichage dans le terminal)
-
Chargement dynamique de la carte
-
Déplacements du joueur avec les touches directionnelles
-
Gestion des collisions et des murs
-
Détection des caisses bloquées
-
Affichage mis à jour en temps réel avec ncurses
Projet réalisé dans le cadre d’un module d’apprentissage en C.
Ce projet est fourni à titre pédagogique.