Loading repository data…
Loading repository data…
BadrELG / repository
So_long est un projet en C visant à créer un jeu vidéo 2D. Il utilise les bibliothèques libft et mlx, et met en œuvre les bases du développement de jeu vidéo, telles que la gestion de la fenêtre graphique, du clavier et du rendu tile-based
So_long est un projet de l'École 42 consistant à créer un jeu 2D en C utilisant la bibliothèque graphique MinilibX. Le joueur doit collecter tous les objets sur une carte et atteindre la sortie en évitant les obstacles.
.ber🎯 Modules implémentés :
src/
├── parsing/
│ ├── map_parsing.c # Lecture fichier et création tableau
│ ├── map_validation.c # Validation caractères et forme
│ ├── map_borders.c # Validation bordures murées
│ └── map_logic.c # Validation éléments de jeu
└── error/
└── error_handler.c # Gestion d'erreurs centralisée
so_long/
├── Makefile
├── so_long.h # Header principal
├── main.c # Point d'entrée
├── src/
│ ├── parsing/ # Modules de parsing
│ ├── error/ # Gestion d'erreurs
│ ├── game/ # Logique de jeu (à venir)
│ └── graphics/ # Rendu graphique (à venir)
├── libft/ # Bibliothèque personnelle 42
├── mlx/ # MinilibX
├── maps/ # Cartes de test
└── sprites/ # Ressources graphiques
git clone https://github.com/BadrELG/So_long.git
cd So_long
make
./so_long maps/example.ber
0 : Espace vide1 : MurC : CollectibleE : SortieP : Position du joueur1111111111111
10010000000C1
1000011111001
1P0011E000001
1111111111111
C)E) après avoir tout collectéWASD ou les flèches directionnellesESC pour quitter1)P) et 1 sortie (E)C)| Phase | Statut | Durée estimée | Description |
|---|---|---|---|
| Phase 1 | ✅ | 1-2 jours | Setup et configuration |
| Phase 2 | ✅ | 2-3 jours | Parsing et validation |
| Phase 3 | 🔄 | 2-3 jours | Affichage graphique |
| Phase 4 | ⏳ | 2 jours | Gestion des événements |
| Phase 5 | ⏳ | 2 jours | Logique du jeu |
| Phase 6 | ⏳ | 1-2 jours | Tests et finalisation |
Durée totale estimée : 10-15 jours
Ce projet fait partie du tronc commun de l'École 42, visant à développer les compétences en programmation graphique et en gestion d'événements. Il prépare aux projets plus avancés comme cub3d (raycasting 3D) et miniRT (raytracing).
Projet réalisé dans le cadre du cursus de l'École 42 🚀