Player can stomp ennemies

This commit is contained in:
theo@manjaro 2021-11-17 15:01:25 +01:00
parent df7d544c31
commit 25ba8131bc
3 changed files with 31 additions and 6 deletions

View File

@ -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

View File

@ -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]

View File

@ -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]])