Projet d'analyse de Livres Dont Vous Êtes le Héros (LDVEH). Application Java permettant de visualiser et d'analyser la structure d'un livre-jeu sous forme de graphe, avec différents algorithmes de parcours.
- Java 17 ou supérieur
- Maven 3.6 ou supérieur
# Cloner le projet
git clone https://github.com/florianppn/Analyseur-LDVEH-Java.git
cd Analyseur-LDVEH-Java
# Compiler le projet
mvn clean compile
# Créer le JAR exécutable
mvn package# Lancer l'application avec Maven
mvn compile exec:java
# Ou avec le JAR (après mvn package)
cd target && java -cp "classes:lib/*" main.Main- Graphe Force-Directed : Visualisation interactive avec algorithme Fruchterman-Reingold (attraction/répulsion, longueur d'arête idéale, refroidissement)
- Types de parcours :
- BFS : Plus court chemin (parcours en largeur)
- DFS : Un chemin (parcours en profondeur)
- Aléatoire : Parcours aléatoire à travers le graphe
- BFS avec héros : Survie jusqu'à l'arrivée (simulation des combats)
- Moins de combats : Chemin minimisant le nombre de combats (Dijkstra)
- Visualisation des parcours : Mise en évidence du chemin (départ violet, chemin bleu, arrivée orange)
- Légende des couleurs : Gradient vert/rouge selon le nombre de parents des nœuds
- Interactions : Pan, zoom à la molette, clic sur un nœud pour les détails
- Modèle étendu : Support des combats, items, héros et choix
Le projet respecte l'architecture Model-View-Controller :
- Model :
PointManager,Point,JsonReader— gestion des données - View :
GUI,ForceDirectGraph,PointInformationView— affichage - Controller :
GraphController— gestion des interactions utilisateur
Structure Maven standard :
src/
└── main/
├── java/
│ └── main/ # Package principal
│ ├── controller/ # Contrôleurs MVC
│ ├── model/ # Modèle de données
│ │ └── parcours/ # Algorithmes de parcours
│ ├── view/ # Vues et composants graphiques
│ ├── hero/ # Équipement et héros
│ ├── combat/ # Système de combat
│ ├── item/ # Objets du jeu
│ ├── choicesection/ # Sections de choix
│ └── utils/ # Utilitaires
└── resources/ # Fichiers de configuration et données
Le fichier src/main/resources/config.properties permet de configurer le graphe :
| Paramètre | Description |
|---|---|
StartGraphX, StartGraphY |
Position initiale du centre |
ExpendedGraphX, ExpendedGraphY |
Zone d'expansion (plus grand = graphe plus espacé) |
HookForce |
Force d'attraction le long des arêtes |
IdealEdgeLength |
Longueur idéale des arêtes en pixels |
RepulsionStrength |
Force de répulsion globale entre les nœuds |
Iterations |
Nombre d'itérations pour la convergence du layout |
- N'hésitez pas à signaler des bugs
- N'hésitez pas à améliorer le code existant
Ce projet est sous licence MIT.
- Tom David
- Emilien Huron
- Florian Pépin
L'interface graphique (vues et thème) a été développée avec l'assistance de Cursor (IA) .
