Modification du README
This commit is contained in:
parent
ca0bc18b0a
commit
83349af79a
82
README.md
82
README.md
@ -1,33 +1,97 @@
|
|||||||
# L'algorithme d'Ariane
|
# L'algorithme d'Ariane
|
||||||
Cet algorithme d'Ariane a été développé dans le cadre de la [SAÉ2.01 "Développement d’une application"](http://www.iut-fbleau.fr/sitebp/pt21/21_2022/STCL6EZD72IDTX73.php) lors de notre première année (2022) de BUT Informatique à l'IUT de Fontainebleau.
|
Cet algorithme d'Ariane a été développé dans le cadre de la
|
||||||
|
[SAÉ2.01 "Développement d’une application"](http://www.iut-fbleau.fr/sitebp/pt21/21_2022/STCL6EZD72IDTX73.php)
|
||||||
|
lors de notre première année (2022) de BUT Informatique à l'IUT de Fontainebleau.
|
||||||
|
|
||||||
## Lancement du programme
|
## Compilation
|
||||||
### Compilation
|
|
||||||
Utiliser la commande suivante pour compiler le programme :
|
Utiliser la commande suivante pour compiler le programme :
|
||||||
```bash
|
```bash
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
### Lancement
|
## Lancement
|
||||||
#### Méthode n°1 (recommandée) : Compiler et lancer le programme avec Make
|
### Méthode n°1 (recommandée) : Compiler et lancer le programme avec Make
|
||||||
Utiliser la commande suivante pour compiler (si ce n'est pas déjà fait) puis lancer le programme :
|
Utiliser la commande suivante pour compiler (si ce n'est pas déjà fait) puis lancer le programme :
|
||||||
```bash
|
```bash
|
||||||
make run
|
make run
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Méthode n°2 : Compiler puis lancer le programme
|
### Méthode n°2 : Compiler puis lancer le programme
|
||||||
Une fois la [compilation du programme](#compilation) faite, exécuter le programme à l'aide de la commande suivante :
|
Une fois la [compilation du programme](#compilation) faite, exécuter le programme à l'aide
|
||||||
|
de la commande suivante :
|
||||||
```bash
|
```bash
|
||||||
java -cp out/ Main
|
java -cp out/ Main
|
||||||
```
|
```
|
||||||
|
|
||||||
## Documentation
|
# Documentation
|
||||||
La documentation du programme est généré à l'aide de JavaDoc. Elle est disponible dans le dossier `doc/` et peut être consultée en ouvrant le fichier `index.html` dans un navigateur web.
|
La documentation du programme est généré à l'aide de JavaDoc. Elle est disponible dans le dossier `doc/`
|
||||||
|
et peut être consultée en ouvrant le fichier `index.html` dans un navigateur web.
|
||||||
Utilisez la commande suivante pour générer la documentation :
|
Utilisez la commande suivante pour générer la documentation :
|
||||||
```bash
|
```bash
|
||||||
make doc
|
make doc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Utilisation
|
||||||
|
### Import/export de fichier labyrinthe (`.lab`)
|
||||||
|
#### Importer un labyrinthe
|
||||||
|
##### Méthode n°1 : Depuis la page d'accueil
|
||||||
|
Cliquez sur le bouton "Importer une grille"
|
||||||
|
|
||||||
|
##### Méthode n°2 : Depuis la ligne de commande
|
||||||
|
Lors du [lancement du programme](#lancement), ajoutez le chemin vers le fichier `.lab` en argument.
|
||||||
|
> Exemple :
|
||||||
|
> ```bash
|
||||||
|
> make run chemin/vers/le/fichier.lab
|
||||||
|
> ```
|
||||||
|
> ou :
|
||||||
|
> ```bash
|
||||||
|
> java -cp out/ Main chemin/vers/le/fichier.lab
|
||||||
|
> ```
|
||||||
|
|
||||||
|
#### Exporter un labyrinthe
|
||||||
|
Depuis la page d'édition du labyrinthe, cliquez sur le bouton "Exporter" pour exporter le labyrinthe vers un
|
||||||
|
fichier `.lab`.
|
||||||
|
|
||||||
|
### Générer un labyrinthe aléatoire
|
||||||
|
Le programme dispose d'un générateur de labyrinthe aléatoire.
|
||||||
|
> ℹ️ Le générateur fait en sorte que le labyrinthe soit toujours résolvable, c'est-à-dire qu'il contient
|
||||||
|
> l'emplacement de Thésée ainsi qu'une sortie, et qu'il est possible d'atteindre la sortie depuis la position
|
||||||
|
> de Thésée.
|
||||||
|
#### Méthode n°1 : Depuis la page d'accueil
|
||||||
|
1. Cliquez sur le bouton "Générer une grille"
|
||||||
|
2. Entrez les dimensions de la grille
|
||||||
|
3. Cliquez sur le bouton "Remplir aléatoirement"
|
||||||
|
|
||||||
|
#### Méthode n°2 : Depuis la page d'édition du labyrinthe
|
||||||
|
Cliquez sur le bouton "Aléatoire"
|
||||||
|
|
||||||
|
### Algorithmes
|
||||||
|
Le programme possède 2 algorithmes de résolution de labyrinthe décris ci-dessous. Reportez-vous à la section
|
||||||
|
[Simulations](#simulations) pour savoir comment les utiliser.
|
||||||
|
#### Algorithme de résolution aléatoire
|
||||||
|
L'algorithme choisit aléatoirement une des directions disponibles.
|
||||||
|
#### Algorithme de résolution déterministe
|
||||||
|
L'algorithme choisit la direction la plus proche de la sortie
|
||||||
|
##### Algorigramme
|
||||||
|
![Algorigramme de l'algorithme de résolution déterministe](resources/img/deterministic-algorithm-flowchart.svg)
|
||||||
|
|
||||||
|
### Simulations
|
||||||
|
Pour utiliser les algorithmes de résolution, le programme dispose de 2 modes d'affichages.
|
||||||
|
Pour lancer une simulation, cliquez sur le bouton "Démarrer" depuis la page d'édition du labyrinthe, choisissez
|
||||||
|
l'[algorithme de résolution](#algorithmes) que vous souhaitez utiliser, puis choisissez l'un des deux
|
||||||
|
modes d'affichage disponibles.
|
||||||
|
#### Mode d'affichage manuel (pas à pas)
|
||||||
|
Dans ce mode, l'utilisateur doit cliquer sur le bouton "Suivant" (ou sur la flèche directionnelle droite) pour faire
|
||||||
|
avancer l'algorithme d'une étape.
|
||||||
|
|
||||||
|
#### Mode d'affichage automatique
|
||||||
|
Dans ce mode, l'algorithme effectue automatiquement 100 simulations et affiche à l'écran le nombre moyen
|
||||||
|
de mouvements nécessaires à la résolution du labyrinthe.
|
||||||
|
> ℹ️ Étant donné que les simulations peuvent être longues en fonction de la taille du labyrinthe et de la puissance
|
||||||
|
> de calcul disponible, le programme affiche à l'écran le numéro de la simulation en cours ainsi que
|
||||||
|
> le nombre de mouvements effectués par l'algorithme en temps réel. Cette information disparait de l'écran
|
||||||
|
> une fois les 100 simulations effectuées.
|
||||||
|
|
||||||
## Crédits
|
## Crédits
|
||||||
- Code :
|
- Code :
|
||||||
- Amir Daouadi (@daouadi)
|
- Amir Daouadi (@daouadi)
|
||||||
|
888
resources/img/deterministic-algorithm-flowchart.svg
Normal file
888
resources/img/deterministic-algorithm-flowchart.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 68 KiB |
Loading…
Reference in New Issue
Block a user