Bienvenue dans le projet So_Long, un jeu 2D inspiré de l'univers de "The Legend of Zelda: The Minish Cap". Ce projet a été réalisé dans le cadre du cursus de l'école 42, et il intègre des concepts de gestion de fenêtres, d'événements, de textures, et de gameplay basique. Ce README vous guidera à travers les fonctionnalités principales du jeu, les parties obligatoires, le parsing des cartes, les animations, et l'inspiration derrière ce projet.
- Introduction
- Objectifs
- Fonctionnalités du jeu
- Partie obligatoire
- Parsing des cartes
- Animations
- Inspiration
- Installation et utilisation
- Crédits
So_Long est un jeu 2D dans lequel les joueurs doivent collecter tous les items sur la carte et atteindre la sortie. Ce projet utilise la bibliothèque graphique MiniLibX de l'école 42 pour la gestion des fenêtres, des images et des événements clavier et souris. Le jeu est conçu pour être joué à deux : un joueur incarne le héros et l'autre le monstre.
Les principaux objectifs de ce projet sont :
- Améliorer les compétences en programmation C.
- Apprendre à utiliser la bibliothèque MiniLibX pour la gestion graphique.
- Implémenter des algorithmes basiques de jeu.
- Assurer une gestion correcte de la mémoire et éviter les fuites.
- Déplacement du joueur : Utilisation des touches W, A, S, D pour déplacer le personnage principal (le héros) dans les quatre directions.
- Déplacement du monstre : Le deuxième joueur utilise les touches fléchées pour contrôler le monstre.
- Collecte d'items : Le héros doit collecter tous les items (C) sur la carte.
- Sortie : Après avoir collecté tous les items, le héros peut atteindre la sortie (E) pour terminer le niveau.
- Ennemis et obstacles : Le monstre contrôlé par le deuxième joueur rend la tâche plus difficile pour le héros.
Le projet So_Long comporte plusieurs parties obligatoires :
- Gestion des fenêtres : Création et gestion d'une fenêtre à l'aide de MiniLibX.
- Affichage des images : Chargement et affichage de textures pour représenter le joueur, les items, les murs, la sortie, etc.
- Détection des collisions : Assurer que le joueur ne puisse pas traverser les murs.
- Système de score : Compter le nombre de mouvements du joueur et afficher ce score à l'écran.
Le parsing des cartes est une partie cruciale du projet. Les cartes sont stockées dans des fichiers texte où :
1représente un mur.0représente une case vide.Creprésente un item à collecter.Ereprésente la sortie.Preprésente la position initiale du héros.Mreprésente la position initiale du monstre.
Un exemple de carte :
111111
1P0C01
1M00E1
111111Le programme doit vérifier la validité de la carte avant de commencer le jeu :
- La carte doit être rectangulaire.
- Il doit y avoir au moins une sortie (E), un item (C), et un joueur (P).
- La carte doit être entourée de murs (1).
Le jeu So_Long intègre des animations pour rendre le jeu plus dynamique :
- Animations du héros : Le personnage du héros a des animations pour les déplacements dans les quatre directions.
- Animations du monstre : Le personnage du monstre a des animations pour les déplacements.
- Effets visuels : Divers effets visuels comme la collecte d'items ou l'ouverture de la sortie.
Le projet s'inspire fortement de l'univers de "The Legend of Zelda: The Minish Cap". Les éléments graphiques, le style de jeu, et les mécaniques de gameplay rappellent cet univers. Ce projet a été adapté pour être joué à deux, offrant une expérience collaborative où un joueur incarne le héros et l'autre le monstre.
Pour installer et jouer à So_Long :
- Clonez le dépôt GitHub :
https://github.com/Kurama77190/SO_LONG.git - Accédez au répertoire du projet :
cd so_long - Compilez le projet :
make - Lancez le jeu avec une carte :
./so_long map_bg.ber
Projet réalisé par sben-tay dans le cadre du cursus de l'école 42. Inspiré par "The Legend of Zelda: The Minish Cap".

