Mise à jour du README.md : amélioration de la clarté et de la structure, ajout de sections sur la compilation et l'exécution, et mise à jour des descriptions du projet.
This commit is contained in:
116
README.md
116
README.md
@@ -1,84 +1,106 @@
|
|||||||
# Dorfromantik 🏔️🌲
|
# Dorfromantik 🏔️
|
||||||
|
|
||||||
Bienvenue sur notre projet **"Dorfromantik"**, un jeu inspiré par l'univers de [Dorfromantik](https://store.steampowered.com/app/1455840/Dorfromantik/), où vous devrez assembler des tuiles pour créer des paysages harmonieux 🌈. Ce projet a été réalisé dans le cadre de la SAE 3.1 de notre formation à l'IUT de Sénart-Fontainebleau.
|
Bienvenue sur notre projet **"Dorfromantik"**, un jeu de construction de paysages inspiré par l'univers de [Dorfromantik](https://store.steampowered.com/app/1455840/Dorfromantik/). Ce projet a été réalisé dans le cadre de la SAE 3.1 de l'IUT Sénart-Fontainebleau.
|
||||||
|
|
||||||
## Table des Matières ℹ
|
|
||||||
|
|
||||||
|
## Table des matières
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
- [Lancement du Programme](#lancement-du-programme)
|
- [Structure du projet](#structure-du-projet)
|
||||||
- [Compilation](#compilation)
|
- [Compilation et exécution](#compilation-et-exécution)
|
||||||
- [Exécution](#exécution)
|
- [Génération de la documentation](#génération-de-la-documentation)
|
||||||
- [Nettoyage des Fichiers](#nettoyage-des-fichiers)
|
- [Nettoyage des fichiers](#nettoyage-des-fichiers)
|
||||||
- [Architecture du Projet](#architecture-du-projet)
|
- [Rapport d'avancement](#rapport-davancement)
|
||||||
- [Rapport d'Avancement](#rapport-davancement)
|
|
||||||
- [Crédits](#crédits)
|
- [Crédits](#crédits)
|
||||||
|
|
||||||
## Introduction 🌱
|
---
|
||||||
|
|
||||||
Dans ce jeu, les joueurs assemblent des tuiles hexagonales représentant différents types de terrains (🌊 mer, 🌾 pré, 🍂 forêt, 🏠 champ, et ⛰ montagne) afin de former un paysage harmonieux. Les tuiles peuvent avoir un ou deux types de terrains, et doivent être placées en suivant certaines contraintes.
|
## Introduction
|
||||||
|
|
||||||
L'objectif est de créer des poches de terrains connexes maximisant les points 🌟. Le jeu se termine après avoir placé 50 tuiles 🏙️.
|
Dorfromantik est un jeu où vous devrez :
|
||||||
|
- Placer des tuiles hexagonales sur un plateau pour former des paysages cohérents.
|
||||||
|
- Maximiser votre score en reliant des poches de terrains identiques.
|
||||||
|
|
||||||
|
Ce projet a été développé en **Java** en suivant les consignes de l'IUT pour garantir modularité et maintenabilité.
|
||||||
|
|
||||||
## Lancement du Programme 🚀
|
---
|
||||||
|
|
||||||
Pour démarrer le projet, suivez les instructions ci-dessous :
|
## Structure du projet
|
||||||
|
|
||||||
### Compilation 🛠️
|
````
|
||||||
|
.
|
||||||
|
├── Database # Fichiers qui contient une sauvegarde de la BDD
|
||||||
|
├── Documentation # Diagrammes UML, Wireflow et rapport
|
||||||
|
├── libs # Bibliothèque MariaDB pour la connexion à la BDD
|
||||||
|
├── ressources # Ressources : images, polices, sons
|
||||||
|
├── src # Code source du projet
|
||||||
|
├── dorfromantik.jar # Archive exécutable
|
||||||
|
├── Makefile # Automatisation de la compilation
|
||||||
|
├── LICENSE # Licence du projet
|
||||||
|
└── README.md # Ce fichier
|
||||||
|
````
|
||||||
|
|
||||||
Pour compiler le projet, utilisez le Makefile présent à la racine du projet avec la commande suivante :
|
---
|
||||||
|
|
||||||
|
## Compilation et exécution
|
||||||
|
|
||||||
|
### Pré-requis
|
||||||
|
- **MariaDB client** (inclus dans le répertoire `libs`)
|
||||||
|
|
||||||
|
### Compilation
|
||||||
|
Utilisez le fichier `Makefile` pour compiler le projet :
|
||||||
```bash
|
```bash
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
Cela générera tous les fichiers `.class` nécessaires dans le répertoire `build/`.
|
|
||||||
|
|
||||||
### Exécution 🌿
|
### Exécution
|
||||||
|
Pour lancer le programme, utilisez la commande suivante :
|
||||||
Pour lancer le jeu, utilisez la commande suivante :
|
|
||||||
```bash
|
```bash
|
||||||
make run
|
make run
|
||||||
```
|
```
|
||||||
|
|
||||||
ou
|
ou
|
||||||
|
|
||||||
|
Avec l'archive .jar :
|
||||||
```bash
|
```bash
|
||||||
java -jar dorfromantik.jar
|
java -cp dorfromantik.jar:libs/mariadb-client.jar fr.monkhanny.dorfromantik.Main
|
||||||
```
|
```
|
||||||
Cela exécutera le fichier `dorfromantik.jar` contenant tout le projet.
|
|
||||||
|
|
||||||
|
### Création du fichier `.jar`
|
||||||
|
Vous pouvez générer une archive exécutable :
|
||||||
|
```bash
|
||||||
|
make jar
|
||||||
|
```
|
||||||
|
|
||||||
### Nettoyage des Fichiers 🛏️
|
---
|
||||||
|
|
||||||
Pour nettoyer les fichiers `.class` et la documentation, utilisez la commande :
|
## Génération de la documentation
|
||||||
|
|
||||||
|
La documentation du code source est générée via **Javadoc**. Utilisez :
|
||||||
|
```bash
|
||||||
|
make javadoc
|
||||||
|
```
|
||||||
|
Les fichiers HTML seront disponibles dans le répertoire `docs`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nettoyage des fichiers
|
||||||
|
|
||||||
|
Pour supprimer les fichiers temporaires et la documentation générée :
|
||||||
```bash
|
```bash
|
||||||
make clean
|
make clean
|
||||||
```
|
```
|
||||||
|
|
||||||
## Architecture du Projet 🛁
|
---
|
||||||
|
## Rapport d'avancement
|
||||||
|
|
||||||
Le projet est organisé de manière modulaire pour assurer une bonne maintenance et faciliter la lecture du code. Voici les principaux composants :
|
Le rapport d'avancement du projet est disponible dans le dossier `Documentation`. Accédez-y directement ici : [Documentation/Rapport.pdf](Documentation/Rapport.pdf).
|
||||||
|
|
||||||
- **Main.java** : Point d'entrée du programme.
|
---
|
||||||
- **game/** : Contient la logique de gestion du plateau et des tuiles, notamment `Board.java` et `Tile.java`.
|
|
||||||
- **gui/** : Fournit les interfaces graphiques pour l'utilisateur, comme `MainMenu.java` et `GameControlsMenu.java`.
|
|
||||||
- **controller/** : Gère les actions et les événements des utilisateurs.
|
|
||||||
- **utils/** : Fonctions utilitaires pour charger des images, des polices, et se connecter à la base de données.
|
|
||||||
- **listeners/** : Gère les différents événements de l'application, tels que `GameMouseClickListener.java`.
|
|
||||||
|
|
||||||
## Rapport d'Avancement 📃
|
## Crédits
|
||||||
|
|
||||||
Un rapport d'avancement complet est disponible dans le dossier `XXXXXXXXXXXXXXXXXXXX/`. Ce fichier **PDF** inclut :
|
|
||||||
|
|
||||||
- Une description du sujet.
|
|
||||||
- Les fonctionnalités et captures d'écran de notre application.
|
|
||||||
- La structure du programme avec des diagrammes de classe.
|
|
||||||
- Une analyse des algorithmes employés.
|
|
||||||
- ...
|
|
||||||
|
|
||||||
## Crédits 🚀
|
|
||||||
|
|
||||||
Ce projet a été réalisé par :
|
Ce projet a été réalisé par :
|
||||||
|
- [Moncef STITI](moncef.stiti@etu.u-pec.fr)
|
||||||
|
- [Lenny FOULOU](lenny.foulou@etu.u-pec.fr)
|
||||||
|
- [Khalid CHENOUNA](khalid.chenouna@etu.u-pec.fr)
|
||||||
|
|
||||||
- **Moncef STITI** (@stiti)
|
Professeur : **Luc Hernandez**.
|
||||||
- **Lenny FOULOU** (@foulou)
|
|
||||||
- **Khalid CHENOUNA** (@chenouna)
|
|
||||||
|
Reference in New Issue
Block a user