Add possibility to define the background color of entities (black in ASCII, white in Unicode)
This commit is contained in:
parent
a8223aab2e
commit
d26b66f337
|
@ -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):
|
||||||
|
|
|
@ -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:
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Reference in New Issue