its-a-date/Toolbox.py

124 lines
3.7 KiB
Python
Raw Normal View History

2024-11-14 23:26:28 +01:00
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