Skip to content

LICENCE-INFO-CAEN/Analyseur-LDVEH-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet : Analyseur LDVEH

Description

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.

Prérequis

  • Java 17 ou supérieur
  • Maven 3.6 ou supérieur

Installation et compilation

# 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

Lancement

# 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

Les fonctionnalités

  • 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

Architecture MVC

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 du projet

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

Configuration

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

Contribuer

  • N'hésitez pas à signaler des bugs
  • N'hésitez pas à améliorer le code existant

Licence

Ce projet est sous licence MIT.

Captures d'écran

graph

Contributeurs

Interface

L'interface graphique (vues et thème) a été développée avec l'assistance de Cursor (IA) .

Releases

No releases published

Packages

 
 
 

Contributors

Languages