Skip to content

Latest commit

 

History

713 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BA-2 C++ Project, S-PH


Projet d'équipe en C++, à l'EPFL.

Participating:


Questions préliminaires

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).

Installation

Clonez le dépôt récursivement (nécessaire pour récupérer le sous-module raylib) :

git clone --recursive <repo-url>

VM EPFL — variable d'environnement requise

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/lib64

Comme vous devez l'exporter à chaque session, vous pouvez ajouter cette ligne à votre ~/.bashrc ou ~/.zshrc pour éviter de la répéter.

Installer raylib localement

Raylib est inclus comme sous-module et doit être compilé une fois avant le projet :

make install_raylib_locally

Cela compile la bibliothèque statique dans external/raylib/src/, sans rien installer à l'échelle du système.


Compilation

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.


Tests

make test

Cela 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) :

  • testTextview
  • testSystem
  • testSysLocal
  • testSysLocalSimple
  • testSave
  • testRenduObstacles
  • testGalton
  • testChoc
  • testAvalanche
make debug_test   # identique, mais avec les symboles de débogage

Conseils

Si 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages