103 lines
3.7 KiB
Markdown
103 lines
3.7 KiB
Markdown
[![pipeline status](https://gitlab.crans.org/ynerant/dungeon-battle/badges/master/pipeline.svg)](https://gitlab.crans.org/ynerant/dungeon-battle/-/commits/master)
|
|
[![coverage report](https://gitlab.crans.org/ynerant/dungeon-battle/badges/master/coverage.svg)](https://gitlab.crans.org/ynerant/dungeon-battle/-/commits/master)
|
|
|
|
# Dungeon Battle
|
|
|
|
Projet de génie logiciel de M1
|
|
|
|
## Création d'un environnement de développement
|
|
|
|
Il est toujours préférable de travailler dans un environnement Python isolé du reste de son instalation.
|
|
|
|
1. **Installation des dépendances de la distribution.**
|
|
Vous devez déjà installer Python et le module qui permet de créer des environnements virtuels.
|
|
On donne ci-dessous l'exemple pour une distribution basée sur Debian, mais vous pouvez facilement adapter pour ArchLinux ou autre.
|
|
|
|
```bash
|
|
$ sudo apt update
|
|
$ sudo apt install --no-install-recommends -y python3-setuptools python3-venv python3-dev git
|
|
```
|
|
|
|
2. **Clonage du dépot** là où vous voulez :
|
|
|
|
```bash
|
|
$ git clone git@gitlab.crans.org:ynerant/dungeon-battle.git && cd dungeon-battle
|
|
```
|
|
|
|
3. **Création d'un environment de travail Python décorrélé du système.**
|
|
On n'utilise pas `--system-site-packages` ici pour ne pas avoir des clashs de versions de modules avec le système.
|
|
|
|
```bash
|
|
$ python3 -m venv env
|
|
$ source env/bin/activate # entrer dans l'environnement
|
|
(env)$ pip3 install -r requirements.txt
|
|
(env)$ deactivate # sortir de l'environnement
|
|
```
|
|
|
|
### Exécution des tests
|
|
|
|
Les tests sont gérés par `pytest` dans le module `dungeonbattle.tests`.
|
|
|
|
`tox` est un outil permettant de configurer l'exécution des tests. Ainsi, après
|
|
installation de tox dans votre environnement virtuel via `pip install tox`,
|
|
il vous suffit d'exécuter `tox -e py3` pour lancer les tests et `tox -e linters`
|
|
pour vérifier la syntaxe du code.
|
|
|
|
|
|
## Lancement du jeu
|
|
|
|
Il suffit d'exécuter `python3 main.py`.
|
|
|
|
## Gestion des émojis
|
|
|
|
Le jeu dispose de deux modes graphiques : en mode `ascii` et `squirrel`.
|
|
Le mode `squirrel` affiche des émojis pour un meilleur affichage. Toutefois,
|
|
il est possible que vous n'ayez pas les bonnes polices.
|
|
|
|
### Sous Windows
|
|
|
|
Sous Windows, vous devriez avoir les bonnes polices installées nativement.
|
|
|
|
### Sous Arch Linux
|
|
|
|
Il est recommandé d'utiliser le terminal `xfce4-terminal`. Il suffit d'installer
|
|
le paquets de polices
|
|
|
|
```bash
|
|
sudo pacman -Sy noto-fonts-emoji
|
|
```
|
|
|
|
Le jeu doit ensuite se lancer normalement sans action supplémentaire.
|
|
|
|
### Sous Ubuntu/Debian
|
|
|
|
À nouveau, le terminal `xfce4-terminal` est recommandé. Le paquet
|
|
`fonts-noto-color-emoji`. Toutefois, le rythme de mise à jour de Debian étant
|
|
lent, le paquet le plus récent ne contient pas tous les émojis. Sur Debian,
|
|
il faudra donc installer le paquet le plus récent, ce qui fonctionne sans
|
|
dépendance supplémentaire :
|
|
|
|
```bash
|
|
wget http://ftp.fr.debian.org/debian/pool/main/f/fonts-noto-color-emoji/fonts-noto-color-emoji_0~20200916-1_all.deb
|
|
dpkg -i fonts-noto-color-emoji_0~20200916-1_all.deb
|
|
rm fonts-noto-color-emoji_0~20200916-1_all.deb
|
|
```
|
|
|
|
Il reste le problème de l'écureuil. Sous Ubuntu et Debian, le caractère écureuil
|
|
existe déjà, mais ne s'affiche pas proprement. On peut appliquer un patch qui
|
|
permet d'afficher les émojis correctement dans son terminal. Pour cela, il
|
|
suffit de faire :
|
|
|
|
```bash
|
|
ln -s $PWD/fix-squirrel-emojis.conf /etc/fonts/conf.avail/75-fix-squirrel-emojis.conf
|
|
ln -s /etc/fonts/conf.avail/75-fix-squirrel-emojis.conf /etc/fonts/conf.d/75-fix-squirrel-emojis.conf
|
|
```
|
|
|
|
Après redémarrage du terminal, l'écureuil devrait s'afficher correctement.
|
|
|
|
Pour supprimer le patch :
|
|
|
|
```bash
|
|
rm /etc/fonts/conf.d/75-fix-squirrel-emojis.conf
|
|
```
|