def aufbauen(self): BildSpeicher.lade_bild("ufo", "bilder/ufo.png", True) BildSpeicher.lade_bild("such_strahl1", "bilder/such_strahl_trans0.png", True) BildSpeicher.lade_bild("such_strahl2", "bilder/such_strahl_trans1.png", True) BildSpeicher.lade_bild("such_strahl3", "bilder/such_strahl_trans1.png", True) BildSpeicher.lade_bild("grass_1", "bilder/grass_1.png", True) BildSpeicher.lade_bild("grass_2", "bilder/grass_2.png", True) BildSpeicher.lade_bild("grass_3", "bilder/grass_3.png", True) BildSpeicher.lade_bild("grass_4", "bilder/grass_4.png", True) BildSpeicher.lade_bild("grass_5", "bilder/grass_5.png", True) BildSpeicher.lade_bild("fallschirm", "bilder/fallschirm.png", True) BildSpeicher.lade_bild("schaf_1", "bilder/schaf_1.png", True) BildSpeicher.lade_bild("schaf_2", "bilder/schaf_2.png", True) BildSpeicher.lade_bild("sonne", "bilder/sonne.png", True) zeit = 1000 / 6 bilder_zeiten = [] for i in range(1, 6): BildSpeicher.lade_bild("rauch_%d" % i, "../testimages/smoke_puff_000%d.png" % i, True) bilder_zeiten.append(("rauch_%d" % i, zeit)) BildAnimationSpeicher.registriere_animation("rauch", bilder_zeiten) BildAnimationSpeicher.registriere_animation( "such_strahl", [("such_strahl1", 300), ("such_strahl2", 500), ("such_strahl3", 300)] ) sonne = BildSpeicher.gib_bild("sonne") sonne.aendere_position(Spiel.breite - 150, 25) self.neues_schaf() self.neues_schaf() s = self.neues_schaf() s.fallschirm_rettung(300, 200) for i in range(schwierigkeit.anzahl_ufos): self.neues_ufo() anzahl = 60 b = Spiel.breite / anzahl for i in range(1, anzahl): g1 = BildSpeicher.gib_bild("grass_" + str(random.randint(1, 5))) y_offset = random.randint(0, 10) - 5 x_offset = random.randint(0, 10) - 5 g1.aendere_position(i * b + x_offset, 360 + y_offset)
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()