Add possibility to define the background color of entities (black in ASCII, white in Unicode)

This commit is contained in:
Yohann D'ANELLO 2020-11-10 22:34:12 +01:00
parent a8223aab2e
commit d26b66f337
3 changed files with 19 additions and 1 deletions

View File

@ -1,9 +1,19 @@
from random import choice
from ..interfaces import FightingEntity, Map from ..interfaces import FightingEntity, Map
class Monster(FightingEntity): class Monster(FightingEntity):
def act(self, m: Map) -> None: def act(self, m: Map) -> None:
pass """
By default, a monster will move randomly where it is possible
And if a player is close to the monster, the monster run on the player.
"""
# TODO If a player is close, move to the player
while True:
if choice([self.move_up, self.move_down,
self.move_left, self.move_right])():
break
class Hedgehog(Monster): class Hedgehog(Monster):

View File

@ -71,6 +71,7 @@ class Game:
self.display_refresh() self.display_refresh()
key = screen.getkey() key = screen.getkey()
self.handle_key_pressed(self.translate_key(key)) self.handle_key_pressed(self.translate_key(key))
self.map.tick()
def translate_key(self, key: str) -> KeyValues: def translate_key(self, key: str) -> KeyValues:
""" """

View File

@ -88,6 +88,13 @@ class Map:
hedgehog.move(y, x) hedgehog.move(y, x)
self.add_entity(hedgehog) self.add_entity(hedgehog)
def tick(self) -> None:
"""
Trigger all entity events.
"""
for entity in self.entities:
entity.act(self)
class Tile(Enum): class Tile(Enum):
EMPTY = auto() EMPTY = auto()