Как добавить смерть персонажа в игре?
Создаю игру где главный герой будет убивать противников и за их убийство будут выдавать очки. Но при смерти противника очки выдаются всё равно (я наношу удары после смерти когда его хп меньше 0 (goblin.health <= 0) и очки начисляются как бы он умер еще раз). Хочу исправить ошибку, чтобы очки выдавались единожды, но либо их не выдают либо их выдают даже после его смерти.
class enemy(object):
walkRight = [pygame.image.load("gobling.png"),pygame.image.load("gobling.png"),pygame.image.load("gobling.png"),pygame.image.load("gobling.png")
,pygame.image.load("gobling2.png"),pygame.image.load("gobling2.png"),pygame.image.load("gobling.png"),pygame.image.load("gobling.png")
,pygame.image.load("gobling.png"),pygame.image.load("gobling.png"),pygame.image.load("gobling.png"),pygame.image.load("gobling.png")]
ba = [pygame.image.load("ba1.png"),pygame.image.load("ba2.png"),pygame.image.load("ba3.png"),pygame.image.load("ba4.png"),pygame.image.load("ba5.png")]
def __init__(self, x, y, width, height, end):
self.x = x + 100
self.y = y
self.width = width
self.height = height
self.end = end
self.path = [self.x, self.end]
self.walkCount = 0
self.attackCount = 0
self.vel = 3
self.hitbox = (self.x , self.y , 66, 64)
self.health = 10
self.visible = True
self.attack = False
self.death = False
self.standing = True
self.playing = True
self.death = False
def draw(self,win):
if self.visible:
if self.walkCount + 1 >= 30:
self.walkCount = 0
if self.attackCount + 1 >= 20:
self.attackCount = 0
if self.standing :
win.blit(self.walkRight[self.walkCount //5], (self.x, self.y))
self.walkCount += 1
if (self.attack):
win.blit(self.ba[self.attackCount //4], (self.x,self.y))
self.attackCount += 1
if man.attack == False:
self.attack = False
pygame.draw.rect(win, (255,0,0), (self.hitbox[0] + 10, self.hitbox[1] - 10, 250, 20))
pygame.draw.rect(win, (0,255,0), (self.hitbox[0] + 10, self.hitbox[1] - 10, 250 - (25 * (10 - self.health)), 20))
self.hitbox = (self.x , self.y , 66, 40)
def hit(self):
if self.health >= 0:
self.health -= man.damage
if self.health - man.damage < -1:
self.health = -1
self.visible = False
if man.poison == True:
self.health += 0.5
if self.health <= 0:
self.playing = False
if self.playing == False:
self.visible = False
if self.playing == False:
self.death == True"""