An example of item

This commit is contained in:
Nicolas Margulies 2020-10-23 18:02:57 +02:00
parent 343e107b86
commit 2ba7330ff5
3 changed files with 23 additions and 2 deletions

View File

@ -1,4 +1,4 @@
from ..interfaces import Entity from ..interfaces import Entity, FightingEntity
class Item(Entity): class Item(Entity):
held:bool held:bool
@ -13,3 +13,21 @@ class Item(Entity):
def hold(self): def hold(self):
self.held = True self.held = True
class Bomb(Item):
damage:int = 5
exploding:bool
def __init__(self, *args, **kwargs):
super().__init__(self, *args, **kwargs)
self.exploding = False
def drop(self, x:int, y:int):
super.drop(self, x, y)
self.exploding = True
def act(self, map):
if self.exploding:
for e in map.entities:
if abs (e.x - self.x) + abs (e.y - self.y) <= 1 and isinstance(e,FightingEntity):
e.take_damage(self, self.damage)

View File

@ -1,7 +1,7 @@
from ..interfaces import FightingEntity from ..interfaces import FightingEntity
class Monster(FightingEntity): class Monster(FightingEntity):
def behaviour(self, map): def act(self, map):
pass pass
class Squirrel(Monster): class Squirrel(Monster):

View File

@ -73,6 +73,9 @@ class Entity:
self.x = x self.x = x
self.y = y self.y = y
def act(self, m:Map):
pass
class FightingEntity(Entity): class FightingEntity(Entity):
maxhealth: int maxhealth: int
health: int health: int