敵を倒すと、さらに 2 体が代わりになるゲームを作成しようとしています。モブの数が無限にあるため、それを打ち負かすことはできません。私の問題は、新しいモブのスポーンを得ることです。また、古いモブの位置にぶつかると、再び現れてプレイヤーを追いかけ始め、殺すことはできません。これが私がこれまでに持っているものです:
【モブクラス】
class MOB(pygame.sprite.Sprite):
def __init__(self, location):
self.pos = [0,0]
self.image = ENEMY
pygame.sprite.Sprite.__init__(self)
self.rect = self.image.get_rect()
self.rect.center = location
self.speed = random
self.hp = 4
def update(self):
if self.rect.centerx >= Player.rect.centerx:
self.rect.left = self.rect.left - 4
if self.rect.centerx <= Player.rect.centerx:
self.rect.left = self.rect.left + 4
if self.rect.centery <= Player.rect.centery:
self.rect.top = self.rect.top + 4
if self.rect.centery >= Player.rect.centery:
self.rect.top = self.rect.top - 4
【暴徒を撃つ】
for Mob in mobs:
if pygame.sprite.collide_rect(Bullet, Mob) == True:
mobs.remove(Mob)
Bullet.image = NOBULLET
Mob.hp = Mob.hp - 2
【モブを倒す】
for Mob in mobs:
if Mob.hp == 0:
mobs.remove(Mob)
new_mobs = MOB([50,50]), MOB([51, 300])
mobs.add(new_mobs)
【更新画面】
mobs.update()
mobs.draw(screen)