def zerstoert(self): self.such_strahl.selbst_entfernen() self.selbst_entfernen() UfoUndSchafeSpiel.alle_ufos.remove(self) # Falls das Ufo zerstört wird, während es ein schaf entführt if self.entfuertes_schaf is not None: pos = self.position() self.entfuertes_schaf.fallschirm_rettung(pos.x, pos.y) rauch_animation = BildAnimationSpeicher.gib_animation("rauch") rauch_animation.aendere_position(self.position()) rauch_animation.start() UfoUndSchafeSpiel.neues_ufo()
def __init__(self): pygame_ufo = BildSpeicher.gib_pygame_bild("ufo") x = random.randint(0, Spiel.breite - pygame_ufo.get_width()) super().__init__(x, 0, pygame_ufo) self.text = UfoUndSchafeSpiel.neues_wort(self, 0, -30, self.zerstoert) self.such_strahl = BildAnimationSpeicher.gib_animation("such_strahl") self.such_strahl.start() self.such_strahl.setze_wiederhole() self.such_strahl.verstecke() self.timer = 20 self.bewegungs_richtung = 1 if random.randint(0, 1) == 1 else -1 self.entfuertes_schaf = None self.modus = Ufo.MODUS_RUNTERFLIEGEN self.nach_vorne()