inf-kswo/TextAdventure/Text Adventure.py
2025-01-20 19:41:45 +01:00

295 lines
9.3 KiB
Python
Executable File

import time
global bbs
bbs = 0
global location
def cover():
print("""
______ ______ ______ ______ _______ _______ _____
( ___ \ / ___ \ / ___ \ / ___ \ ( )( ___ )|\ /| / ___ \
| ( ) )\/ ) )\/ \ \\/ ) )| () () || ( ) |( \ / ) ( (___) )
| (__/ / / / ___) / / / | || || || (___) | \ (_) / \ /
| __ ( / / (___ ( / / | |(_)| || ___ | ) _ ( / ___ \
| ( \ \ / / ) \ / / | | | || ( ) | / ( ) \ ( ( ) )
| )___) ) / / /\___/ / / / | ) ( || ) ( |( / \ ) ( (___) )
|/ \___/ \_/ \______/ \_/ |/ \||/ \||/ \| \_____/
_______ _______ _______ _______
( ____ \( ____ )( ___ )( ____ \|\ /|
| ( \/| ( )|| ( ) || ( \/| ) ( |
| | | (____)|| (___) || (_____ | (___) |
| | | __)| ___ |(_____ )| ___ |
| | | (\ ( | ( ) | ) || ( ) |
| (____/\| ) \ \__| ) ( |/\____) || ) ( |
(_______/|/ \__/|/ \|\_______)|/ \|
""")
time.sleep(2)
def einfuehrung():
print("Es ist der 10. März 2019. Ein warmer Wind weht über den Ort.\n\n Es ist genau 8 Uhr 44 Ortszeit. \n\n Plötzlich hörst du ein Heulen, ein Krachen, eine Explosion. \n Du rennst hin und siehst ein abgestürztes Flugzeug. ")
time.sleep(4)
def grundriss():
print ("""Die Absturzstelle:
_________________________________
| |
| |
| Cockpit |
| |
| |
| Flügel + Trubinen |
| |
| |
| Heck mit Blackboxen |
| |
| |
| |
|_________________________________|
| |
| |
| Ermittlerbüro |
| |
| |
|_________________|
Deine Aufgabe ist es nun, herauszufinden, weshalb dies
Flugzeug abgestürzt ist und alle 157 Menschen an Board
von Ethiopian Airlines Flug 302 gestorben sind.
Ein wenig Hintergrund: Etwa 5 Monate zuvor, am 29. Oktober
2018 ist eine Maschine desselben Typs in Indonesien nahezu
senkrecht abgestürzt und hat alle Menschen an Board in den
Tod gerissen. Anhand dessen, was du bereits aus der
Absturzstelle schliessen konntest, ist dasselbe auch hier
geschehen, das Flugzeug ist wie ein Stein vom Himmel gefallen.
(Für Hilfe schreibe ein "?" als Antwort auf die Fragen wohin)
""")
def abspann():
print("""
Du machst dich, nachdem du all dies herausgefunden hast daran, einen Abschlussbericht zu schreiben.
Diesen veröffentlichst du sobald du fertig bist. Boeing bessert das MCAS nach.
Du bist stolz auf dich und gehst zufrieden nach Hause.
""")
print("THE END")
def eb_start():
print("""Willkommen im Ermittlerbüro.
Entscheide dich jetzt, ob du hier etwas untersuchen willst,
oder lieber das Gelände untersuchst.""")
a = input("Bleiben (b) oder weggehen (w)? ").lower()
if a == "b":
return 51
elif a == "w":
d = input("Wohin willst du gehen? (Heck (h), Flügel (f), Cockpit (c) ").lower()
if d == "h":
return 21
elif d == "f":
return 31
elif d == "c":
return 41
elif d == "?":
return 99
else:
print("unbekannt")
def eb_inside():
global bbs
if bbs == 0:
print("""Hier im Ermittlerbüro kannst du Dinge, wie die Blackboxes untersuchen.
Dafür musst du sie jedoch erst finden und bergen.
Gehe dazu hinaus auf die Absturzstelle.
Sie könnten wichtige Informationen enthalten.
""")
d = input("Wohin willst du gehen? (Heck (h), Flügel (f), Cockpit (c) ").lower()
if d == "h":
return 25
elif d == "f":
return 35
elif d == "c":
return 45
elif d == "?":
return 99
else:
print("unbekannt")
elif bbs == 1:
print("""
Du hälst die Blackboxes in den Händen, aber sie werden dir langsam zu schwer.
Deshalb stellst du sie ab um deine Hände auszuruhen.
Um die darin enthaltenen Flugdaten zu erhalten, musst du
den Flugdatenschreiber und Stimmenrekorder aufschrauben.
Also machst du dich daran.
""")
time.sleep(8)
print("""Perfekt, der Datenschreiber ist offen. Er sieht ok aus, du gehst davon aus,
dass du die Daten selber auswerten kannst. Um aber nicht warten zu müssen, falls der
Stimmenrekoder schlechter aussieht, öffnest du auch ihn.
""")
time.sleep(8)
print("""
Du konntest die Schrauben nur schwerlich entfernen, da der Stimmenrekorder
ziemlich stark beschädigt ist. Wie es aussieht muss er eingesendet werden, in ein
Labor des NTSB (National Transport Safety Board) in Washington DC. Dies dauert
eine Weile, aber zum Glück ist es einem deiner Mitarbeiter gelungen, folgende Daten
aus dem Flugdatenschreiber zu bergen:
Das Flugzeug konnte nach dem Start nicht stabil fliegen.
Die Höhe schwankte ziemlich stark, die Stickinputs waren
enorm. Es sieht danach aus, als kämpften die Piloten gegen etwas.
Auch die Fluggeschwindigkeit schwankte extrem.
Beide Anstellwinkelsensoren der Boeing lieferten andere Werte.
Du bist verwirrt. Eigentlich sollten Flugzeuge nicht nur zwei Sensoren haben sondern 3.
Du wirst hellhörig.
""")
time.sleep(10)
print("""
Mittlerweile sind die Daten aus Washington eingetroffen. Wie man das bereits in den
Flugdaten erahnen konnte, kämpften die Piloten gegen etwas. Jetzt wird klar, das sie gegen
ein System kämpften. Aber gegen welches.
""")
d = input("Was willst du jetzt tun? Selber nachforschen (s) oder ein Flugzeug anschauen (f)? ").lower()
if d == "s":
print("Du versuchst es selber. Nach längerem überlegen fällt dir auf, dass es doch eine bessere Idee gewesen wäre, \n ein Flugzeug anzuschauen und tust dies auch")
return 100
elif d == "f":
return 100
elif d == "?":
return 99
else:
print("unbekannt")
def flugzeug_see():
print("""
Du kommst bei Southwest airlines an. Denn diese Airline ist eine der grössten Betreiberinnnen
der Boeing 737MAX 8.
""")
def he_eb():
print("Willkommen in Raum 2")
d = input("Wohin?").lower()
if d == 'sueden':
return 3
elif d == 'westen':
return 1
else:
print("Da kannst Du leider nicht lang.")
return 2
def co_eb():
print("""
Du läufst am Heck und den Flügeln vorbei, denn du willst ins Cockpit.
Dort angekommen erlebst du eine grosse Entteuschung.
Nichts nützliches ist vorhanden, alles ist verbrannt.
""")
d = input("Wohin willst du jetzt gehen? (Heck (h), Flügel (f), Zurück (b) ").lower()
if d == "h":
return 2
elif d == "f":
return 3
elif d == "b":
return 1
elif d == "?":
return 99
else:
print("unbekannt")
def he_ebi():
print("""
Du läufst aus dem Ermittlerbüro zum Heck des Flugzeugs.
""")
global bbs
if bbs == 0:
print("""
Da du auf der Suche nach den Blackboxes bist, beginnst du damit, Metallstücke umherzuschieben,
dass du sie möglicherweise finden kannst.
""")
time.sleep(10)
bbses()
bbs = 1
else:
print("""
Du hast diesen Bereich bereits untersucht und gehst zurück.
""")
return 12
def bbses():
print("""
Plötzlich siehst du ein bischen Orange unter einem grossen Stück des Seitenleitwerkes
hervorblitzen. Du rufst jemanden dazu. Ihr verschiebt das Stück und tatsächlich: Es
ist der Flugdatenschreiber.
ERFOLG FREIGESCHALTET: DER SCHREIBER
Ihr sucht weiter, denn der Rekorder kann nicht weit sein. Und das ist er auch nicht.
Du drehst ein weiteres Stück Metall, diesmal wahrscheinlich vom Seitenruder, um und da ist er.
ERFOLG FREIGESCHALTET: DER REKORDER
ERFOLG FREIGESCHALTET: BLACKBOX
""")
def main():
cover()
einfuehrung()
grundriss()
next = 10
while next != 0:
if next == 10:
next = eb_start()
elif next == 12:
next = he_done()
elif next == 21:
next = he_eb()
elif next == 25:
next = he_ebi()
elif next == 31:
next = fl_eb()
elif next == 35:
next = fl_ebi()
elif next == 41:
next = co_eb()
elif next == 45:
next = co_ebi()
elif next == 51:
next = eb_inside()
elif next == 99:
next = help()
elif next == 100:
next = flugzeug_see
location = next
abspann()
main()