import time from colors import MAGENTA, BLUE, RESET from Texte import * """" Hier finden Sie Funktionen, die Sie für Ihr eigenes Abenteuer nutzen können. Die Funktionen sind auch auf OneNote dokumentiert. """ import random def randomInRange(untergrenze, obergrenze): """Generiert einen zufälligen Wert innerhalb vorgegebener Grenzen""" return random.randint(untergrenze, obergrenze) def testeObInListe(liste, ding): """Überprüft, ob ein Element in einer Liste vorhanden ist und gibt entsprechend Rückmeldung""" if ding in liste: return True else: print("Leider existiert", ding, "nicht - jedenfalls nicht hier...") return False def zeigeListe(listeDerOptionen): """Zeigt eine Liste von Optionen nummeriert an.""" for i, element in enumerate(listeDerOptionen): print(f"{i + 1}. {element}") def wähleAusListe(listeDerOptionen): """Lässt Benutzer*innen eine Option aus einer Liste auswählen und gibt die gewählte Option zurück.""" zeigeListe(listeDerOptionen) # Eingabe der gewünschten Option durch den Nutzer auswahl = int(input("Für welche Option entscheiden Sie sich?")) # Überprüfung, ob die eingegebene Option wählbar ist if auswahl < 1 or auswahl > len(listeDerOptionen): print("Ungültige Auswahl. Bitte versuchen Sie es erneut.") return wähleAusListe(listeDerOptionen) else: # return element not number return listeDerOptionen[auswahl - 1] def pressForward(): """Hält das Ausführend des Programms an, bis der Benutzer eine Taste drückt.""" input("\n-----------Drücke eine beliebige Taste fürs Weiterfahren.-----------") # Why Pascal case??? def AbenteuerAbbrechen(): """Beendet das Abenteuer vorzeitig und bricht die Ausführung des Programms ab.""" print("Das Spiel ist leider zu Ende.") exit() def AbenteuerEnde(): """Markiert das erfolgreiche Ende des Abenteuers.""" print("Nach zahlreichen Strapazen haben Sie es geschafft!") pressForward() print("Sie sind rechtzeitig in die heutige Informatik-Lektion gekommen!") pressForward() print("Mit einem seligen Lächeln geben Sie sich den spannenden Inhalten hin :-)") pressForward() print("::::::::::::::::THE END::::::::::::::::") def blue(s): return BLUE + s + RESET def magenta(s): return MAGENTA + s + RESET def askUser(question): while True: answer = input(question + " ") if answer != "": return answer def askUserInt(question): while True: try: return int(askUser(question + " ")) except: print(err_not_a_number) class RomanticInterest(): def __init__(self, gender): self.name = random.choice(names.get(gender, names[gender_other])) self.gender = gender self.rom_goals = 200 self.rom_points = 50 def introduce(self): print(magenta("oh...")) print(magenta("Hallo du!")) time.sleep(0.7) print(magenta("Mein name ist " + self.name + ".")) time.sleep(0.5) ## only print pronouns if nonbinary otherwise clear from name if self.gender == gender_other: print("Und BTW meine Pronomen sind: they/them.") def react_to(self, action): if action == action_ask_age: print(magenta("Ich bin 17 jahre alt!")) self.rom_points -= 20 elif action == action_throw_book: print(magenta(situation_get_hurt_bad)) self.rom_points -= 100 elif action == action_introduce_self: print(magenta("Hallo du")) self.rom_points += 50