def update(self): to_remove = [] for sprite in self.monsters: sprite.update() #Is it dead? if (sprite.dead): to_remove.append(sprite) #Remove dead sprites for sprite in to_remove: self.monsters.remove(sprite) #Bullet update and collision to_remove = [] for sprite in self.bullets: sprite.update() if (not sprite.dead): monster_hit = sprite.collide_once(self.monsters) if (monster_hit is not None): sprite.on_kill() self.monsters.remove(monster_hit) to_remove.append(sprite) else: to_remove.append(sprite) #Remove bullets that hit monsters for sprite in to_remove: self.bullets.remove(sprite) self.ship.update() #Is it dead? monster_hit = self.ship.collide_once(self.monsters) if (monster_hit is not None): self.ship.dead = True self.has_exit = True
def tick(event): sprite.update() pygame.display.get_surface().fill((0,0,0)) pygame.display.get_surface().blit(sprite.image,sprite.rect) pygame.display.flip()