diff --git a/gamedata/objects/combat/ennemies/ennemy.py b/gamedata/objects/combat/ennemies/ennemy.py new file mode 100644 index 0000000..c122e16 --- /dev/null +++ b/gamedata/objects/combat/ennemies/ennemy.py @@ -0,0 +1,28 @@ +from gamedata.objects.combat.movable import Movable + +class Ennemy(Movable): + + def __init__(self,x,y,game,nodes=None): + + super().__init__(game,x,y) + + self.player = None + + def step(self): + + super().step() + # Check for collision with player + if not self.player: + self.player = next(iter(self.game.gameloop.findname("Player")),None) + else: + if self.player.canhit: + if self.rect.colliderect(self.player.hitrect): + # Die + self.game.gameloop.delid(self.id) + # Boost the player vertically + if not self.player.fastfall: + if self.player.rect[1]>self.rect[1]: + direction = 1 + else: + direction = -1 + self.player.verspd = self.player.gravity/3*direction diff --git a/gamedata/objects/combat/ennemies/robot.py b/gamedata/objects/combat/ennemies/robot.py index c1c00d9..28095a1 100644 --- a/gamedata/objects/combat/ennemies/robot.py +++ b/gamedata/objects/combat/ennemies/robot.py @@ -1,10 +1,10 @@ -from gamedata.objects.combat.movable import Movable +from gamedata.objects.combat.ennemies.ennemy import Ennemy -class Robot(Movable): +class Robot(Ennemy): def __init__(self,x,y,game,nodes=None): - super().__init__(game,x,y) + super().__init__(x,y,game,nodes) self.sprites = game.getSpriteDir("robot/") self.sprite = self.sprites[0] diff --git a/gamedata/objects/combat/player.py b/gamedata/objects/combat/player.py index d3a344d..07aeb7d 100644 --- a/gamedata/objects/combat/player.py +++ b/gamedata/objects/combat/player.py @@ -166,6 +166,3 @@ class Player(Movable): def draw(self): self.game.window.blit(self.sprite,[self.rect[0]-self.game.globals["camerax"],self.rect[1]-self.game.globals["cameray"]]) - - if self.canhit: - self.game.pygame.draw.rect(self.game.window,[255,100,100],[self.hitrect[0]-self.game.globals["camerax"],self.hitrect[1]-self.game.globals["cameray"],self.hitrect[2],self.hitrect[3]])