Projet d'équipe en C++, à l'EPFL.
Participating:
1. Jusqu'où avez-vous été ? Qu'avez-vous fait / pas fait ?
Nous avons complété l'intégralité du projet, de P1 à P13. En extension, nous avons implémenté :
- Planche de Galton (dans main/src/test/testGalton.cpp)
- Système de point de reprise (sauvegarde et rechargement de l'état de la simulation, testé dans main/src/test/testSave.cpp)
2. Version graphique ?
Oui, avec raylib, appuyer sur M pour avoir le manuel lorsque la simulation est lancée.
3. Nombre d'heures en moyenne par personne par semaine ?
Environ 4 heures par personne par semaine (sur 14 semaines, hors cours et exercices hors projet).
Clonez le dépôt récursivement (nécessaire pour récupérer le sous-module raylib) :
git clone --recursive <repo-url>Sur les machines virtuelles de l'EPFL, g++-14 dépend d'un chemin de bibliothèque non standard. Exportez-le avant de compiler ou d'exécuter :
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc-14.2/lib64Comme vous devez l'exporter à chaque session, vous pouvez ajouter cette ligne à votre
~/.bashrcou~/.zshrcpour éviter de la répéter.
Raylib est inclus comme sous-module et doit être compilé une fois avant le projet :
make install_raylib_locallyCela compile la bibliothèque statique dans external/raylib/src/, sans rien installer à l'échelle du système.
| Commande | Description |
|---|---|
make |
Compile le projet -> ./bin/prog (démonstration d'une très grande avalanche) |
make rebuild |
Nettoie puis recompile depuis zéro |
make debug |
Compile avec les symboles de débogage (-g -O0) |
make clean |
Supprime bin/ et obj/ |
Le compilateur utilisé est g++-14 avec le standard C++23.
make testCela compile tous les fichiers de test trouvés dans src/test/ (fichiers correspondant à test*.cpp). Chaque test produit son propre binaire dans bin/.
Les tests suivants sont inclus :
testVecteur3D(dans main)testParticule(dans main)testObstacle(dans main)testSource(dans main)testexerciceP9(dans main)testChuteLibre(dans main)testexerciceP10(dans le dossier P10)testexerciceP10-P9revisite(dans le dossier P10_v2)testexerciceP11-P9revisite(dans le dossier P11)testexerciceP11_new(dans le dossier P11)
Tests personnalisés (tous dans main) :
testTextviewtestSystemtestSysLocaltestSysLocalSimpletestSavetestRenduObstaclestestGaltontestChoctestAvalanche
make debug_test # identique, mais avec les symboles de débogageSi l'apparition du manuel au début de chaque execution est irritante, on invite l'utilisateur à modifier la ligne 61 du include/const.hpp : DISPLAY_MAN_AT_START en la métant à false.