У меня есть Таже проблему, как этот джентльмен здесь: Health for each enemy, и кажется, что он нашел ответ, который работал на него. Тем не менее, этот ответ для Java-кода, и я использую Pygame, поэтому я не понимаю, как применять то, что они сделали с моим кодом Pygame.Как сделать HP переменную экземпляра в Pygame
Кто-нибудь знает, как сделать так, чтобы каждый враг в моей игре не имел одну и ту же сумму в hp? Он узнал, что ему нужно сделать свою переменную класса мгновенной, но я не знаю, как это сделать.
Это код зомби. Обратите внимание, как установлено значение л.с для всего класса:
class Enemy(pygame.sprite.Sprite):
def __init__(self, color):
super().__init__()
self.image = pygame.Surface([20, 20])
self.image.fill(color)
self.rect = self.image.get_rect()
self.pos_x = self.rect.x = random.randrange(35, screen_width - 35)
self.pos_y = self.rect.y = random.randrange(35, screen_height - 135)
self.hp = 3
Вот код столкновения пули удара-а-зомби:
for bullet in bullet_list:
block_hit_list = pygame.sprite.spritecollide(bullet, zombie_list, False)
for i in block_hit_list:
zombie.hp -= 1
bullet.kill()
if self.hp <= 0:
pygame.sprite.spritecollide(bullet, zombie_list, True)
bullet.kill()
score += 100
В коде, который вы указываете, 'hp' * является атрибутом экземпляра *. Так в чем ваш вопрос ?! – jonrsharpe