Ajout d'un README

This commit is contained in:
Mysaa 2021-07-08 15:47:25 +02:00
parent 7567602c61
commit 149911f430

37
README.md Normal file
View File

@ -0,0 +1,37 @@
#Murderator
Ce programme permet d'organiser, de gérer et planifier des soirées «Murder» ou «huis-clos». L'objectif est d'aider le ou les opérateurs à garder une trace de quels objets sont dans quelles salles, qui a utilisé quel pouvoir quand.
##### Compilation
> Pour complier, une simple commande `gradle jar` crée un fichier jar fonctionnel dans le dossier `build/libs/`
### Utilisation
Pour chaque session ou partie, un ordinateur doit utiliser un terminal maître, qui sera créé un chargant un fichier décrivant l'état initial de la Murder. Un exemple de tel fichier est donné dans le dossier `src/test/resources`.
##### Objets
Un simple système de drag&drop permet de déplacer facilement les objets, même à travers les onglets, avec sélection au survol. Les menus au clic droit permettent de créer/renommer/supprimer les objets.
##### Actions
Un seul bouton à actionner et les actions sont «déclenchées». Elles peuvent aussi être réinitialisées avec le menu clic droit.
##### Enceinte et microphones
D'autres ordinateurs peuvent être utilisés comme serveur enceinte ou microphones. Afin de les connecter, il faut d'abord sélectionner l'interface audio à utiliser, puis indiquer l'adresse IP du terminal maître. L'appareil devrait alors apparaître sur le terminal maître. Ensuite, les enceintes peuvent se connecter à n'importe quel micro.
### Principe
L'application est écrite selon un système MVC (Model/Vue/Contrôlleur). Le modèle est un ensemble de classes Java décrivant la Partie, présentes dans le paquet `com.bernard.murder.model`
La vue est définie de manière modulaire, à travers des «Minels». Les minels, présents dans le paquet `com.bernard.murder.view.minel`, implémentent une fonction `genContentPane()` qui sera appelée une fois et qui renvoie un Panel qui sera présent dans la fenêtre.
Les minels et les onglets présents sont définis dans la classe `MinelsCreator`.
Dans le cas où plusieurs terminal sont présents, il n'y a qu'un seul terminal maître qui a l'assurance de l'intégrité des données.
### Fonctionalités
##### Partie
* Stoquage et déplacement des objets dans les salles et les inventaires
* Actions des joueurs
##### Application
* Sauvegardes automatiques de la partie et des minels
* Allumage et Extinction propre des serveurs