M1 Software Engineering Project
Go to file
Yohann D'ANELLO 0fbbf4925d Store configuration in user configuration directory 2020-11-19 03:13:01 +01:00
dungeonbattle Rename dungeonbattle to squirrelbattle 2020-11-19 02:18:16 +01:00
squirrelbattle Store configuration in user configuration directory 2020-11-19 03:13:01 +01:00
.gitignore Prepare PyPI deployment 2020-11-19 02:30:29 +01:00
.gitlab-ci.yml Add Gitlab stage for Python 3.7 because it is Debian default version 2020-11-11 22:50:14 +01:00
LICENSE Add LICENSE 2020-11-19 01:51:10 +01:00
README.md Rename dungeonbattle to squirrelbattle 2020-11-19 02:18:16 +01:00
fix-squirrel-emojis.conf Add squirrel emoji fix 2020-11-13 18:11:37 +01:00
main.py Rename dungeonbattle to squirrelbattle 2020-11-19 02:18:16 +01:00
requirements.txt 🎉 Init repo 2020-10-02 15:48:39 +02:00
setup.py Prepare PyPI deployment 2020-11-19 02:30:29 +01:00
tox.ini Game name is Squirrel Battle 2020-11-19 02:41:42 +01:00

README.md

pipeline status coverage report

Squirrel Battle

Attention aux couteaux des écureuils !

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.

    $ 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 :

    $ 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.

    $ 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

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 :

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 :

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 :

rm /etc/fonts/conf.d/75-fix-squirrel-emojis.conf