squirrel-battle/README.md

119 lines
4.1 KiB
Markdown
Raw Normal View History

2020-11-19 03:45:44 +00:00
[![pipeline status](https://gitlab.crans.org/ynerant/squirrel-battle/badges/master/pipeline.svg)](https://gitlab.crans.org/ynerant/squirrel-battle/-/commits/master)
[![coverage report](https://gitlab.crans.org/ynerant/squirrel-battle/badges/master/coverage.svg)](https://gitlab.crans.org/ynerant/squirrel-battle/-/commits/master)
2020-11-19 01:18:08 +00:00
# Squirrel Battle
2020-10-02 13:48:39 +00:00
2020-11-19 01:18:08 +00:00
Attention aux couteaux des écureuils !
2020-10-09 14:21:10 +00:00
## 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
2020-11-19 03:45:44 +00:00
$ git clone git@gitlab.crans.org:ynerant/squirrel-battle.git && cd squirrel-battle
2020-10-09 14:21:10 +00:00
```
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
```
2020-11-13 16:21:50 +00:00
### Exécution des tests
2020-11-19 03:45:44 +00:00
Les tests sont gérés par `pytest` dans le module `squirrelbattle.tests`.
2020-11-13 16:21:50 +00:00
`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
2020-11-19 02:19:44 +00:00
Après clonage du projet, il suffit d'exécuter `python3 main.py`.
Sinon, le jeu est déployé dans PyPI, et il suffit d'exécuter :
```
pip install squirrel-battle
```
pour télécharger et installer le jeu. Lancer `squirrel-battle` suffit ensuite
à lancer le jeu depuis n'importe où. Pour mettre à jour :
```
pip install --upgrade squirrel-battle
```
2020-11-19 04:17:22 +00:00
Sous Arch Linux, le paquet `python-squirrel-battle-git` dans l'AUR permet
également d'installer directement le jeu.
## 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
```
2020-11-13 17:11:37 +00:00
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
2020-11-13 17:20:20 +00:00
ln -s $PWD/fix-squirrel-emojis.conf /etc/fonts/conf.avail/75-fix-squirrel-emojis.conf
2020-11-13 17:19:08 +00:00
ln -s /etc/fonts/conf.avail/75-fix-squirrel-emojis.conf /etc/fonts/conf.d/75-fix-squirrel-emojis.conf
2020-11-13 17:11:37 +00:00
```
Après redémarrage du terminal, l'écureuil devrait s'afficher correctement.
Pour supprimer le patch :
```bash
2020-11-13 17:19:08 +00:00
rm /etc/fonts/conf.d/75-fix-squirrel-emojis.conf
2020-11-13 17:11:37 +00:00
```