Player can stomp ennemies
This commit is contained in:
parent
df7d544c31
commit
25ba8131bc
28
gamedata/objects/combat/ennemies/ennemy.py
Normal file
28
gamedata/objects/combat/ennemies/ennemy.py
Normal 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
|
@ -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):
|
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.sprites = game.getSpriteDir("robot/")
|
||||||
self.sprite = self.sprites[0]
|
self.sprite = self.sprites[0]
|
||||||
|
@ -166,6 +166,3 @@ class Player(Movable):
|
|||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
self.game.window.blit(self.sprite,[self.rect[0]-self.game.globals["camerax"],self.rect[1]-self.game.globals["cameray"]])
|
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]])
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user