Merge branch 'beaver-is-a-tiger' into 'master'
Beaver is a tiger See merge request ynerant/squirrel-battle!24
This commit is contained in:
commit
23a2b4c0cf
|
@ -25,14 +25,14 @@ Dans le `pack de textures`_ ASCII, il est représenté par le caractère ``*``.
|
||||||
Dans le `pack de textures`_ écureuil, il est représenté par l'émoji ``🦔``.
|
Dans le `pack de textures`_ écureuil, il est représenté par l'émoji ``🦔``.
|
||||||
|
|
||||||
|
|
||||||
Castor
|
Tigre
|
||||||
------
|
-----
|
||||||
|
|
||||||
Son nom est fixé à `beaver`. Il a par défaut une force à **2** et **20** points de vie.
|
Son nom est fixé à `tiger`. Il a par défaut une force à **2** et **20** points de vie.
|
||||||
|
|
||||||
Dans le `pack de textures`_ ASCII, il est représenté par le caractère ``_``.
|
Dans le `pack de textures`_ ASCII, il est représenté par le caractère ``n``.
|
||||||
|
|
||||||
Dans le `pack de textures`_ écureuil, il est représenté par l'émoji ``🦫``.
|
Dans le `pack de textures`_ écureuil, il est représenté par l'émoji ``🐅``.
|
||||||
|
|
||||||
|
|
||||||
Lapin
|
Lapin
|
||||||
|
|
|
@ -67,17 +67,7 @@ Un paquet_ est généré par l'intégration continue de Gitlab à chaque commit.
|
||||||
Ils sont également attachés à chaque nouvelle release.
|
Ils sont également attachés à chaque nouvelle release.
|
||||||
|
|
||||||
Il dépend du paquet ``fonts-noto-color-emoji``, permettant d'afficher les émojis
|
Il dépend du paquet ``fonts-noto-color-emoji``, permettant d'afficher les émojis
|
||||||
dans le terminal. Il peut être installé via APT normalement sur une distribution
|
dans le terminal. Il peut être installé via APT.
|
||||||
récente, toutefois sur les versions les plus vieilles, incluant Debian Buster,
|
|
||||||
certains émojis n'apparaissent pas. Il est essentiel de maintenir ce paquet à
|
|
||||||
jour. Pour installer manuellement la dernière version de ce paquet,
|
|
||||||
il suffit d'exécuter :
|
|
||||||
|
|
||||||
.. code:: 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
|
|
||||||
|
|
||||||
Pour installer ce paquet, il suffit de le télécharger et d'appeler ``dpkg`` :
|
Pour installer ce paquet, il suffit de le télécharger et d'appeler ``dpkg`` :
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ Pack de textures
|
||||||
.. _Cœur: entities/items.html#coeur
|
.. _Cœur: entities/items.html#coeur
|
||||||
.. _Bombe: entities/items.html#bombe
|
.. _Bombe: entities/items.html#bombe
|
||||||
.. _Lapin: entities/monsters.html#lapin
|
.. _Lapin: entities/monsters.html#lapin
|
||||||
.. _Castor: entities/monsters.html#castor
|
.. _Tigre: entities/monsters.html#tigre
|
||||||
.. _Nounours: entities/monsters.html#nounours
|
.. _Nounours: entities/monsters.html#nounours
|
||||||
|
|
||||||
Chaque entité_ et chaque tuile_ de la carte_ est associé à un caractère pour
|
Chaque entité_ et chaque tuile_ de la carte_ est associé à un caractère pour
|
||||||
|
@ -42,7 +42,7 @@ Chaque tuile fait un caractère de large.
|
||||||
* Cœur_ : ``❤``
|
* Cœur_ : ``❤``
|
||||||
* Bombe_ : ``o``
|
* Bombe_ : ``o``
|
||||||
* Lapin_ : ``Y``
|
* Lapin_ : ``Y``
|
||||||
* Castor_ : ``_``
|
* Tigre_ : ``n``
|
||||||
* Nounours_ : ``8``
|
* Nounours_ : ``8``
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,5 +61,5 @@ Chaque tuile fait 2 caractères de large pour afficher les émojis proprement.
|
||||||
* Cœur_ : ``💜``
|
* Cœur_ : ``💜``
|
||||||
* Bombe_ : ``💣``
|
* Bombe_ : ``💣``
|
||||||
* Lapin_ : ``🐇``
|
* Lapin_ : ``🐇``
|
||||||
* Castor_ : ``🦫``
|
* Tigre_ : ``🐅``
|
||||||
* Nounours_ : ``🧸``
|
* Nounours_ : ``🧸``
|
||||||
|
|
|
@ -24,21 +24,12 @@ Sous Ubuntu/Debian
|
||||||
^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
À nouveau, le terminal `xfce4-terminal` est recommandé. Le paquet
|
À nouveau, le terminal `xfce4-terminal` est recommandé. Le paquet
|
||||||
`fonts-noto-color-emoji`. Toutefois, le rythme de mise à jour de Debian étant
|
`fonts-noto-color-emoji`.
|
||||||
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 :
|
|
||||||
|
|
||||||
.. code:: bash
|
Toutefois, un problème reste avec l'écureuil. Sous Ubuntu et Debian, le
|
||||||
|
caractère écureuil existe déjà, mais ne s'affiche pas proprement. On peut
|
||||||
wget http://ftp.fr.debian.org/debian/pool/main/f/fonts-noto-color-emoji/fonts-noto-color-emoji_0~20200916-1_all.deb
|
appliquer un patch qui permet d'afficher les émojis correctement dans son
|
||||||
dpkg -i fonts-noto-color-emoji_0~20200916-1_all.deb
|
terminal. Pour cela, il suffit de faire :
|
||||||
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 :
|
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ TexturePack.ASCII_PACK = TexturePack(
|
||||||
HEART='❤',
|
HEART='❤',
|
||||||
BOMB='o',
|
BOMB='o',
|
||||||
RABBIT='Y',
|
RABBIT='Y',
|
||||||
BEAVER='_',
|
TIGER='n',
|
||||||
TEDDY_BEAR='8',
|
TEDDY_BEAR='8',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -70,6 +70,6 @@ TexturePack.SQUIRREL_PACK = TexturePack(
|
||||||
HEART='💜',
|
HEART='💜',
|
||||||
BOMB='💣',
|
BOMB='💣',
|
||||||
RABBIT='🐇',
|
RABBIT='🐇',
|
||||||
BEAVER='🦫',
|
TIGER='🐅',
|
||||||
TEDDY_BEAR='🧸',
|
TEDDY_BEAR='🧸',
|
||||||
)
|
)
|
||||||
|
|
|
@ -52,13 +52,13 @@ class Monster(FightingEntity):
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
class Beaver(Monster):
|
class Tiger(Monster):
|
||||||
"""
|
"""
|
||||||
A beaver monster
|
A tiger monster
|
||||||
"""
|
"""
|
||||||
def __init__(self, strength: int = 2, maxhealth: int = 20,
|
def __init__(self, strength: int = 2, maxhealth: int = 20,
|
||||||
*args, **kwargs) -> None:
|
*args, **kwargs) -> None:
|
||||||
super().__init__(name="beaver", strength=strength,
|
super().__init__(name="tiger", strength=strength,
|
||||||
maxhealth=maxhealth, *args, **kwargs)
|
maxhealth=maxhealth, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -318,9 +318,9 @@ class Entity:
|
||||||
Returns all entities subclasses
|
Returns all entities subclasses
|
||||||
"""
|
"""
|
||||||
from squirrelbattle.entities.items import Heart, Bomb
|
from squirrelbattle.entities.items import Heart, Bomb
|
||||||
from squirrelbattle.entities.monsters import Beaver, Hedgehog, \
|
from squirrelbattle.entities.monsters import Tiger, Hedgehog, \
|
||||||
Rabbit, TeddyBear
|
Rabbit, TeddyBear
|
||||||
return [Beaver, Bomb, Heart, Hedgehog, Rabbit, TeddyBear]
|
return [Tiger, Bomb, Heart, Hedgehog, Rabbit, TeddyBear]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_all_entity_classes_in_a_dict() -> dict:
|
def get_all_entity_classes_in_a_dict() -> dict:
|
||||||
|
@ -328,11 +328,11 @@ class Entity:
|
||||||
Returns all entities subclasses in a dictionary
|
Returns all entities subclasses in a dictionary
|
||||||
"""
|
"""
|
||||||
from squirrelbattle.entities.player import Player
|
from squirrelbattle.entities.player import Player
|
||||||
from squirrelbattle.entities.monsters import Beaver, Hedgehog, Rabbit, \
|
from squirrelbattle.entities.monsters import Tiger, Hedgehog, Rabbit, \
|
||||||
TeddyBear
|
TeddyBear
|
||||||
from squirrelbattle.entities.items import Bomb, Heart
|
from squirrelbattle.entities.items import Bomb, Heart
|
||||||
return {
|
return {
|
||||||
"Beaver": Beaver,
|
"Tiger": Tiger,
|
||||||
"Bomb": Bomb,
|
"Bomb": Bomb,
|
||||||
"Heart": Heart,
|
"Heart": Heart,
|
||||||
"Hedgehog": Hedgehog,
|
"Hedgehog": Hedgehog,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from squirrelbattle.entities.items import Bomb, Heart, Item
|
from squirrelbattle.entities.items import Bomb, Heart, Item
|
||||||
from squirrelbattle.entities.monsters import Beaver, Hedgehog, Rabbit, TeddyBear
|
from squirrelbattle.entities.monsters import Tiger, Hedgehog, Rabbit, TeddyBear
|
||||||
from squirrelbattle.entities.player import Player
|
from squirrelbattle.entities.player import Player
|
||||||
from squirrelbattle.interfaces import Entity, Map
|
from squirrelbattle.interfaces import Entity, Map
|
||||||
from squirrelbattle.resources import ResourceManager
|
from squirrelbattle.resources import ResourceManager
|
||||||
|
@ -36,17 +36,17 @@ class TestEntities(unittest.TestCase):
|
||||||
"""
|
"""
|
||||||
Test some random stuff with fighting entities.
|
Test some random stuff with fighting entities.
|
||||||
"""
|
"""
|
||||||
entity = Beaver()
|
entity = Tiger()
|
||||||
self.map.add_entity(entity)
|
self.map.add_entity(entity)
|
||||||
self.assertEqual(entity.maxhealth, 20)
|
self.assertEqual(entity.maxhealth, 20)
|
||||||
self.assertEqual(entity.maxhealth, entity.health)
|
self.assertEqual(entity.maxhealth, entity.health)
|
||||||
self.assertEqual(entity.strength, 2)
|
self.assertEqual(entity.strength, 2)
|
||||||
for _ in range(9):
|
for _ in range(9):
|
||||||
self.assertEqual(entity.hit(entity),
|
self.assertEqual(entity.hit(entity),
|
||||||
"beaver hits beaver. beaver takes 2 damage.")
|
"tiger hits tiger. tiger takes 2 damage.")
|
||||||
self.assertFalse(entity.dead)
|
self.assertFalse(entity.dead)
|
||||||
self.assertEqual(entity.hit(entity), "beaver hits beaver. "
|
self.assertEqual(entity.hit(entity), "tiger hits tiger. "
|
||||||
+ "beaver takes 2 damage. beaver dies.")
|
+ "tiger takes 2 damage. tiger dies.")
|
||||||
self.assertTrue(entity.dead)
|
self.assertTrue(entity.dead)
|
||||||
|
|
||||||
entity = Rabbit()
|
entity = Rabbit()
|
||||||
|
|
Loading…
Reference in New Issue