60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
# So_long
|
|
|
|
## Description
|
|
So_long est un projet de l'École 42 qui consiste à créer un petit jeu 2D en utilisant la MiniLibX. Le joueur doit collecter tous les objets sur la carte et atteindre la sortie.
|
|
|
|
## Fonctionnalités
|
|
- **Rendu 2D** avec sprites et textures
|
|
- **Déplacement du joueur** avec WASD
|
|
- **Collecte d'objets** obligatoire avant la sortie
|
|
- **Gestion des collisions** avec les murs
|
|
- **Animation** des sprites (bonus)
|
|
- **Compteur de mouvements** affiché
|
|
- **Parsing de cartes** depuis fichiers .ber
|
|
|
|
## Format de carte (.ber)
|
|
```
|
|
1111111111111
|
|
10010000000C1
|
|
1000011111001
|
|
1P0011E000001
|
|
1111111111111
|
|
```
|
|
- **1** : Mur
|
|
- **0** : Espace libre
|
|
- **P** : Position du joueur
|
|
- **E** : Sortie
|
|
- **C** : Objet à collecter
|
|
|
|
## Technologies utilisées
|
|
- **Langage** : C
|
|
- **Bibliothèque graphique** : MiniLibX
|
|
- **Gestion d'événements** : Clavier, fenêtre
|
|
- **Sprites** : Fichiers XPM
|
|
|
|
## Installation
|
|
```bash
|
|
git clone <repository-url>
|
|
cd so_long
|
|
make
|
|
./so_long maps/map.ber
|
|
```
|
|
|
|
## Contrôles
|
|
- **W/A/S/D** ou **flèches** : Déplacement
|
|
- **ESC** : Quitter le jeu
|
|
|
|
## Règles du jeu
|
|
1. Collecter tous les objets 'C'
|
|
2. Atteindre la sortie 'E'
|
|
3. Éviter les murs '1'
|
|
4. Minimiser le nombre de mouvements
|
|
|
|
## Compétences développées
|
|
- Programmation graphique 2D
|
|
- Gestion d'événements
|
|
- Parsing de fichiers
|
|
- Game design basique
|
|
|
|
## Auteur
|
|
Alexandre Pommier (apommier) - École 42 |