Upload code

This commit is contained in:
Janis Hutz 2025-01-20 19:40:14 +01:00
parent 71625e3e41
commit 07809d7d77
66 changed files with 8917 additions and 0 deletions

27
Animation/Animation_Simple.py Executable file
View File

@ -0,0 +1,27 @@
import turtle
import time
turtle.setup(500,500)
turtle.speed(0)
turtle.width(4)
def quadrat():
for i in range(4):
turtle.fd(100)
turtle.rt(90)
turtle.pu()
turtle.setpos(-350,-50)
turtle.pd()
turtle.ht()
turtle.tracer(0)
while True:
turtle.clear()
quadrat()
turtle.fd(1)
time.sleep(0.01)
turtle.update()

26
Animation/Animation_dot.py Executable file
View File

@ -0,0 +1,26 @@
import turtle
import time
turtle.width(4)
turtle.bgcolor("black")
turtle.color("red")
turtle.ht()
turtle.pu()
turtle.setpos(-700,-700)
turtle.lt(45)
turtle.pd()
turtle.tracer(0)
turtle.delay(500)
while True:
turtle.clear()
turtle.dot(50)
turtle.fd(0.5)
turtle.update()

101
Animation/Animation_ship.py Executable file
View File

@ -0,0 +1,101 @@
from turtle import*
import time
import math
speed_boat = 0.01
def ship():
clear()
fd(130)
lt(50)
fd(50)
lt(130)
fd(90)
rt(90)
fd(150)
rt(154)
fd(math.sqrt(16900 + 4900))
rt(116)
fd(65)
lt(90)
fd(18)
rt(90)
fd(102)
lt(130)
fd(49)
lt(50)
update()
def ship_2():
clear()
fd(130)
lt(50)
fd(50)
lt(130)
fd(240)
rt(130)
def speed_more():
global speed_boat
speed_boat += 0.5
def goleft():
lt(1)
bk(1)
def goright():
rt(1)
bk(1)
def speed_less():
global speed_boat
speed_boat -= 0.5
def speed_stop():
global speed_boat
speed_boat = -1.35
def speed_exelerate_fast():
global speed_boat
speed_boat += 2
def speed_reduce_fast():
global speed_boat
speed_boat -= 2
def reset_system():
global speed_boat
speed_boat = 0.01
home()
pu()
setpos(-350,-50)
pd()
tracer(0)
ht()
reset_system()
while True:
fd(speed_boat)
ship()
time.sleep(0.01)
onkeypress(reset_system, "Escape")
onkeypress(speed_exelerate_fast, "w")
onkeypress(speed_reduce_fast, "s")
onkeypress(speed_stop, "space")
onkeypress(speed_more, "Up")
onkeypress(goright, "Right")
onkeypress(goleft, "Left")
onkeypress(speed_less, "Down")
listen()

32
Animation/Erde und Mond.py Executable file
View File

@ -0,0 +1,32 @@
#Import der Module
import turtle
import time
#Aufsetzen der Turtle instanzen
earth = turtle.Turtle()
sun = turtle.Turtle()
#Vorbereiten der Benutzeroberfläche
turtle.bgcolor("black")
turtle.addshape("earth.gif")
turtle.addshape("sun.gif")
earth.shape("earth.gif")
sun.shape("sun.gif")
#Erde umkreist Sonne
def earth_move():
for i in range(10):
earth.fd(1)
earth.rt(0.2)
time.sleep(0.01)
turtle.tracer(2)
earth.pu()
earth.fd(250)
earth.rt(90)
while True:
earth_move()

252
Animation/Main_hub.py Executable file
View File

@ -0,0 +1,252 @@
#Imporieren aller module
from turtle import*
import random
import time
import math
title("Main Hub")
#Wichtige Vorbereitungen
def hi():
pu()
setpos(-100,0)
pd()
lt(90)
fd(200)
bk(100)
rt(90)
fd(100)
lt(90)
fd(100)
bk(200)
pu()
setpos(50,0)
pd()
fd(200)
speed(10000)
ht()
#Lässt den Benutzer auswählen, ob die Formen zufällig oder in einem Kreis angeordnet, nach Wünschen des Benutzers gezeichnet werden sollen.
print("ready")
hi()
program_choice = int(numinput("Welches Program sollte ausgeführt werden?", " 1=Custom, 2=Random, 3=Drunken Man ",1,minval=1))
#Definition des Befehls Vieleck(). Der Grundbaustein des Programms
def vieleck(anzahl_seiten,radius, anzahl_kreis_printed, figuren, kreise, figur_nummer, save_first):
parts_circle = 1
time_durchgang_start = time.time()
for i in range(anzahl_seiten):
fd(radius/anzahl_seiten)
rt(360/anzahl_seiten)
parts_circle += 1
if parts_circle / anzahl_seiten * 100 >= 50 and parts_circle / anzahl_seiten * 100 < 50.1:
print(" Circle:",parts_circle / anzahl_seiten * 100, "%")
time_durchgang_end = time.time()
exact_timecalculation(time_durchgang_start, time_durchgang_end, anzahl_seiten, radius, anzahl_kreis_printed, figuren, kreise, figur_nummer, save_first)
#Definition des Befehls, der mit beendigung des Auswahlverfahrens aufgerufen wird. Verwaltet die wichtigsten feautures
def figur(seite,radiusin,anzahlkr,anzahl_figuren,erh_input):
figur_number = 1
first_time = 1
print("Globally: 0 % done")
for i in range(anzahl_figuren):
change_color(figur_number)
print("drawing figure number",figur_number)
anzahl_kr_printed = 0
for i in range(anzahlkr):
vieleck(seite,radiusin, anzahl_kr_printed, anzahl_figuren, anzahlkr, figur_number, first_time)
rt(360/anzahlkr)
anzahl_kr_printed += 1
print(anzahl_kr_printed / anzahlkr * 100, "%")
radiusin += erh_input
figur_number += 1
print("done")
print("Globally:", (figur_number - 1) / anzahl_figuren * 100, "% done")
#Berechnet, sobald das Programm begonnen hatte zu zeichnen, wie lange der Vorgang noch dauern wird.
def exact_timecalculation(time_durchgang_end_1, time_durchgang_start_1, seitenzahl, radiusinput, anzahl_kreise_printed, figuren, kreise, figur_number, save_1):
print("Time per shape", time_durchgang_start_1 - time_durchgang_end_1)
remaining_circles = (figuren * kreise) - ((anzahl_kreise_printed + ((figur_number - 1) * kreise)))
remaining_time = remaining_circles * ((time_durchgang_end_1 - time_durchgang_start_1) * -1)
print(((anzahl_kreise_printed + ((figur_number - 1) * kreise))), "/", (kreise * figuren), "shapes got already printed.", remaining_circles, "remaining")
print("ETA:", remaining_time, "seconds or", remaining_time / 60, "minutes")
if save_1 > 1:
remaining_time = save_time_end
save_1 = 0
else:
save_1 = 0
#Wechselt die Farbe
def change_color(anz_figuren):
if anz_figuren >= 1 and anz_figuren < 2:
color("red")
else:
if anz_figuren >= 2 and anz_figuren < 3:
color("green")
else:
if anz_figuren >= 3 and anz_figuren < 4:
color("blue")
else:
if anz_figuren >= 4 and anz_figuren < 5:
color("brown")
else:
color("black")
#Führt den zufälligen Teil des Programms aus
def vieleck_random_randomize():
amount_circles_drawn = 0
pu()
amount_circles = random.randint(25, 75)
print(amount_circles, "shapes need to be printed. Esitmated time:", amount_circles * 0.35, "seconds")
print("0 / 0 or 0 % done")
for i in range(amount_circles):
color(random.random(),random.random(),random.random())
size = random.randint(50, 250)
width(random.randint(2, 10))
ecken = random.randint(3, 20)
setpos(random.randint(-300,300), random.randint(-300,300))
fuellen = random.randint(0,1)
pd()
if fuellen >= 1:
begin_fill()
for i in range(ecken):
fd(size / ecken)
rt(360 / ecken)
end_fill()
else:
for i in range(ecken):
fd(size / ecken)
rt(360 / ecken)
amount_circles_drawn += 1
pu()
print(amount_circles_drawn, "/", amount_circles, "or", amount_circles_drawn / amount_circles * 100, "% drawn.")
print("100 % done. Process ended with a 0")
#Definition des Betrunkenen Mannes??
def drunken_man_walk_show(schritte,distanz):
for i in range(schritte):
fd(distanz)
setheading(random.randint(0, 360))
def drunken_man_walk_calculate(anzahl_tests,anzahl_figuren_test,add,anzahl_tests_pro,ausgabe):
print("started. Going to make the test", anzahl_tests, "times to get a result which is as acurate as possible")
schritte = 100
schritte_begin = schritte
distanz = 20
summe = 0
summe_second = 0
l = [1]
for i in range(anzahl_figuren_test):
amount_atemps_per = 0
for i in range(anzahl_tests):
print("Collecting data for", schritte,"steps, collecting data for try number", amount_atemps_per + 1, "/", anzahl_tests)
for i in range(anzahl_tests_pro):
drunken_man_walk_show(schritte,distanz)
x = xcor()
y = ycor()
d = math.sqrt(x**2 + y**2)
summe += d
pu()
home()
pd()
summe_calc = summe / anzahl_tests_pro
print("Average dislocation of 0.0 is:", summe_calc,"pixels, with a amount of steps of", schritte,".")
summe_second += summe_calc
reset()
summe = 0
amount_atemps_per += 1
print("TOTAL Average dislocation of 0.0 is:", summe_second / anzahl_tests, "pixels with", schritte, "steps")
print("Next size getting executed")
result = summe_second / anzahl_tests
l.append(result)
schritte += add
summe_second = 0
l.remove(1)
l.reverse()
print("\n\n\n")
print("entire list:",l)
print("\n_________________________ \n\n\n")
if ausgabe == 1:
for i in range(anzahl_figuren_test):
show = l.pop()
print(schritte_begin, "has an average dislocation of", show)
schritte_begin += add
else:
print("Schritte | Durchschnittliche Entfernung")
print("----------------------------------------------")
for i in range(anzahl_figuren_test):
show = l.pop()
print(schritte_begin, " | ", show)
schritte_begin += add
#Wird ausgeführt, wenn der vom Benutzer einstellbare Modus ausgewählt wird.
if program_choice >= 1 and program_choice < 2:
title("Custom Design")
reset()
ht()
speed(10000)
print("Custom Design")
seiteninput = int(numinput("Wie viele Seiten?", " Gerade Zahl von 3-unendlich ",10,minval=3))
radiusinput = int(numinput("Wie gross soll der Radius sein?", " Gerade Zahl von 50-unendlich ",50,minval=50))
anzahlkrinput = int(numinput("Wie viele Kreise sollen gezeichnet werden??", " Gerade Zahl von 1-unendlich ",5,minval=1))
figureninput = int(numinput("Wie viele Figuren sollen gezeichnet werden?", " Gerade Zahl von 1-unendlich ",5,minval=1))
erhinput = int(numinput("Um wieviel soll sich sich der Radius der Kreise erhöhen?", " Gerade Zahl von 20-unendlich ",50,minval=20))
verzoegerung = int(numinput("Wie schnell soll die Animation laufen?", " Gerade Zahl von 1-unendlich, umso höher, desto schneller ",50,minval=0))
print("starting process...")
tracer(verzoegerung)
print(anzahlkrinput * figureninput, "circles need to be printed. Estimated time until completion:", (anzahlkrinput * figureninput * (seiteninput * 0.0330383)), "seconds or", (anzahlkrinput * figureninput * (seiteninput * 0.0330383)) / 60, "minutes")
time.sleep(2)
draw_time_start = time.time()
figur(seiteninput,radiusinput,anzahlkrinput,figureninput,erhinput)
draw_time_end = time.time()
draw_time = (draw_time_end - draw_time_start) - (anzahlkrinput * figureninput * (seiteninput * 0.0330383))
print("Drawing of", anzahlkrinput * figureninput, "shapes has taken", draw_time_end - draw_time_start , "seconds or", (draw_time_end - draw_time_start) / 60, "minutes, estimated:", (anzahlkrinput * figureninput * (seiteninput * 0.0330383)), "seconds, which means a diffrence of", draw_time, "seconds or missed by", draw_time * 100, "%")
print("Click to exit")
else:
if program_choice >= 2 and program_choice < 3:
title("Random Design")
reset()
ht()
speed(10000)
print("Random Design")
draw_time_start = time.time()
vieleck_random_randomize()
draw_time_end = time.time()
print("Drawing has taken", draw_time_end - draw_time_start , "seconds")
print("Click to exit")
else:
if program_choice >= 3 and program_choice < 4:
title("Drunken Man's Walk")
reset()
ht()
speed(0)
print("Drunken Man's Walk")
easy_difficult = int(numinput("Soll es gezeigt oder eine Tabelle erstellt werden?", " 1=Normal, 2=Tabelle ",1,minval=1))
if easy_difficult == 1:
title("Drunken Man's Walk: standard")
drunken_man_walk_show(100,20)
else:
title("Drunken Man's Walk: List")
tests_total = int(numinput("Wie viele unterschiedliche Längen sollten getestet werden?", " Dauer erhöht sich extrem, Genauigkeit genauso ",10,minval=1))
tests_per = int(numinput("Wieviele Tests sollten pro Länge durchgeführt werden?", " Dauer erhöht sich extrem, Genauigkeit genauso ",10,minval=1))
addition = int(numinput("Um wieviel soll die Schrittzahl vergrössert werden?", " Dauer erhöht sich unbedeutend, abhängig von Tests ", 100, minval=1))
executes_per = int(numinput("Wie viele Spuren sollen gezeichnet werden?", " Dauer erhöht sich ziemlich, Genauigkeit genauso ",1000,minval=1))
tracerdelay = int(numinput("Alle wie viele Striche soll aktualisiert werden?", " umso höher, desto schneller ",10000,minval=1))
output = int(numinput("Wie soll die Liste ausgegeben werden?", " 1 = Liste, 2 = Tabelle ",1,minval=1, maxval=2))
tracer(tracerdelay)
drunken_man_walk_calculate(tests_per,tests_total,addition,executes_per,output)
else:
print("wrong")
update()
exitonclick()

21
Animation/Viereck drehung.py Executable file
View File

@ -0,0 +1,21 @@
from turtle import*
import time
#tracer(1)
#ht()
def viereck():
for i in range(1000000000000000):
clear()
pu()
setpos(0,0)
rt(10)
fd(50)
rt(90)
pd()
for i in range(4):
fd(50)
rt(90)
fd(50)
time.sleep(0.05)
viereck()

24
Animation/Wartesymbol.py Executable file
View File

@ -0,0 +1,24 @@
import time
import os
strich = 1
while True:
for i in range(4):
print("Please wait...")
if strich == 1:
print("\t-", end="\r")
time.sleep(0.5)
elif strich == 2:
print("\t\\", end="\r")
time.sleep(0.5)
elif strich == 3:
print("\t|", end="\r")
time.sleep(0.5)
else:
print("\t/", end="\r")
time.sleep(0.5)
os.system( 'clear' )
strich += 1
strich = 1

BIN
Animation/earth.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
Animation/sun.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,3 @@
inventory = ["Test", "Test2"]
for item in inventory:
print("*"+item)

347
Assembly/PC.dig Executable file
View File

@ -0,0 +1,347 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>Switch</elementName>
<elementAttributes/>
<pos x="620" y="440"/>
</visualElement>
<visualElement>
<elementName>Switch</elementName>
<elementAttributes/>
<pos x="840" y="440"/>
</visualElement>
<visualElement>
<elementName>LightBulb</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
</elementAttributes>
<pos x="960" y="440"/>
</visualElement>
<visualElement>
<elementName>VDD</elementName>
<elementAttributes/>
<pos x="500" y="360"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="1080" y="380"/>
</visualElement>
<visualElement>
<elementName>Switch</elementName>
<elementAttributes/>
<pos x="620" y="560"/>
</visualElement>
<visualElement>
<elementName>Switch</elementName>
<elementAttributes/>
<pos x="620" y="640"/>
</visualElement>
<visualElement>
<elementName>LightBulb</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
</elementAttributes>
<pos x="860" y="600"/>
</visualElement>
<visualElement>
<elementName>RelayDT</elementName>
<elementAttributes/>
<pos x="540" y="200"/>
</visualElement>
<visualElement>
<elementName>RelayDT</elementName>
<elementAttributes>
<entry>
<string>mirror</string>
<boolean>true</boolean>
</entry>
<entry>
<string>rotation</string>
<rotation rotation="2"/>
</entry>
</elementAttributes>
<pos x="800" y="200"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes/>
<pos x="400" y="160"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="660" y="100"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="2"/>
</entry>
</elementAttributes>
<pos x="980" y="160"/>
</visualElement>
<visualElement>
<elementName>LightBulb</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="1"/>
</entry>
<entry>
<string>Color</string>
<awt-color>
<red>51</red>
<green>51</green>
<blue>255</blue>
<alpha>255</alpha>
</awt-color>
</entry>
</elementAttributes>
<pos x="660" y="200"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="900" y="200"/>
</visualElement>
<visualElement>
<elementName>XOr</elementName>
<elementAttributes/>
<pos x="40" y="420"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes/>
<pos x="-60" y="420"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes/>
<pos x="-60" y="460"/>
</visualElement>
<visualElement>
<elementName>LED</elementName>
<elementAttributes/>
<pos x="180" y="440"/>
</visualElement>
<visualElement>
<elementName>PFET</elementName>
<elementAttributes/>
<pos x="260" y="800"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="260" y="900"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="120" y="860"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="280" y="1000"/>
</visualElement>
<visualElement>
<elementName>VDD</elementName>
<elementAttributes/>
<pos x="280" y="740"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out</string>
</entry>
</elementAttributes>
<pos x="380" y="860"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="500" y="560"/>
<p2 x="620" y="560"/>
</wire>
<wire>
<p1 x="660" y="560"/>
<p2 x="740" y="560"/>
</wire>
<wire>
<p1 x="500" y="640"/>
<p2 x="620" y="640"/>
</wire>
<wire>
<p1 x="660" y="640"/>
<p2 x="740" y="640"/>
</wire>
<wire>
<p1 x="580" y="160"/>
<p2 x="660" y="160"/>
</wire>
<wire>
<p1 x="400" y="160"/>
<p2 x="460" y="160"/>
</wire>
<wire>
<p1 x="800" y="160"/>
<p2 x="980" y="160"/>
</wire>
<wire>
<p1 x="660" y="160"/>
<p2 x="760" y="160"/>
</wire>
<wire>
<p1 x="460" y="160"/>
<p2 x="540" y="160"/>
</wire>
<wire>
<p1 x="220" y="800"/>
<p2 x="260" y="800"/>
</wire>
<wire>
<p1 x="-60" y="420"/>
<p2 x="40" y="420"/>
</wire>
<wire>
<p1 x="660" y="440"/>
<p2 x="840" y="440"/>
</wire>
<wire>
<p1 x="880" y="440"/>
<p2 x="960" y="440"/>
</wire>
<wire>
<p1 x="500" y="440"/>
<p2 x="620" y="440"/>
</wire>
<wire>
<p1 x="1000" y="440"/>
<p2 x="1080" y="440"/>
</wire>
<wire>
<p1 x="100" y="440"/>
<p2 x="180" y="440"/>
</wire>
<wire>
<p1 x="740" y="600"/>
<p2 x="860" y="600"/>
</wire>
<wire>
<p1 x="900" y="600"/>
<p2 x="1080" y="600"/>
</wire>
<wire>
<p1 x="460" y="200"/>
<p2 x="540" y="200"/>
</wire>
<wire>
<p1 x="580" y="200"/>
<p2 x="660" y="200"/>
</wire>
<wire>
<p1 x="700" y="200"/>
<p2 x="760" y="200"/>
</wire>
<wire>
<p1 x="800" y="200"/>
<p2 x="900" y="200"/>
</wire>
<wire>
<p1 x="-60" y="460"/>
<p2 x="40" y="460"/>
</wire>
<wire>
<p1 x="220" y="940"/>
<p2 x="260" y="940"/>
</wire>
<wire>
<p1 x="120" y="860"/>
<p2 x="220" y="860"/>
</wire>
<wire>
<p1 x="280" y="860"/>
<p2 x="380" y="860"/>
</wire>
<wire>
<p1 x="500" y="360"/>
<p2 x="500" y="440"/>
</wire>
<wire>
<p1 x="500" y="560"/>
<p2 x="500" y="640"/>
</wire>
<wire>
<p1 x="500" y="440"/>
<p2 x="500" y="560"/>
</wire>
<wire>
<p1 x="740" y="560"/>
<p2 x="740" y="600"/>
</wire>
<wire>
<p1 x="740" y="600"/>
<p2 x="740" y="640"/>
</wire>
<wire>
<p1 x="660" y="100"/>
<p2 x="660" y="160"/>
</wire>
<wire>
<p1 x="1080" y="380"/>
<p2 x="1080" y="440"/>
</wire>
<wire>
<p1 x="1080" y="440"/>
<p2 x="1080" y="600"/>
</wire>
<wire>
<p1 x="280" y="840"/>
<p2 x="280" y="860"/>
</wire>
<wire>
<p1 x="280" y="740"/>
<p2 x="280" y="800"/>
</wire>
<wire>
<p1 x="280" y="940"/>
<p2 x="280" y="1000"/>
</wire>
<wire>
<p1 x="280" y="860"/>
<p2 x="280" y="900"/>
</wire>
<wire>
<p1 x="460" y="160"/>
<p2 x="460" y="200"/>
</wire>
<wire>
<p1 x="220" y="800"/>
<p2 x="220" y="860"/>
</wire>
<wire>
<p1 x="220" y="860"/>
<p2 x="220" y="940"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

391
Assembly/PC_2.dig Executable file
View File

@ -0,0 +1,391 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>PFET</elementName>
<elementAttributes/>
<pos x="660" y="280"/>
</visualElement>
<visualElement>
<elementName>NFET</elementName>
<elementAttributes/>
<pos x="660" y="380"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="520" y="340"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="680" y="480"/>
</visualElement>
<visualElement>
<elementName>VDD</elementName>
<elementAttributes/>
<pos x="680" y="220"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out</string>
</entry>
</elementAttributes>
<pos x="780" y="340"/>
</visualElement>
<visualElement>
<elementName>Not</elementName>
<elementAttributes/>
<pos x="620" y="620"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A1</string>
</entry>
</elementAttributes>
<pos x="520" y="620"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out1</string>
</entry>
</elementAttributes>
<pos x="760" y="620"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out2</string>
</entry>
</elementAttributes>
<pos x="-200" y="260"/>
</visualElement>
<visualElement>
<elementName>FGNFET</elementName>
<elementAttributes/>
<pos x="-340" y="300"/>
</visualElement>
<visualElement>
<elementName>PFET</elementName>
<elementAttributes/>
<pos x="-340" y="180"/>
</visualElement>
<visualElement>
<elementName>FGPFET</elementName>
<elementAttributes/>
<pos x="-440" y="180"/>
</visualElement>
<visualElement>
<elementName>FGNFET</elementName>
<elementAttributes/>
<pos x="-340" y="400"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A2</string>
</entry>
</elementAttributes>
<pos x="-580" y="300"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B2</string>
</entry>
</elementAttributes>
<pos x="-580" y="440"/>
</visualElement>
<visualElement>
<elementName>VDD</elementName>
<elementAttributes/>
<pos x="-320" y="60"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="-320" y="520"/>
</visualElement>
<visualElement>
<elementName>NAnd</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="-440" y="660"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out3</string>
</entry>
</elementAttributes>
<pos x="-240" y="680"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A3</string>
</entry>
</elementAttributes>
<pos x="-560" y="620"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B3</string>
</entry>
</elementAttributes>
<pos x="-560" y="760"/>
</visualElement>
<visualElement>
<elementName>NOr</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="-440" y="900"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A4</string>
</entry>
</elementAttributes>
<pos x="-560" y="860"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B4</string>
</entry>
</elementAttributes>
<pos x="-560" y="1000"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out4</string>
</entry>
</elementAttributes>
<pos x="-220" y="920"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="620" y="420"/>
<p2 x="660" y="420"/>
</wire>
<wire>
<p1 x="-420" y="260"/>
<p2 x="-320" y="260"/>
</wire>
<wire>
<p1 x="-320" y="260"/>
<p2 x="-200" y="260"/>
</wire>
<wire>
<p1 x="-340" y="680"/>
<p2 x="-240" y="680"/>
</wire>
<wire>
<p1 x="-560" y="1000"/>
<p2 x="-440" y="1000"/>
</wire>
<wire>
<p1 x="520" y="620"/>
<p2 x="620" y="620"/>
</wire>
<wire>
<p1 x="660" y="620"/>
<p2 x="760" y="620"/>
</wire>
<wire>
<p1 x="-560" y="620"/>
<p2 x="-480" y="620"/>
</wire>
<wire>
<p1 x="-580" y="300"/>
<p2 x="-520" y="300"/>
</wire>
<wire>
<p1 x="520" y="340"/>
<p2 x="620" y="340"/>
</wire>
<wire>
<p1 x="680" y="340"/>
<p2 x="780" y="340"/>
</wire>
<wire>
<p1 x="-520" y="340"/>
<p2 x="-340" y="340"/>
</wire>
<wire>
<p1 x="-520" y="180"/>
<p2 x="-440" y="180"/>
</wire>
<wire>
<p1 x="-380" y="180"/>
<p2 x="-340" y="180"/>
</wire>
<wire>
<p1 x="-480" y="660"/>
<p2 x="-440" y="660"/>
</wire>
<wire>
<p1 x="620" y="280"/>
<p2 x="660" y="280"/>
</wire>
<wire>
<p1 x="-580" y="440"/>
<p2 x="-380" y="440"/>
</wire>
<wire>
<p1 x="-380" y="440"/>
<p2 x="-340" y="440"/>
</wire>
<wire>
<p1 x="-420" y="120"/>
<p2 x="-320" y="120"/>
</wire>
<wire>
<p1 x="-560" y="760"/>
<p2 x="-480" y="760"/>
</wire>
<wire>
<p1 x="-340" y="920"/>
<p2 x="-220" y="920"/>
</wire>
<wire>
<p1 x="-480" y="700"/>
<p2 x="-440" y="700"/>
</wire>
<wire>
<p1 x="-560" y="860"/>
<p2 x="-440" y="860"/>
</wire>
<wire>
<p1 x="-420" y="220"/>
<p2 x="-420" y="260"/>
</wire>
<wire>
<p1 x="-420" y="120"/>
<p2 x="-420" y="180"/>
</wire>
<wire>
<p1 x="-520" y="180"/>
<p2 x="-520" y="300"/>
</wire>
<wire>
<p1 x="-520" y="300"/>
<p2 x="-520" y="340"/>
</wire>
<wire>
<p1 x="-440" y="940"/>
<p2 x="-440" y="1000"/>
</wire>
<wire>
<p1 x="-440" y="860"/>
<p2 x="-440" y="900"/>
</wire>
<wire>
<p1 x="680" y="320"/>
<p2 x="680" y="340"/>
</wire>
<wire>
<p1 x="680" y="220"/>
<p2 x="680" y="280"/>
</wire>
<wire>
<p1 x="680" y="420"/>
<p2 x="680" y="480"/>
</wire>
<wire>
<p1 x="680" y="340"/>
<p2 x="680" y="380"/>
</wire>
<wire>
<p1 x="-380" y="180"/>
<p2 x="-380" y="440"/>
</wire>
<wire>
<p1 x="620" y="280"/>
<p2 x="620" y="340"/>
</wire>
<wire>
<p1 x="620" y="340"/>
<p2 x="620" y="420"/>
</wire>
<wire>
<p1 x="-320" y="220"/>
<p2 x="-320" y="260"/>
</wire>
<wire>
<p1 x="-320" y="60"/>
<p2 x="-320" y="120"/>
</wire>
<wire>
<p1 x="-320" y="440"/>
<p2 x="-320" y="520"/>
</wire>
<wire>
<p1 x="-320" y="340"/>
<p2 x="-320" y="400"/>
</wire>
<wire>
<p1 x="-320" y="120"/>
<p2 x="-320" y="180"/>
</wire>
<wire>
<p1 x="-320" y="260"/>
<p2 x="-320" y="300"/>
</wire>
<wire>
<p1 x="-480" y="620"/>
<p2 x="-480" y="660"/>
</wire>
<wire>
<p1 x="-480" y="700"/>
<p2 x="-480" y="760"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

212
Assembly/PC_3.dig Executable file
View File

@ -0,0 +1,212 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="380" y="180"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="380" y="300"/>
</visualElement>
<visualElement>
<elementName>Or</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="700" y="240"/>
</visualElement>
<visualElement>
<elementName>Or</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="380" y="540"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="660" y="480"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out1</string>
</entry>
</elementAttributes>
<pos x="840" y="500"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Out2</string>
</entry>
</elementAttributes>
<pos x="880" y="260"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A1</string>
</entry>
</elementAttributes>
<pos x="300" y="480"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B1</string>
</entry>
</elementAttributes>
<pos x="300" y="540"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>C1</string>
</entry>
</elementAttributes>
<pos x="300" y="580"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A2</string>
</entry>
</elementAttributes>
<pos x="260" y="180"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B2</string>
</entry>
</elementAttributes>
<pos x="260" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>C2</string>
</entry>
</elementAttributes>
<pos x="260" y="340"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="300" y="480"/>
<p2 x="660" y="480"/>
</wire>
<wire>
<p1 x="460" y="240"/>
<p2 x="700" y="240"/>
</wire>
<wire>
<p1 x="260" y="240"/>
<p2 x="380" y="240"/>
</wire>
<wire>
<p1 x="300" y="580"/>
<p2 x="380" y="580"/>
</wire>
<wire>
<p1 x="740" y="500"/>
<p2 x="840" y="500"/>
</wire>
<wire>
<p1 x="780" y="260"/>
<p2 x="880" y="260"/>
</wire>
<wire>
<p1 x="260" y="340"/>
<p2 x="380" y="340"/>
</wire>
<wire>
<p1 x="260" y="180"/>
<p2 x="320" y="180"/>
</wire>
<wire>
<p1 x="320" y="180"/>
<p2 x="380" y="180"/>
</wire>
<wire>
<p1 x="460" y="520"/>
<p2 x="660" y="520"/>
</wire>
<wire>
<p1 x="460" y="280"/>
<p2 x="700" y="280"/>
</wire>
<wire>
<p1 x="300" y="540"/>
<p2 x="380" y="540"/>
</wire>
<wire>
<p1 x="320" y="300"/>
<p2 x="380" y="300"/>
</wire>
<wire>
<p1 x="320" y="180"/>
<p2 x="320" y="300"/>
</wire>
<wire>
<p1 x="460" y="520"/>
<p2 x="460" y="560"/>
</wire>
<wire>
<p1 x="460" y="280"/>
<p2 x="460" y="320"/>
</wire>
<wire>
<p1 x="460" y="200"/>
<p2 x="460" y="240"/>
</wire>
<wire>
<p1 x="380" y="220"/>
<p2 x="380" y="240"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

394
Assembly/Rechenwerk.dig Executable file
View File

@ -0,0 +1,394 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>B0</string>
</entry>
</elementAttributes>
<pos x="1000" y="180"/>
</visualElement>
<visualElement>
<elementName>Volladierer.dig</elementName>
<elementAttributes/>
<pos x="1040" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>A0</string>
</entry>
</elementAttributes>
<pos x="960" y="180"/>
</visualElement>
<visualElement>
<elementName>LED</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>S0</string>
</entry>
</elementAttributes>
<pos x="1120" y="380"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>B1</string>
</entry>
</elementAttributes>
<pos x="800" y="180"/>
</visualElement>
<visualElement>
<elementName>Volladierer.dig</elementName>
<elementAttributes/>
<pos x="840" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>A1</string>
</entry>
</elementAttributes>
<pos x="760" y="180"/>
</visualElement>
<visualElement>
<elementName>LED</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>S1</string>
</entry>
</elementAttributes>
<pos x="920" y="380"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>B2</string>
</entry>
</elementAttributes>
<pos x="600" y="180"/>
</visualElement>
<visualElement>
<elementName>Volladierer.dig</elementName>
<elementAttributes/>
<pos x="640" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>A2</string>
</entry>
</elementAttributes>
<pos x="560" y="180"/>
</visualElement>
<visualElement>
<elementName>LED</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>S2</string>
</entry>
</elementAttributes>
<pos x="720" y="380"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>B3</string>
</entry>
</elementAttributes>
<pos x="400" y="180"/>
</visualElement>
<visualElement>
<elementName>Volladierer.dig</elementName>
<elementAttributes/>
<pos x="440" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>A3</string>
</entry>
</elementAttributes>
<pos x="360" y="180"/>
</visualElement>
<visualElement>
<elementName>LED</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>S3</string>
</entry>
</elementAttributes>
<pos x="520" y="380"/>
</visualElement>
<visualElement>
<elementName>LED</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>Label</string>
<string>S4</string>
</entry>
</elementAttributes>
<pos x="320" y="380"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>I1</string>
</entry>
</elementAttributes>
<pos x="1000" y="280"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="1000" y="240"/>
<p2 x="1040" y="240"/>
</wire>
<wire>
<p1 x="1100" y="240"/>
<p2 x="1120" y="240"/>
</wire>
<wire>
<p1 x="800" y="240"/>
<p2 x="840" y="240"/>
</wire>
<wire>
<p1 x="900" y="240"/>
<p2 x="920" y="240"/>
</wire>
<wire>
<p1 x="600" y="240"/>
<p2 x="640" y="240"/>
</wire>
<wire>
<p1 x="700" y="240"/>
<p2 x="720" y="240"/>
</wire>
<wire>
<p1 x="400" y="240"/>
<p2 x="440" y="240"/>
</wire>
<wire>
<p1 x="500" y="240"/>
<p2 x="520" y="240"/>
</wire>
<wire>
<p1 x="440" y="320"/>
<p2 x="740" y="320"/>
</wire>
<wire>
<p1 x="820" y="320"/>
<p2 x="1140" y="320"/>
</wire>
<wire>
<p1 x="960" y="260"/>
<p2 x="1040" y="260"/>
</wire>
<wire>
<p1 x="760" y="260"/>
<p2 x="840" y="260"/>
</wire>
<wire>
<p1 x="560" y="260"/>
<p2 x="640" y="260"/>
</wire>
<wire>
<p1 x="360" y="260"/>
<p2 x="440" y="260"/>
</wire>
<wire>
<p1 x="500" y="260"/>
<p2 x="540" y="260"/>
</wire>
<wire>
<p1 x="900" y="260"/>
<p2 x="940" y="260"/>
</wire>
<wire>
<p1 x="700" y="260"/>
<p2 x="740" y="260"/>
</wire>
<wire>
<p1 x="1100" y="260"/>
<p2 x="1140" y="260"/>
</wire>
<wire>
<p1 x="320" y="340"/>
<p2 x="540" y="340"/>
</wire>
<wire>
<p1 x="620" y="340"/>
<p2 x="940" y="340"/>
</wire>
<wire>
<p1 x="620" y="280"/>
<p2 x="640" y="280"/>
</wire>
<wire>
<p1 x="820" y="280"/>
<p2 x="840" y="280"/>
</wire>
<wire>
<p1 x="1000" y="280"/>
<p2 x="1040" y="280"/>
</wire>
<wire>
<p1 x="960" y="180"/>
<p2 x="960" y="260"/>
</wire>
<wire>
<p1 x="1120" y="240"/>
<p2 x="1120" y="380"/>
</wire>
<wire>
<p1 x="800" y="180"/>
<p2 x="800" y="240"/>
</wire>
<wire>
<p1 x="320" y="340"/>
<p2 x="320" y="380"/>
</wire>
<wire>
<p1 x="740" y="260"/>
<p2 x="740" y="320"/>
</wire>
<wire>
<p1 x="1000" y="180"/>
<p2 x="1000" y="240"/>
</wire>
<wire>
<p1 x="360" y="180"/>
<p2 x="360" y="260"/>
</wire>
<wire>
<p1 x="520" y="240"/>
<p2 x="520" y="380"/>
</wire>
<wire>
<p1 x="620" y="280"/>
<p2 x="620" y="340"/>
</wire>
<wire>
<p1 x="940" y="260"/>
<p2 x="940" y="340"/>
</wire>
<wire>
<p1 x="560" y="180"/>
<p2 x="560" y="260"/>
</wire>
<wire>
<p1 x="720" y="240"/>
<p2 x="720" y="380"/>
</wire>
<wire>
<p1 x="400" y="180"/>
<p2 x="400" y="240"/>
</wire>
<wire>
<p1 x="820" y="280"/>
<p2 x="820" y="320"/>
</wire>
<wire>
<p1 x="1140" y="260"/>
<p2 x="1140" y="320"/>
</wire>
<wire>
<p1 x="760" y="180"/>
<p2 x="760" y="260"/>
</wire>
<wire>
<p1 x="920" y="240"/>
<p2 x="920" y="380"/>
</wire>
<wire>
<p1 x="600" y="180"/>
<p2 x="600" y="240"/>
</wire>
<wire>
<p1 x="440" y="280"/>
<p2 x="440" y="320"/>
</wire>
<wire>
<p1 x="540" y="260"/>
<p2 x="540" y="340"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

210
Assembly/Volladierer.dig Executable file
View File

@ -0,0 +1,210 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>XOr</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="580" y="240"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="480" y="360"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="820" y="360"/>
</visualElement>
<visualElement>
<elementName>Or</elementName>
<elementAttributes>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="600" y="520"/>
</visualElement>
<visualElement>
<elementName>XOr</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="900" y="220"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="340" y="240"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B</string>
</entry>
</elementAttributes>
<pos x="340" y="280"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Cin</string>
</entry>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
</elementAttributes>
<pos x="820" y="140"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>S</string>
</entry>
</elementAttributes>
<pos x="1040" y="240"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Cout</string>
</entry>
<entry>
<string>rotation</string>
<rotation rotation="3"/>
</entry>
</elementAttributes>
<pos x="580" y="680"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="340" y="240"/>
<p2 x="440" y="240"/>
</wire>
<wire>
<p1 x="980" y="240"/>
<p2 x="1040" y="240"/>
</wire>
<wire>
<p1 x="440" y="240"/>
<p2 x="580" y="240"/>
</wire>
<wire>
<p1 x="460" y="500"/>
<p2 x="560" y="500"/>
</wire>
<wire>
<p1 x="600" y="500"/>
<p2 x="800" y="500"/>
</wire>
<wire>
<p1 x="660" y="260"/>
<p2 x="780" y="260"/>
</wire>
<wire>
<p1 x="780" y="260"/>
<p2 x="900" y="260"/>
</wire>
<wire>
<p1 x="340" y="280"/>
<p2 x="480" y="280"/>
</wire>
<wire>
<p1 x="480" y="280"/>
<p2 x="580" y="280"/>
</wire>
<wire>
<p1 x="820" y="220"/>
<p2 x="900" y="220"/>
</wire>
<wire>
<p1 x="480" y="280"/>
<p2 x="480" y="360"/>
</wire>
<wire>
<p1 x="560" y="500"/>
<p2 x="560" y="520"/>
</wire>
<wire>
<p1 x="800" y="440"/>
<p2 x="800" y="500"/>
</wire>
<wire>
<p1 x="820" y="140"/>
<p2 x="820" y="220"/>
</wire>
<wire>
<p1 x="820" y="220"/>
<p2 x="820" y="360"/>
</wire>
<wire>
<p1 x="580" y="600"/>
<p2 x="580" y="680"/>
</wire>
<wire>
<p1 x="440" y="240"/>
<p2 x="440" y="360"/>
</wire>
<wire>
<p1 x="600" y="500"/>
<p2 x="600" y="520"/>
</wire>
<wire>
<p1 x="460" y="440"/>
<p2 x="460" y="500"/>
</wire>
<wire>
<p1 x="780" y="260"/>
<p2 x="780" y="360"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

10
C/Addierer.c Executable file
View File

@ -0,0 +1,10 @@
int main() {
int summe = 0;
for(int i=0; i<5; i++) {
printf("Gib die Zahl ein:")
int zahl;
scanf("%d", &zahl);
summe = summe + zahl;
}
printf("Summe: %d\n", summe);
}

Binary file not shown.

BIN
Concepts/Zuweisungsnummer.docx Executable file

Binary file not shown.

View File

@ -0,0 +1,19 @@
from turtle import*
shape("turtle")
color("blue")
distance = 10
pu()
for i in range(2):
fd(distance)
rt(20)
orientation = heading()
stamp()
while orientation > 0:
orientation = heading()
fd(distance)
rt(20)
stamp()
distance += 2
print(orientation)

6
ExamStuff/Prüfung Testfile.py Executable file
View File

@ -0,0 +1,6 @@
seconds = 70512
minutes = seconds // 60
seconds_rest = minutes % 60
hours = minutes // 60
minutes_rest = minutes % 60
print(hours, minutes_rest, seconds_rest)

View File

@ -0,0 +1,28 @@
from turtle import*
import math
rt(45)
go = 1
color("red")
distance_in = int(numinput("Wie weit darf sich die Turtle vom Mittelpunkt entfernen??", " Gerade Zahl von 1-unendlich ",300,minval=1))
for i in range(4):
go = 1
while go == 1:
fd(50)
dot(25)
x = xcor()
y = ycor()
distance = math.sqrt((x**2) + (y**2))
if distance >= distance_in:
go = 0
else:
if distance <= -distance_in:
go = 0
else:
go = 1
bk(distance_in)
rt(90)

66
IO/Calculator.py Executable file
View File

@ -0,0 +1,66 @@
#Library import
import math
#Startup
out = 0
print("""
,--------. ,--. ,--.
'--. .--',--,--. ,---. ,---.| ,---. ,---. ,--,--, ,--.--. ,---. ,---.| ,---. ,--,--, ,---. ,--.--.
| | ' ,-. |( .-' | .--'| .-. || .-. :| \| .--'| .-. :| .--'| .-. || \| .-. :| .--'
| | \ '-' |.-' `)\ `--.| | | |\ --.| || || | \ --.\ `--.| | | || || |\ --.| |
`--' `--`--'`----' `---'`--' `--' `----'`--''--'`--' `----' `---'`--' `--'`--''--' `----'`--'
=================
Alpha 1.0
Build 1
28.05.21
""")
#Userinput
i = input("Rechung eingeben: ")
#Separation
l = i.split()
x1 = l.pop(0)
x = int(x1)
#Calculation
if len(l) == 1:
print("Wrong entry, retry, use spaces in between numbers and operands.")
else:
while len(l) > 1:
y1 = l.pop(1)
y = int(y1)
if "*" in l:
out = x * y
elif "+" in l:
out = x + y
elif "-" in l:
out = x - y
elif "/" or ":" in l:
out = x / y
elif "^" or "**" in l:
out = x ** y
elif "<>" in l:
math.sqrt(x)
else:
print("unkown operand, retry")
if len(l) != 0:
operand = l.pop(0)
x = out
else:
print("The result is:")
#Output
print(out)

40
IO/Coinflip.py Executable file
View File

@ -0,0 +1,40 @@
import random
st1 = 0
st2 = 0
st3 = 3
st2a = 0
anzahl = 0
go = 1
while go == 1:
zahl = random.randint(1,2)
if st1 == st2:
if st2a == st3:
go = 0
else:
anzahl += 1
st3 = st2
st2 = st1
st2a = st1
st1 = zahl
if zahl == 1:
print("K")
else:
print("N")
else:
anzahl += 1
st3 = st2
st2 = st1
st2a = st1
st1 = zahl
if zahl == 1:
print("K")
else:
print("N")
print("Took", anzahl, "tries")

21
IO/Eingabe Umwandlung easy.py Executable file
View File

@ -0,0 +1,21 @@
eingabe = int(input("Zahl im Dezimalsystem: "))
system = int(input("Zahlensystem: "))
if system == 2:
y = bin(eingabe)
print("Resultat:", y)
elif system == 16:
y = hex(eingabe)
print("Resultat:", y)
elif system == 8:
y = oct(eingabe)
print("Resultat:", y)
else:
print("wrong")

111
IO/Frankengewinnspiel.py Executable file
View File

@ -0,0 +1,111 @@
#FRANKENGEWINNSPIEL
#-------------------------------------------------
#Import of Modules and setup variables
#import turtle
#Definition of Turtle instances
#Preparations, so setup of the game output window and choice of diffrent gamemodes
programchoice = 200
while (programchoice < 1) or (programchoice > 99):
programchoice = programchoice = int(input("Welcher Modus? 1 = Normales Spiel, 2 = Liste aller Gewinne mit angabe des Höchsten, 3 = angabe des höchsten Gewinnes, 4 = andgabe des höchsten erreichbaren Feldes: "))
if (programchoice < 1) or (programchoice > 99):
print("Number not within designated range. Try again")
print("Willkommen")
#MAINGAME
#-----------------------
def playgame(field):
global winning
winning = 0
while field > 1:
if (field % 2) == 1:
next = field * 3 + 1
winning += next
field = next
else:
next = field / 2
winning += next
field = next
#GAMEMODE 1
#-------------------------
def gamemode1():
s = 200
while (s < 1) or (s > 99):
s = int(input("Zahl: "))
if (s < 1) or (s > 99):
print("Number not within designated range. Try again")
print("Ok")
fieldint = s
playgame(fieldint)
global winning
print("Your winnings:", winning)
#GAMEMODE 2
#--------------------------
def gamemode2():
fieldascending = 1
for i in range(99):
playgame(fieldascending)
print("You win",winning,"with startpoint",fieldascending)
fieldascending += 1
#GAMEMODE 3
#--------------------------
def gamemode3():
fieldascending = 1
global winning
currentwinning = 0
currentfield = 0
for i in range(99):
playgame(fieldascending)
if winning > currentwinning:
currentwinning = winning
currentfield = fieldascending
fieldascending += 1
print("Biggest possible winning is", currentwinning,"on field", currentfield)
#GAMEMODE 4
#-----------------------------
def gamemode4():
fieldascending = 1
global winning
currentwinning = 0
currentfield = 0
biggestfield = 0
for i in range(99):
field = fieldascending
while field > 1:
if (field % 2) == 1:
next = field * 3 + 1
field = next
if next > biggestfield:
biggestfield = next
currentfield = fieldascending
else:
next = field / 2
field = next
fieldascending += 1
print("Biggest possible field is", biggestfield,"on startfield", currentfield)
#RUN
#-------------------------
if programchoice == 1:
gamemode1()
elif programchoice == 2:
gamemode2()
elif programchoice == 3:
gamemode3()
else:
gamemode4()

39
IO/Idioms.py Executable file
View File

@ -0,0 +1,39 @@
#Idioms
import random
#Check user input
s = 200
while (s < 1) or (s > 99):
s = int(input("Zahl: "))
if (s < 1) or (s > 99):
print("Number not within designated range. Try again")
print("Ok")
#Find biggest number
output = 0
for i in range(100):
n = random.randint(1, 1000)
if n > output:
output = n
print(output)
#Summ up
summ = 0
for i in range(100):
n = random.randint(1, 1000)
summ += n
print(summ)
#even or uneven?
z = random.randint(1, 1000)
if (z % 2) == 1:
print("odd")
else:
print("even")

13
IO/Input + outupt.py Executable file
View File

@ -0,0 +1,13 @@
import math
#Eingabe
s = int(input("Seitenlänge: "))
#Verarbeitung
for i in range(s):
print(s * "* ")

15
IO/Umwandlung Zahlensysteme.py Executable file
View File

@ -0,0 +1,15 @@
eingabe = int(input("Zahl im Dezimalsystem: "))
system = int(input("Zahlensystem: "))
y = eingabe
out = 0
stelle = 1
while y > 0:
y = y // system
outadd = y % system
out += (outadd * stelle)
stelle *= 10
print(out)

3
IO/Zeit des Lichts zur Erde.py Executable file
View File

@ -0,0 +1,3 @@
c = (1.4962375e8 / 2.99792458e5)/60
print(c)

10
IO/Zufall Not quite.py Executable file
View File

@ -0,0 +1,10 @@
import time
a = 5
c = 1
m = 32
x = int(time.time()) % m
for i in range(10):
x = (a*x + c) % m
print(x)

125
RandomOtherStuff/Clock.py Executable file
View File

@ -0,0 +1,125 @@
#Import der Module
import turtle
import time
import datetime
#Setup der einzelnen Turtle instanzen.
turtle.tracer(0)
sekundenzeiger = turtle.Turtle()
minutenzeiger = turtle.Turtle()
stundenzeiger = turtle.Turtle()
uhr = turtle.Turtle()
sekundenzeiger.color("red")
minutenzeiger.color("blue")
stundenzeiger.width(2)
#Definition des Ziffernblattes
def clock_bg():
uhr.pd()
uhr.dot(10)
uhr.pu()
uhr.lt(90)
uhr.fd(230)
uhr.rt(90)
uhr.pd()
for i in range(12):
uhr.rt(90)
uhr.fd(20)
uhr.bk(20)
uhr.lt(90)
for i in range(60):
uhr.fd(2)
uhr.rt(0.5)
uhr.pu()
#Funktion des Sekundenzeigers
def sekzeiger():
sekundenzeiger.pu()
sekundenzeiger.home()
sekundenzeiger.pd()
sekunden = datetime.datetime.now().second
sekundenzeiger.setheading((sekunden * 6) * (-1))
sekundenzeiger.lt(90)
sekundenzeiger.bk(40)
sekundenzeiger.fd(220)
#Funktion des Minutenzeigers
def minzeiger():
minutenzeiger.pu()
minutenzeiger.home()
minutenzeiger.pd()
minuten = datetime.datetime.now().minute
minutenzeiger.lt((minuten * 6) *(-1))
minutenzeiger.lt(90)
minutenzeiger.bk(30)
minutenzeiger.fd(215)
#Funktion des Stundenzeigers
def stzeiger():
stundenzeiger.pu()
stundenzeiger.home()
stundenzeiger.pd()
mins = datetime.datetime.now().minute
stunden = datetime.datetime.now().hour
if stunden >= 12:
stunden -= 12
stundenzeiger.lt((stunden * 30) * (-1))
stundenzeiger.rt(mins * 0.5)
stundenzeiger.lt(90)
stundenzeiger.bk(15)
stundenzeiger.fd(135)
else:
stundenzeiger.lt((stunden * 30) * (-1))
stundenzeiger.rt(mins * 0.5)
stundenzeiger.lt(90)
stundenzeiger.bk(15)
stundenzeiger.fd(135)
#Ganze Uhr
def clock():
sekundenzeiger.clear()
minutenzeiger.clear()
stundenzeiger.clear()
sekundenzeiger.ht()
minutenzeiger.ht()
stundenzeiger.ht()
uhr.ht()
uhr.home()
clock_bg()
sekzeiger()
minzeiger()
stzeiger()
turtle.update()
#Stoppen der Uhr
def stop():
global run
run = 0
#Hauptschleife
def settings():
print("Welcome!")
global run
time.sleep(2)
run = 0
turtle.onkeypress(stop, "Escape")
turtle.listen()
run = 1
while run == 1:
clock()
turtle.title("Clock")
else:
print("stopped, click to exit")
turtle.exitonclick()
print("process ended")
#Startzeit einblenden
print(time.strftime("%H:%M:%S"))
#Ausführen des Programms
settings()

6
RandomOtherStuff/Slicer.py Executable file
View File

@ -0,0 +1,6 @@
data = "myprogram.exe"
datanew = data[:4]
amount = len(datanew)
amount //= 2
print(datanew[amount])

21
RandomOtherStuff/Test.py Executable file
View File

@ -0,0 +1,21 @@
from turtle import*
addshape("testimage.gif")
screensize(1080,1920)
shape("testimage.gif")
color("red")
speed(1000)
def walk():
w=10
length=100
for i in range(4):
w += 10
width(w)
for i in range(4):
length += 40
fd(length)
rt(90)
walk()
exitonclick()

4
RandomOtherStuff/Test_exe.py Executable file
View File

@ -0,0 +1,4 @@
from turtle import*
import subprocess
subprocess.run(Kreis_zufall_pre.py)

View File

@ -0,0 +1,15 @@
x = input("Wert x: ")
y = input("Wert y: ")
z = input("Wert z: ")
whole = x + " " + y + " " + z
remaining = len(whole)
start = 0
ending = 6
while remaining > 1:
print(whole[start:ending], end=" ")
start += 6
ending += 6
remaining -= 6

View File

@ -0,0 +1,53 @@
from turtle import*
t1 = Turtle()
t2 = Turtle()
go = 3
t1.lt(90)
t1.speed(1000)
t1.ht()
def gogo():
go = 2
while go>1:
if t1.xcor() < (window_width()/2 -50):
for i in range(50):
t1.fd(2)
t1.rt(180/50)
if t1.xcor() < (window_width()/2 -50):
for i in range(50):
t1.fd(2)
t1.lt(180/50)
else:
print("done")
print(xcor())
go = 1
while go>0 and go<2:
if t1.xcor() > (window_width()/2 - window_width()/2 + 50):
for i in range(50):
t1.bk(2)
t1.lt(180/50)
if t1.xcor() > (window_width()/2 - window_width()/2 + 50):
for i in range(50):
t1.bk(2)
t1.rt(180/50)
else:
print("home")
go = 0
onkey(gogo, "space")
print("ready")
t2.ht()
onkey(gogo, "space")
listen()
print("ready")

View File

@ -0,0 +1,193 @@
import os
global mistakes
mistakes = 0
global wortelements
wortelements = []
global done
done = []
def clear_screen():
os.system('cls')
def worteingabe():
global wort
wort = input("Suchen sie ein Wort, welches erraten werden soll, ein: ")
clear_screen()
print("Vielen Dank. Das Wort wurde gespeichert.")
print("Geben Sie das Gerät weiter.")
ausgabe(wort)
def ausgabe(wort):
global wortelements
print("""
Das Wort:
""")
print(len(wort)*"*")
global wholewordlist
wholewordlist = list(wort)
wortelements = list(len(wort)*"*")
def ersetzen(letter):
global wort
global wortelements
global wholewordlist
global done
while letter in wholewordlist:
pos = wholewordlist.index(letter)
wholewordlist.pop(pos)
wholewordlist.insert(pos, "*")
wortelements.pop(pos)
wortelements.insert(pos, letter)
def raten():
global wort
global wortelements
global wholewordlist
global go
go = 1
while go == 1:
buchstabe = input("Suchen sie einen Buchstaben aus, welcher sich im Wort befinden könnte: ")
if buchstabe in wholewordlist:
print("Der Buchstabe kommt hier vor:")
ersetzen(buchstabe)
print(*wortelements)
done.append(buchstabe)
elif buchstabe in done:
print("Dieser Buchstabe wurde bereits eingetippt.")
addman()
elif buchstabe == wort:
wholewordlist = list(len(wort)*"*")
else:
print("Dieser Buchstabe ist nicht Teil des Wortes")
done.append(buchstabe)
addman()
print(*done)
counts = wholewordlist.count("*")
if len(wort) - counts <= 0:
go = 0
else:
print("""
DAS WORT WURDE GEFUNDEN
Das Wort:
""")
print(wort)
def addman():
global mistakes
mistakes += 1
if mistakes == 1:
print("""
__________
""")
elif mistakes == 2:
print("""
|
_____|_____
""")
elif mistakes == 3:
print("""
|
|
|
_____|_____
""")
elif mistakes == 4:
print("""
|
|
|
|
|\
_____|_\___
""")
elif mistakes == 5:
print("""
_____
|
|
|
|
|\
_____|_\___
""")
elif mistakes == 6:
print("""
_____
| |
| °
|
|
|\
_____|_\___
""")
elif mistakes == 6:
print("""
_____
| |
| °
| \
|
|\
_____|_\___
""")
elif mistakes == 7:
print("""
_____
| |
| °
| \/
|
|\
_____|_\___
""")
elif mistakes == 8:
print("""
_____
| |
| °
| \/
| /
|\
_____|_\___
""")
elif mistakes == 9:
print("""
_____
| |
| °
| \/
| /\
|\
_____|_\___
DEAD
""")
global go
go = 0
worteingabe()
raten()

7
RandomOtherStuff/main.py Executable file
View File

@ -0,0 +1,7 @@
from turtle import *
for i in range(4):
fd(100)
right(90)
exitonclick()

BIN
RandomOtherStuff/testimage.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

5
RandomOtherStuff/timetest.py Executable file
View File

@ -0,0 +1,5 @@
import time
print ("time.time(): %f " % time.time())
print (time.localtime( time.time()))
print (time.asctime( time.localtime(time.time())))

72
RandomTurtle/Binäruhr.py Executable file
View File

@ -0,0 +1,72 @@
import turtle
import datetime
import time
#Setup
turtle.ht()
turtle.tracer(0)
turtle.speed(0)
#Definition der Kreise
def circles(fill):
turtle.pu()
turtle.bk(20)
turtle.pd()
if fill == 0:
turtle.circle(10)
else:
turtle.begin_fill()
turtle.circle(10)
turtle.end_fill()
turtle.pu()
turtle.home()
turtle.pu()
turtle.bk(25)
#Postitionieren der Turtle
def distance(pixels):
turtle.home()
turtle.pu()
turtle.lt(90)
turtle.bk(pixels)
turtle.rt(90)
#Berechnen der einzelnen Stellen
def main():
turtle.clear()
turtle.home()
h = datetime.datetime.now().hour
min = datetime.datetime.now().minute
sec = datetime.datetime.now().second
hr_pos2 = h//2
mn_pos2 = min//2
sk_pos2 = sec//2
for i in range(6):
hr_pos2 = hr_pos2 // 2
hr_pos = hr_pos2 % 2
circles(hr_pos)
distance(50)
for i in range(7):
mn_pos2 = mn_pos2 // 2
mn_pos = mn_pos2 % 2
circles(mn_pos)
distance(100)
for i in range(7):
sk_pos2 = sk_pos2 // 2
sk_pos = sk_pos2 % 2
circles(sk_pos)
turtle.update()
#Ausführen
while True:
main()
time.sleep(0.1)

48
RandomTurtle/Digitale Uhr.py Executable file
View File

@ -0,0 +1,48 @@
from turtle import*
import datetime
import time
style = ("Minecraftia", 75, "normal")
tracer(0)
#Ausführen der Uhr.
while True:
time.sleep(1)
clear()
ht()
pu()
sec = datetime.datetime.now().second
min = datetime.datetime.now().minute
h = datetime.datetime.now().hour
bk(350)
#Abstände definieren
if h >= 10:
write(h, font=style)
fd(200)
else:
write("0", font=style)
fd(100)
write(h, font=style)
fd(100)
write(":", font=style, align = "left")
fd(50)
if min >= 10:
write(min, font=style)
fd(200)
else:
write("0", font=style)
fd(100)
write(min, font=style)
fd(100)
write(":", font=style, align = "left")
fd(50)
if sec >= 10:
write(sec, font=style)
fd(200)
else:
write("0", font=style)
fd(100)
write(sec, font=style)
fd(100)
home()
update()

25
RandomTurtle/Dots.py Executable file
View File

@ -0,0 +1,25 @@
from turtle import*
import time
def scene(d):
dot(500/d)
ht()
color("red")
bgcolor("black")
pu()
tracer(0)
lt(90)
bk(120)
a = 200
for i in range(200):
clear()
scene(a)
update()
a -= 1
time.sleep(0.025)
fd(1)

View File

@ -0,0 +1,36 @@
from turtle import *
import time
r = numinput("PENTAGON","Wie gross soll die Seitenlänge des Pentagons sein?",200)
rl = numinput("PENTAGON","Wie viele Ebenen sollen benuzt werden?",3)
tracer(0)
def pentagon(n, radius):
if n == 0:
#ausgefülltes Pentagon zeichnen
color("Red")
begin_fill()
for i in range(5):
fd(radius)
rt(360/5)
end_fill()
else:
for i in range(5):
#Positionierung der Turtle
pu()
fd(radius * 2.62 * 0.381966)
rt(360/5)
pd()
#Rekursion
pentagon(n - 1,radius * 0.381966)
update()
starttime = time.time()
pu()
lt(90)
fd(r)
rt(90)
bk(r*0.6)
pd()
pentagon(rl, r)
exitonclick();

14
RandomTurtle/Halbkreis.py Executable file
View File

@ -0,0 +1,14 @@
from turtle import*
speed(10000)
ht()
def kreis_halb(anzahl_seiten,radius):
for i in range(anzahl_seiten):
fd(radius / anzahl_seiten)
rt(360 / anzahl_seiten)
kreis_halb(500,800)
exitonclick()

87
RandomTurtle/Huhn.py Executable file
View File

@ -0,0 +1,87 @@
import turtle
import math
import random
turtle.title("Huhn")
sideay = int(turtle.numinput("Huhn", "Punkt A, cord y", -100))
sideax = int(turtle.numinput("Huhn", "Punkt A, cord x", 200))
sideby = int(turtle.numinput("Huhn", "Punkt B, cord y", -100))
sidebx = int(turtle.numinput("Huhn", "Punkt B, cord x", -200))
sidecy = int(turtle.numinput("Huhn", "Punkt C, cord y", 200))
sidecx = int(turtle.numinput("Huhn", "Punkt C, cord x", 0))
anzahl_durchgaenge = int(turtle.numinput("Huhn", "Anzahl Durchgänge", 10, minval=1, maxval=100))
stiftdicke = int(turtle.numinput("Huhn", "Stiftdicke", 2, minval=1, maxval=50))
durchgang = 0
turtle.speed(0)
cage = turtle.Turtle()
huhn = turtle.Turtle()
cage.ht()
huhn.pu()
huhn.ht()
def motion(sideay,sideax,sideby,sidebx,sidecy,sidecx,stiftdicke):
edge = random.randint(1,3)
if edge == 1:
x = sideax
y = sideay
else:
if edge == 2:
x = sidebx
y = sideby
else:
x = sidecx
y = sidecy
huhn.setheading(huhn.towards(x, y))
nextpos = (math.sqrt((x - huhn.xcor())**2 + (y - huhn.ycor()) **2)) / 2
huhn.fd(nextpos)
huhn.pd()
huhn.dot(stiftdicke)
huhn.pu()
def motion_pre(sideay,sideax,sideby,sidebx,sidecy,sidecx,stiftdicke):
edge = random.randint(1,3)
if edge == 1:
x = sideax
y = sideay
else:
if edge == 2:
x = sidebx
y = sideby
else:
x = sidecx
y = sidecy
huhn.setheading(huhn.towards(x, y))
nextpos = (math.sqrt((x - huhn.xcor())**2 + (y - huhn.ycor()) **2)) / 2
huhn.fd(nextpos)
def cagedraw(sideax,sideay,sidebx,sideby,sidecx,sidecy):
cage.pu()
cage.setpos(sideax,sideay)
cage.pd()
cage.setpos(sidebx,sideby)
cage.setpos(sidecx,sidecy)
cage.setpos(sideax,sideay)
print("Started drawing Triangle")
cagedraw(sideax,sideay,sidebx,sideby,sidecx,sidecy)
print("Started mapping... Printing Points of Tranche:")
turtle.tracer(1000)
print("initialisation")
for i in range(50):
motion_pre(sideay,sideax,sideby,sidebx,sidecy,sidecx,stiftdicke)
for i in range(anzahl_durchgaenge):
for i in range(1000):
motion(sideay,sideax,sideby,sidebx,sidecy,sidecx,stiftdicke)
durchgang += 1
print(durchgang,"/", anzahl_durchgaenge)
print("done, click to exit")
turtle.exitonclick()

17
RandomTurtle/Kleeblatt.py Executable file
View File

@ -0,0 +1,17 @@
from turtle import*
speed(1000)
def blatt(seite,winkel,anzahl):
for i in range(anzahl):
begin_fill()
for i in range(3):
fd(seite)
lt(winkel)
end_fill()
rt(360/anzahl)
ht()
color("green")
blatt(100,120,4)
exitonclick()

View File

@ -0,0 +1,35 @@
import random
import turtle
import time
turtle.pu()
def vieleck_random_randomize():
for i in range(random.randint(25, 100)):
turtle.color(random.random(),random.random(),random.random())
size = random.randint(50, 200)
turtle.width(random.randint(2, 10))
ecken = random.randint(3, 20)
turtle.setpos(random.randint(-300,300), random.randint(-300,300))
fuellen = random.randint(0,1)
turtle.pd()
if fuellen >= 1:
turtle.begin_fill()
for i in range(ecken):
turtle.fd(size / ecken)
turtle.rt(360 / ecken)
turtle.end_fill()
else:
for i in range(ecken):
turtle.fd(size / ecken)
turtle.rt(360 / ecken)
turtle.pu()
print("Random Design")
draw_time_start = time.time()
vieleck_random_randomize()
draw_time_end = time.time()
print("Drawing has taken", draw_time_end - draw_time_start , "seconds")
print("Click to exit")
turtle.exitonclick();

11
RandomTurtle/Progressbar.py Executable file
View File

@ -0,0 +1,11 @@
import time
import os
while True:
for i in range(4):
print("=", end=" ",flush=True)
time.sleep(0.5)
print("=", end="\r",flush=True)
time.sleep(0.5)
os.system( 'cls' )
time.sleep(0.5)

16
RandomTurtle/Striche.py Executable file
View File

@ -0,0 +1,16 @@
from turtle import*
dicke = 3
lt(90)
for i in range(10):
fd(100)
bk(100)
rt(90)
pu()
fd(20)
pd()
lt(90)
width(dicke)
dicke += 2

View File

@ -0,0 +1,7 @@
from turtle import*
a = int(numinput("Wie alt bist du?", "Bitte als Zahl eingeben",16,minval=1,maxval=100))
while (a>=16) and (a<=20):
fd(100)
a = 1

187
RandomTurtle/TicTacToe.py Executable file
View File

@ -0,0 +1,187 @@
#TICTACTOE V 1.0
import time
#Variables5
global bd
bd = [[0,0,0],[0,0,0],[0,0,0]]
global filled_fields
filled_fields = 0
global player
global playershow
playershow = 1
player = 1
global play
play = 1
#FUNCTIONS
#--------------------
def inputs():
global playershow
global bd
print("It's the turn of player", playershow)
m = input("Where do you want to put your mark? ")
if len(m) > 1:
sp = m[0]
zl = m[1]
z = int(zl) - 1
s = ord(sp) - 65
if bd[z][s] > 0:
print("""
THAT FIELD IS ALREADY TAKEN, CHOOSE DIFFERENT ONE!
""")
else:
inputremap(z,s)
else:
print("""
PLEASE TYPE IN A LEGIT COORDINATE:
FORM: Coordinate Y Coordinate X --> Ex. A1/A2
""")
def inputremap(z, s):
global player
global playershow
global bd
bd[z][s] = player
if playershow == 1:
playershow = 2
player = 7
else:
playershow = 1
player = 1
global filled_fields
filled_fields += 1
full(filled_fields)
def winning():
global play
global bd
x = 0
y = 0
global go
go = 1
count = 0
print("""
checking for winner
""")
while go == 1:
if sum(bd[x]) == 3:
go = 0
play = 0
print("The Winner is player 1")
elif sum(bd[x]) == 21:
go = 0
play = 0
print("The Winner is player 2")
elif bd[0][y] + bd[1][y] + bd[2][y] == 3:
go = 0
play = 0
print("The Winner is player 1")
elif bd[0][y] + bd[1][y] + bd[2][y] == 21:
go = 0
play = 0
print("The Winner is player 2")
else:
x += 1
y += 1
if count >= 2:
go = 0
print("""no winner yet
""")
else:
count += 1
def full(filled_field):
global bd
if filled_field == 9:
print("draw")
global play
play = 0
else:
winning()
#BOARD DRAWING
def board_draw():
print("\n")
xx = 0
yy = 0
global bd
while yy < 3:
while xx < 3:
if bd[xx][yy] == 0:
print(" ", end = " ")
elif bd[xx][yy] == 1:
print(" X ", end = " ")
elif bd[xx][yy] == 7:
print(" O ", end = " ")
else:
print(""" CRITICAL ERROR""")
if xx < 2:
print("|", end = " ")
else:
print(" ", end = " ")
xx += 1
print(" ")
xx = 0
if yy < 2:
print("----------------------")
else:
print(" ")
yy += 1
#MAIN CYCLE
print(50*("\n"))
print("""
------------------------------------------------------
TIC TAC TOE
===========
V 1.0
V 2021.06.18
by Janis Hutz
""")
time.sleep(2)
print("starting...")
time.sleep(3)
print("\n\n\n")
goahead = 1
print("""
| |
----------------
| |
----------------
| |
""")
while goahead == 1:
while play == 1:
inputs()
board_draw()
time.sleep(2)
print("""
REPLAY?
""")
i = input("""Choose: (y/n)""")
if i == "y":
goahead = 1
play = 1
else:
goahead = 0
print("""
GOOD BYE!
""")

43
RandomTurtle/blume.py Executable file
View File

@ -0,0 +1,43 @@
from turtle import*
lt(90)
width(3)
speed(1000)
def stiel(orientation):
color("green")
for i in range(50):
if orientation > 1 and orientation < 3:
fd(7)
lt(1)
else:
fd(7)
rt(1)
def leaves():
color("red")
for i in range(100):
fd(3)
rt(360/100)
def blume(orientation_in,blaetter):
stiel(orientation_in)
for i in range(blaetter):
leaves()
rt(360/blaetter)
ht()
blume(2,5)
pu()
home()
fd(50)
lt(90)
pd()
blume(1,10)
exitonclick()

13
StringOperations/reverser.py Executable file
View File

@ -0,0 +1,13 @@
eingabe = input("Dein Text: ")
caracter = -1
morecaracters = True
amountleft = len(eingabe)
while morecaracters == True:
print(eingabe[caracter], end="")
if amountleft > 1:
caracter -= 1
amountleft -= 1
else:
morecaracters = False

View File

@ -0,0 +1,577 @@
import time
import random
global stepscount
stepscount = 0
inventory = []
done = []
visited = []
global goahead
goahead = 0
def cover():
print("""
______ ______ ______ ______ _______ _______ _____
( ___ \ / ___ \ / ___ \ / ___ \ ( )( ___ )|\ /| / ___ \
| ( ) )\/ ) )\/ \ \\/ ) )| () () || ( ) |( \ / ) ( (___) )
| (__/ / / / ___) / / / | || || || (___) | \ (_) / \ /
| __ ( / / (___ ( / / | |(_)| || ___ | ) _ ( / ___ \
| ( \ \ / / ) \ / / | | | || ( ) | / ( ) \ ( ( ) )
| )___) ) / / /\___/ / / / | ) ( || ) ( |( / \ ) ( (___) )
|/ \___/ \_/ \______/ \_/ |/ \||/ \||/ \| \_____/
_______ _______ _______ _______
( ____ \( ____ )( ___ )( ____ \|\ /|
| ( \/| ( )|| ( ) || ( \/| ) ( |
| | | (____)|| (___) || (_____ | (___) |
| | | __)| ___ |(_____ )| ___ |
| | | (\ ( | ( ) | ) || ( ) |
| (____/\| ) \ \__| ) ( |/\____) || ) ( |
(_______/|/ \__/|/ \|\_______)|/ \|
""")
time.sleep(2)
print("""
DIES BASIERT AUF EINER WAHREN TATSACHE. DIE SPIELELEMENTE SIND VEREINFACHT UND TEILS
UNREALISTISCH DARGESTELLT. WICHTIGE DETAILS WERDEN ZUR EINFACHEREN VERSTÄNDLICHKEIT
WEGGELASSEN. DER ERMITTLUNGSPROZESS IST IN WIRKLICHKEIT EINE UNGEHEURLICH SCHWIERIGE
AUFGABE UND WIRD HIER AUF EIN MÖGLICHST ÜBERSCHAUBARES MASS GEKÜRZT.
""")
time.sleep(5)
go = 0
while go == 0:
a = userinput("Tippe folgendes ein, wenn du bereit bist: ok | ")
if a == "ok":
go = 1
else:
print("wrong, retry")
global start
start = time.time()
def gameoverpossible():
global start
if "grounding" not in done:
current = time.time() - start
if current < 120:
gameover1()
elif current < 180 and current > 119:
gameover2()
elif current < 240 and current > 179:
gameover3()
elif current < 300 and current > 239:
gameover()
else:
current = time.time()
def gameover1():
if random.randint(0,10) == 1:
gameover()
else:
current = time.time()
def gameover2():
if random.randint(0,6) == 1:
gameover()
else:
current = time.time()
def gameover3():
if random.randint(0,3) == 1:
gameover()
else:
current = time.time()
def gameover():
global next
next = 0
global exit
exit = 0
print("""
NEW YORK TIMES
DIE KATASTROPHE
---------------------------------
Heute morgen gegen 7 Uhr ist eine Boeing 737 MAX 8 der United Airlines abgestürzt.
Alle 178 Menschen an Bord der Maschine sind bei dem fast senkrechten Absturz der
Maschine gestorben. Der Unfall ähnelt den beiden bisherigen Abstürzen von 737 MAX
in Ethiopien und Indonesien in vielerlei Hinsicht. Auch hier war die Maschine
senkrecht abgestürzt, auch hier wollten die Piloten umkehren und meldeten Probleme
mit der Flugsteuerung. Die Ermittler dieses Falles werden sich morgen früh für ihre
langsame Arbeit für den Tod der 178 Menschen verantworten, da sie kein Weltweites
Flugverbot für die 737 MAX ausgesprochen hatte.
---------------------------------
Oh weh.
Das wird einige Konsequenzen für dich nach sich ziehen.
""")
time.sleep(4)
print("""
Es ist der nächste Morgen. Du machst dich auf zum Gericht.
Die Richter entziehen den Fall deiner Verantwortung und verurteilen dich zu
lebenslänglicher Haft, aufgrund von fahrlässiger Tötung. Das ist das Ende deiner
Karriere.
""")
print("Punktezahl: 0")
def einfuehrung():
print("""Es ist Samstagmorgen... Urplötzlich stürzt eine fast brandneue Boeing 737MAX
von Ethiopian Airlines ab. Die Welt ist schockiert, da dies bereits der zweite Absturz dieses
Typs ist. Beides Mal waren fast brandneue Flugzeuge involviert. Beide Abstürze ähnelten sich
massiv. Deine Aufgabe ist es nun, die Absturze zu klären.""")
print("""
Als neu ernannter Ermittler musst du dir bereits jetzt eine wichtige Frage stellen:
Solltest du ein weltweites Flugverbot für diesen Flugzeugtypen verhängen?
Sowohl Boeing als auch die Fluggesellschaften werden sich dagegen sträuben.
""")
i = userinput("Willst du das Flugverbot verhängen? (y/n)")
if i == "y":
print("""
NEW YORK TIMES
NTSB ERMITTLER VERHÄNGT FLUGVERBOT FÜR UNGLÜCKSFLIEGER
--------------------------------------------------------------
Heute Morgen hat ein Sprecher des NTSB (National Transport and Safety Board verkündet,
dass der leitende Ermittler ein Flugverbot für alle Flugzeuge der Boeing 737MAX-Klasse
zu verhängen. Dies ist auf massive Proteste seitens der Fluggesellschaften und von Boeing
gestossen. Jedoch: Viele Aviatikexperten befürworten den Entscheid des Ermittlers. Die
Sicherheit der Passagiere muss um jeden Preis gewährleistet werden. Die einzige Möglichkeit
dies zu gewährleisten ist, ein Flugverbot auszusprechen.
""")
done.append("grounding")
elif i == "n":
print("""
Die Wirtschaft ist wichtig, ein Pilotenfehler kann ja nicht ausgeschlossen werden.
Ermitteln wir!
""")
else:
print("wrong, retry")
einfuehrung()
time.sleep(4)
def grundriss():
if "grounding" in done:
print("""
_________________________________________________________________________________________________________
Willkommen im Ermittlerbüro.
Dies ist dein Arbeitsplatz an der Unfallstelle. Die Welt will Antworten und Boeing
braucht sie, um das Flugzeug zu verbessern. Der Zeitdruck ist aber geringer, da keine
weiteren Abstürze geschehen können.
Hier kannst du alle Gegenstände, welche du auf der Unfallstelle finden kannst
untersuchen, um die mögliche Unfallursache herauszufinden.
""")
else:
print("""
_________________________________________________________________________________________________________
Willkommen im Ermittlerbüro.
Dies ist dein Arbeitsplatz an der Unfallstelle. Du solltest dich so schnell wie
möglich um diesen Fall kümmern, denn sonst könnte es zu weiteren Abstürzen kommen.
Hier kannst du alle Gegenstände, welche du auf der Unfallstelle finden kannst
untersuchen, um die mögliche Unfallursache herauszufinden.
""")
def abspann():
print("""
DU HAST ES GESCHAFFT!
GLÜCKWUNSCH!
""")
global start
global stepscount
times = time.time() - start
points = times*2 + stepscount**2 - 110
if points < 0:
print("Deine Zeit: ",times)
print("\n\nDeine Punkte (Je geringer desto besser): 0")
print("\nDeine Anzahl Schritte (Je geringer desto besser):", stepscount)
else:
print("Deine Zeit: ",times)
print("\n\nDeine Punkte (Je geringer desto besser): ",points)
print("\nDeine Anzahl Schritte (Je geringer desto besser):", stepscount)
bewertung(points)
def bewertung(punkte):
print("""
DEINE BEWERTUNG:""")
if punkte <= 0:
print(""" GOD """)
if punkte < 20:
print(""" A+ """)
elif punkte < 40:
print(""" A """)
elif punkte < 100:
print(""" B """)
elif punkte < 200:
print(""" C """)
elif punkte < 301:
print(""" D """)
elif punkte > 300:
print(""" D- """)
def userinput(question):
return input(question).lower()
def makedone(item):
inventory.remove(item)
done.append(item)
def eb():
global stepscount
stepscount += 1
print("""Du befindest dich jetzt im Ermittlerbüro.
""")
while len(inventory) > 0:
stepscount += 1
if "blackbox" in inventory:
makedone("blackbox")
print("""Da du ja jetzt die Blackbox des Flugzeugs gefunden hast,
kannst du sie hier im Ermittlerbüro aufmachen und die Flugdaten auslesen.
Dies dauert jedoch eine gewisse Zeit. Du öffnest ihn und hoffst, dass einer
deiner Spezialisten die Daten retten kann.""")
time.sleep(7)
print("""Dein Spezialist hat es geschafft! Die Daten konten wiederhergestellt werden!
Du siehst eine Auffälligkeit in den Daten der Flughöhe und der vertikalen Geschwindigkeit.
Dies deutet auf massive technische Probleme hin. Auch die Daten des Anstellwinkelsensors 1,
sind auffällig: Er hatte die ganze Zeit denselben Anstellwinkel angezeigt.
""")
if "anstellwinkelsensor" in inventory:
print("""Glücklicherweise hast du ihn bereits auf dem Trümmerfeld entdeckt.
Du untersuchst ihn nun.""")
elif "anstellwinkelsensor" in done:
print("""Du hast ihn ja bereits untersucht. """)
else:
print("""Du solltest dich vielleicht nach dem Sensor umsehen.""")
elif "anstellwinkelsensor" in inventory:
makedone("anstellwinkelsensor")
print("""Da du ja zuvor den Anstellwinkelsensor des Flugzeugs gefunden hast,
kannst du ihn jetzt auf Schäden überprüfen. Du untersuchst die Ströme, welche der
Sensor bei Bewegung ausgibst und machst eine Entdeckung:
ER FUNKTIONIERT NICHT!
Logischerweise könnte er auch durch den Aufprall beschädigt sein, """)
if "blackbox" in done:
print("""aber die Blackbox bestätigt ja den Ausfall des Sensors.
Du bist der Ursache auf der Spur. Glückwunsch!""")
global goahead
goahead = 1
inventory.clear()
else:
print("""du solltest deshalb die Blackbox finden, um den Ausfall zu
bestätigen.
""")
print("\n")
elif "turbine" in inventory:
print("""Du hast eine der beiden Turbinen in das Büro transportieren lassen.
Als mögliche Absturzursache hast du Triebwerksversagen im Verdacht. Beim Betrachten
der Triebwerke erkennst du aber an der Verformung der Schaufeln und dem Dreck
in der Turbine selbst, also im Kompressor, dass sie voll funktionstüchtig war.
Somit kann ein Absturz durch Triebwerksversagen ausgeschlossen werden.
Denn ein modernes Flugzeug kann auch mit nur einem Triebwerk problemlos fliegen.""")
makedone("turbine")
elif "zeugen" in inventory:
makedone("zeugen")
print("""Du hast ja auch bereits die Zeugen befragt. Du schaust dir deine
Notizen lange an, kannst aber nichts erkennen, was dir für den Fall helfen könnte.
Du verwirfst die Aussagen als nicht aussagekräftig.""")
time.sleep(5)
if goahead == 1:
stepscount += 1
print("""Du wendest dich nun den Pilotenakten zu. Der Kapitän hatte beachtliche
8000 Flugstunden und soweit du erkennen magst, auch keine bekannten Probleme. Auch die
(kurze) Karriere des Copiloten war makellos, er hatte jedoch nur 200 Flugstunden.
Die Piloten hatten beim Kontakt mit dem Tower Probleme gemeldet und zur Umkehr
gebeten. Dies bestätigte auch der Stimmenrekorder. Deine Aufmerksamkeit fällt auf
das als Manouvering Caracteristics Augumentation System, oder kurz MCAS, welches eigentlich
einen Strömungsabriss verhindern sollte, aber, aufgrund der Architektur der 737-Familie,
nur mit einem der redundanten Anstellwinkelsensoren verbunden war. Des weiteren:
Zwei Sensoren sind einer zu wenig, denn falls jetzt einer ausfallen sollte, welcher
sollte verwendet werden? Das MCAS hatte hier schlicht weg keine Chance, vernüftig
zu handeln und hatte das Flugzeug in einen Sturzflug gezwungen, da der Anstellwinkelsensor
einen zu hohen Anstellwinkel gemeldet hatte. Das Flugzeug war jedoch gar nicht in jener Lage und
die Piloten kämpften vergeblich gegen das System, welches sich nicht abschalten liess.
Denn durch die grösseren und Effizienteren Triebwerke (LEAP 1A) der 737MAX, mussten diese
weiter vorne und höher unter dem Flügel angebracht werden, um genügend Bodenfreiheit zu
gewährleisten. Dies hatte dazu geführt, dass bei dem schon sehr alten Flugzeug das sogenannte
Pitch-Up moment grösser wurde und somit die Nase des Flugzeugs in gewissen Fluglagen
unkontrolliert nach oben gehen kann. Das MCAS sollte dies verhindern, denn diese Fluglage
führt unweigerlich zu einem Strömungsabriss, bei welchem das Flugzeug sogesagt "vom Himmel
fallen würde".""")
time.sleep(10)
if "grounding" in done:
stepscount -= 2
print("""
Nachdem du ja glücklicherweise bereits bei Ermittlungsbeginn das Grounding des Typs andgeordnet hattest.
Die Fluggesellschaften und Boeing hatten zwar nicht sehr positiv darauf reagiert, aber mit dem was
du herausgefunden hattest, sind jetzt alle froh, dass du es getan hattest.
Die 737 MAX war anschliessend bis im Dezember 2020 gegroundet und Boeing fuhr durch dieses Problem
massive Verluste ein.
""")
else:
stepscount += 10
print("""
Alle sind schockiert, dass du nicht bereits bei Ermittlungsbeginn ein Grounding angeordnet hattest.
Boeing und auch die Fluggesellschaften fanden es zwar erst besser, aber auch sie sind jetzt der Meinung,
dass es besser gewesen wäre, wenn du bereits da ein Grounding angeordnet hättest. Deine Haltung davon ist
zwar verständlich, aber du wirst trotzdem zur Verantwortung gezogen. Du musst eine Haftstrafe von einem
Jahr absitzen, da du viele Personen in Gefahr gebracht hast. Trotzdem, der Fall ist geklärt.
""")
return 0
else:
print("""Um etwas untersuchen zu können, musst du erst etwas in dein Inventar nehmen,
dann hier zurückkehren. Gehe dazu hinaus auf die Unfallstelle.
Auch da könnten sich wichtige Hinweise verstecken.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (f), zum Heck (h) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "f":
return 2
if i == "h":
return 3
if i == "z":
return 5
def fl():
global stepscount
stepscount += 1
if "flügel" in visited:
print("""Du hast den Flügel bereits untersucht.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Heck (h), zum Büro (b) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "b":
return 1
if i == "h":
return 3
if i == "z":
return 5
else:
print("wrong, retry")
return 2
else:
print("""
Der Flügel. Komplett zertrümmert. Er scheint in einem beinahe 90° Winkel
aufgeschlagen zu sein. Du und dein Team finden eine der beiden Turbinen. Du lässt
sie in dein Büro transportieren, um sie dort zu untersuchen. Du kannst entweder
in dein Büro gehen oder weitersuchen.""")
i = userinput("Willst du zurück? (y/n)")
visited.append("flügel")
time.sleep(2)
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Heck (h) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "h":
return 3
if i == "z":
return 5
else:
print("wrong, retry")
return 2
def hk():
global stepscount
stepscount += 1
if "heck" in visited:
print("""Du hast das Heck bereits untersucht.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (f), zum Büro (b) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "b":
return 1
if i == "f":
return 2
if i == "z":
return 5
else:
print("wrong, retry")
return 3
else:
print("""
Du entdeckst etwas, das wie das Seitenleitwerks des Flugzeugs aussehen könnte.
Dein grösstes Ziel ist, die Blackbox zu finden. Du hebst Teile an, und plötzlich siehst du sie:
Die Blackbox. Du hebst sie auf und lässt sie in dein Büro bringen. """)
inventory.append("blackbox")
time.sleep(1)
visited.append("heck")
i = userinput("Willst du zurück? (y/n)")
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (h) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "f":
return 2
if i == "z":
return 5
else:
print("wrong, retry")
return 3
def zg():
global stepscount
stepscount += 1
if "zeugen" in visited:
print("""Du hast die Zeugen bereits befragt.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (f), zum Büro (b) oder zum Heck (h)? ")
if i == "c":
return 4
if i == "b":
return 1
if i == "f":
return 2
if i == "h":
return 3
else:
print("wrong, retry")
return 5
else:
print("""
Du machst dich auf den Weg in ein nahegelegenes Dorf, da du gehört hast, dass eine Person
den Absturz gesehen hat.
- Hallo. Sie haben den Absturz mitverfolgt?
- Ja habe ich.
- Wollen sie uns etwas darüber erzählen?
- Ja klar. Also. Ich war gerade auf dem Weg nach Hause, als ich ein Flugzeug hörte. Es war lauter
als sonst, deshalb schaute ich auf. Etwas schien ganz und gar nicht gut, denn plötzlich kippte
es zur Seite weg und stürzte vom Himmel. Einfach so. Eine riesige Explosion erschütterte unser Dorf.
- Vielen Dank. Sie haben mir geholfen.
Du machst dich auf den Weg zurück zur Unfallstelle. Willst du dir direkt Gedanken über die
Aussagen machen? Dafür musst du ins Büro zurück. """)
inventory.append("zeugen")
time.sleep(1)
visited.append("zeugen")
i = userinput("Willst du zurück? (y/n)")
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Heck (h) oder zum Flügel (f)? ")
if i == "c":
return 4
if i == "h":
return 3
if i == "f":
return 2
else:
print("wrong, retry")
return 5
def co():
global stepscount
stepscount += 1
if "cockpit" in visited:
print("""Du hast das Cockpit bereits untersucht.""")
i = userinput("Wo willst du hin? Zum Heck (h), zum Flügel (f), zum Büro (b) oder willst du Zeugen befragen (z)? ")
if i == "h":
return 3
if i == "b":
return 1
if i == "f":
return 2
if i == "z":
return 5
else:
print("wrong, retry")
return 4
else:
print("""
Du näherst dich der Nase des Flugzeugs. Vorsichtig läufst du umher. Vor dir liegt ein Sensor.
Er scheint defekt zu sein. Du hebst ihn auf und lässt ihn in dein Büro bringen.
Du kannst zurück gehen und ihn untersuchen oder weitersuchen.""")
inventory.append("anstellwinkelsensor")
time.sleep(1)
visited.append("cockpit")
i = userinput("Willst du zurück? (y/n)")
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Flügel (f), zum Heck (h) oder willst du Zeugen befragen (z)? ")
if i == "f":
return 2
if i == "h":
return 3
if i == "z":
return 5
else:
print("wrong, retry")
return 4
def main():
cover()
einfuehrung()
grundriss()
global next
global exit
next = 1
exit = 0
while next != 0:
if next == 1:
next = eb()
elif next == 2:
next = fl()
elif next == 3:
next = hk()
elif next == 4:
next = co()
elif next == 5:
next = zg()
else:
print("an error occured. restart. Exit Code:", next)
next = 0
exit = 0
gameoverpossible()
if exit == 1:
abspann()
main()

View File

@ -0,0 +1,871 @@
import time
global inventory
inventory = []
global besucht
besucht = []
def cover():
print("""
---------------------------------------------------------------------
""")
time.sleep(1)
def gameover():
print("""
-------------------------------------------------------------------------
""")
def regeln():
print("Bevor wir starten, ein paar Anmerkungen.\n"
"Bitte alles was du schreibst IMMER in Kleibuchstaben verfassen.\n"
"Es wird immer MAXIMAL ein Wort benötigt.\n"
"Du hast einen Rucksack dabei, in dem du Dinge mitnehmen kannst.\n")
time.sleep(1)
def einfuehrung():
print("Es ist Freitag Nacht...\n"
"Du hast dich verlaufen und bist auf der Suche nach einer Unterkunft\n"
"für die kommende Nacht.\n"
"Du bist ganz auf dich alleine gestellt.\n"
"Wenn du nicht aufpasst, wirst du sterben.\n"
"Sei vorsichtig und überlege dir jede Entscheidung gut.\n"
"Es gibt kein Zurück!!\n"
"Du bist ganz alleine an einer abgelegenen Strasse.\n"
"Es stürmt und ist eiskalt.\n"
"Plötzlich kommst du zu einem alten Haus.\n"
"Es sieht unheimlich aus.\n")
time.sleep(1)
def grundriss():
print ("""
DU BIST HIER
|
__________ ____|______ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____| Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|_ ____
| |
| Keller |
| |
|_________ __|
""")
time.sleep(1)
def lageplan():
print("""
_______ ___________ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____|Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|______
| |
| Keller |
| |
|____________|
""")
def abspann():
print("""
-----------------------------------------------------
""")
def Eintreten():
aktion = input('Willst Du eintreten oder weglaufen?').lower()
if aktion == 'eintreten':
flur1()
elif aktion == 'weglaufen':
print("\n"
"Du läufst davon voller Angst... \n"
"Doch schon nach kurzer Zeit wird dir bewusst...\n"
"Du musst zurück wenn du diese Nacht überleben willst.\n")
time.sleep(1)
Eintreten()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
Eintreten()
def Mord():
print("\n"
"Du rennst so schnell du kannst zum Flur. \n"
"Du willst die Türe aufreissen und weglaufen.\n"
"Doch die Türe ist verschlossen!\n"
"Plötzlich spürst du das jemand hinter dir steht... \n"
"...du drehst langsam deinen Kopf\n"
"Die schwarze Gestalt steht hinter dir!\n"
"Sie ist voller Blut und lacht laut und bevor du reagieren kannst...\n"
"...sticht sie dir ein Messer kaltblütig in die Brust!\n")
time.sleep(5)
gameover()
def schock():
print("Du öffnest neugierig den Duschvorhang.\n"
"Die Badewanne.. sie.. sie ist.. voller Blut!\n"
"Du schreist und hast Angst. Du willst nur noch weg hier!\n"
"Doch nach kurzer Zeit fällt dir neben der Wanne etwas auf...\n"
"...ist das ein Schlüssel?")
h = input('Schlüssel aufheben oder liegen lassen?').lower()
if h == "aufheben":
inventory.append("schlüssel")
badezimmer()
if h == "lassen":
badezimmer()
else:
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
time.sleep(2)
schock()
def flur2():
print("Du stehst erneut auf einem Flur...\n"
"Er sieht aber anderst aus als der beim Hauseingang.\n"
"Deutlich düsterer... und eine Tür die in einen anderen Raum führt.\n"
"In den Keller vielleicht?\n")
i = input("Willst du die Türe öffnen?").lower()
if i == "nein":
flur3()
if i == "ja":
if "schlüssel" in inventory:
inventory.remove("schlüssel")
treppe()
else:
print("Die Türe scheint verschlossen zu sein.\n"
"Du brauchst einen Schlüssel um diesen Raum zu betreten.\n")
time.sleep(3)
lageplan()
j = input("Wohin willst du?").lower()
if j == "badezimmer":
if "ja" in besucht:
badezimmer1()
else:
badezimmer()
if j == "küche":
kueche()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
flur1()
def flur1():
inventory.append("lampe")
print("\n"
"(Du findest eine Lampe und steckst sie in dein Inventar)\n"
"Du stehst auf einem Flur.\n"
"Das Haus sieht alt und verlassen aus.\n"
"Doch plötzlich hörst du etwas...\n"
"Schritte vielleicht?\n")
d = input("Willst du im Schlafzimmer oder im Wohnzimmer nachsehen?").lower()
if d == "schlafzimmer":
schlafzimmer1()
if d == "wohnzimmer":
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
time.sleep(2)
flur1()
def flur():
print("Du bist nun auf dem Flur.\n")
f = input("Wohin willst du?").lower()
lageplan()
if f == "schlafzimmer":
schlafzimmer()
if f == "wohnzimmer":
wohnzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur()
def flur3():
print("Du bist nun auf dem Flur.\n")
if "schlüssel" in inventory:
q = input("Willst du die Türe öffnen?")
if q == "ja":
if "schlüssel" in inventory:
treppe()
else:
print("Du brauchst einen Schlüssel um diese Türe zu öffnen.\n")
if q == "nein":
time.sleep(3)
lageplan()
f = input("Wohin willst du?").lower()
if f == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur3()
else:
lageplan()
f = input("Wohin willst du?").lower()
if f == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur3()
def kueche():
print("Du bist nun in der Küche.\n"
"Von der schwarzen Gestalt ist nichts zu sehen.\n"
"Auf der Ablage liegt ein Messer.\n")
time.sleep(2)
p = input("Willst du das Messer aufheben? Es könnte sich später noch für Nützlich erweisen.\n")
if p == "ja":
inventory.append("messer")
if p == "nein":
print("ok")
kueche1()
def kueche1():
print("Du bist nun in der Küche.\n")
time.sleep(2)
lageplan()
x = input("Wohin willst du?").lower()
if x == "flur":
flur2()
if x == "wohnzimmer":
wohnzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
kueche()
def schlafzimmer():
print("Du bist nun im Schlafzimmer.\n")
e = input("Wohin willst du?").lower()
lageplan()
if e == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if e == "flur":
flur()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
schlafzimmer()
def wohnzimmer():
print("Du bist nun im Wohnzimmer.\n")
f = input("Wohin willst du?").lower()
lageplan()
if f == "flur":
flur()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
wohnzimmer()
def badezimmer2():
if "ja" in besucht:
badezimmer()
else:
print("Du bist nun im Badezimmer.\n")
e = input("Wohin willst du?").lower()
lageplan()
if e == "flur":
flur3()
if e == "schlafzimmer":
schlafzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
badezimmer()
def badezimmer():
print("Du bist nun im Badezimmer.\n")
if "schlüssel" != inventory:
w = input("Willst du den Schlüssel aufheben?").lower()
if w == "ja":
inventory.append("schlüssel")
else:
print("ok")
e = input("Wohin willst du?").lower()
lageplan()
if e == "flur":
flur3()
if e == "schlafzimmer":
schlafzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
badezimmer()
def badezimmer1():
besucht.append("ja")
print("Du öffnest die Türe zum Bad ganz leise.\n"
"Du hoffst, dass die schwarze Gestalt nichts gehört hat.\n"
"Etwas ängstlich betrittst du nun das Badezimmer.\n"
"Viel gibt es nicht zu sehen in diesem Badezimmer\n"
"Eine Toilette, ein Spiegel und eine Badewanne\n"
"Der Duschvorhang der Badewanne ist zu\n")
g = input("Willst du ihn öffnen?").lower()
if g == "ja":
schock()
if g == "nein":
badezimmer2()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
badezimmer1()
def schlafzimmer1():
print("\n"
"Du öffnest die Schlafzimmertüre langsam.\n"
"Die Türe aber knirscht und lässt sich nur schwer öffnen.\n"
"Nun betrittst du das alte und verlassene SChlafzimmer.\n"
"Du siehst dich etwas um.\n"
"Am Boden hinter dem Bett siehst du etwas.\n"
"Flecken viellei... HILFE!!!!!\n"
"Jemand schrie um Hilfe? Und die Flecken - es ist Blut!!\n")
a = input("Willst du flüchten oder dem Hilferuf folgen?").lower()
if a == "flüchten":
print("\n"
"Du entschliesst dich zu flüchten.\n"
"Du hast Todesangst\n")
Mord()
if a == "folgen":
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
schlafzimmer1()
def wohnzimmer1():
print("\n"
"Du gehst aufmerksam ins Wohnzimmer.\n"
"Du blickst umher.\n"
"Da links! Eine schwarze Gestalt steht im nächsten Zimmer!\n"
"Geschockt bleibst du stehen und planst dein weiteres Vorgehen.\n")
b = input("Willst du die Situation beobachten oder flüchten?").lower()
if b == "flüchten":
Mord()
if b == "beobachten":
print("\n"
"Schockiert erkennst du, dass die schwarze Gestalt ein Messer hat.\n"
"Sie lacht auf eine psychopathische Art und Weise und läuft umher.\n"
"Sucht sie etwas? Oder jemanden?\n"
"Mich vielleicht?\n"
"Es sieht so aus als würde sie im nächsten Raum verschwinden.\n")
time.sleep(5)
lageplan()
c = input("Wohin willst du?").lower()
if c == "flur":
flur()
if c == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
wohnzimmer1()
def treppe():
print("Du öffnest die Türe möglichst leise.\n"
"Zu deiner Erleichterung öffnet sich die Türe ruhig.\n"
"Vor dir siehst du eine Treppe.\n"
"Sie führt nach unten... in den Keller wahrscheinlich.\n")
k = input("Willst du den Keller betreten?")
if k == "ja":
keller1()
if k == "nein":
schlüssel = 1
flur3()
else:
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
treppe()
def keller1():
print("Schleichend gehst du die dunkle, alte Treppe hinunter\n"
"Zu deinem Pech knirscht das alte Holz unter deinen Füssen\n"
"Unten angekommen siehst du dich etwas um.\n"
"Ein Schrank, ein altes Bett und viele alte Schachteln stehen herum.\n"
"Ein komischer Geruch kommt dir in die Nase...\n"
"...woher der wohl kommen mag?\n"
"Aus dem Schranz läuft etwas heraus...\n"
"...wegen der Dunkelheit erkennst du nicht wases ist.\n")
l = input("Willst du im Schrank nachschauen?").lower()
if l == "ja":
schrank1()
if l == "nein":
schrank2()
def schrank2():
print(
"Du hörst plötzlich ein Lachen.\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
o = input("Wo willst du dich verstecken?\n"
"Hinter den Schachteln oder unter dem Bett?").lower()
if o == "bett":
bett()
if o == "schachteln":
schachteln()
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
schrank2()
def schrank1():
print("Du öffnest den Schrank.\n"
"AHHHHHH!! Eine Leiche!! Und Blut! Überall Blut!!\n"
"Als wäre das nicht schon genug, hörst du plötzlich ein Lachen\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
m = input("Wo willst du dich verstecken?\n"
"Im Schrank, hinter den Schachteln oder unter dem Bett?\n").lower()
if m == "schrank":
schrank()
if m == "bett":
bett()
if m == "schachteln":
schachteln()
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
schrank1()
def schrank():
print("Du hast entschieden dich im Schrank zu verstecken.\n"
"In dem Schrank in dem auch die Leiche ist.\n"
"Ob das wohl die Richtige entscheidung war?\n")
ende1()
def bett():
print("Du hast dich für das Bett entschieden\n"
"Unter dem Bett liegt ein Teppich\n"
"Ob da wohl etwas darunter ist, dass versteckt werden muss?\n")
ende2()
def schachteln():
print("Du hast dich für die Schachteln entschieden\n"
"Du machst dich so klein wie möglich und hoffst nicht entdeckt zu werden\n"
"Durch einen Spalt bei den Schachteln siehst du auf das Bett\n"
"Darunter fällt dir ein Teppich auf.\n"
"Es sieht aus als wäre darunter etwas versteckt.\n")
ende3()
def ende1():
print("Du drückst dich an den Schrank und bist so leise wie nur möglich.\n"
"Du hörst wie die schwarze Gestalt immer und immer näher kommt.\n"
"Sie lacht laut und sucht dich überall.\n"
"Sie kommt näher zum Schrank mit dem Messer voran.\n"
"Dann bleibt sie stehen.\n"
"Langsam öffnet sie die Schranktür.\n"
"Du blickst ihr direkt in die Augen.\n"
"Du schreist aber sie zeigt keine Gnade und ersticht dich kaltblütig.\n")
gameover()
def ende2():
print("Die schwarze Gestalt ist im Keller.\n"
"Du hast Todesangst. Sie sucht dich überall.\n"
"Du erinnerst dich an das Messer welches du im Badezimmer gefunden hast.\n")
n = input("Willst du mit dem Messer den Teppich aufschneiden?")
if n == "ja":
if "messer" in inventory:
inventory.remove("messer")
flucht()
else:
mord2()
if n == "nein":
print("Du hast keine andere wahl. Schneide den Teppich auf!!!")
ende2()
else:
print("Antworte bitte mit ja oder nein.")
ende2()
def ende3():
print("Du hörst wie die schwarze Gestalt den Keller betretet.\n"
"Voller Angst überlegst du wie du flüchten könntest.\n"
"Die schwarze Gestalt sucht dich überall.\n"
"Sie kommt langsam aber stetig immer näher zu den Schachteln.\n"
"Als die schwarze Gestalt einen kurzen Moment weg schaut,\n"
"läufst du so schnell du kannst zum Bett und versteckst dich dort\n")
ende2()
def mord2():
print("Du hast kein Messer in deinem Rucksack.\n"
"Da du das Messer ohne Erfolg gesucht hast,\n"
"wurde die schwarze Gestalt auf dich aufmerksam.\n"
"Sie kommt immer näher in Richtung Bett und du hast\n"
"keine Möglichkeit mehr dich zu verstecken.\n"
"Die schwarze Gestalt zieht das Bett weg und sieht dir tief in die Augen.\n"
"Du schaust sie hilfeschreiend an aber das ist ihr egal.\n"
"Sie lacht laut los und sticht dir langsam mit dem Messer in die Brust.\n"
"Du verlierst das Bewusstsein und das letzte was du noch hörst,\n"
"ist das psychopathische Lachen.\n")
gameover()
def flucht():
print("Unter dem Teppich ist tatsächlich etwas.\n"
"Eine geheime Öffnung im Boden!! Vielleicht ein Weg der hier weg führt?\n"
"Du Öffnest die Falltüre und springst nach unten.\n"
"Tatsächlich! Es sieht aus wie ein langer Gang\n"
"Das Problem ist nur... es ist stock dunkel.\n")
o = input("Nimm deine Lampe und zünde sie an! (lampe nehmen)\n")
if o == "lampe nehmen":
inventory.remove("lampe")
print("Du siehst nun genug für deine Flucht!\n")
wegvonhier()
else:
print("Dieser Befehl kenne ich leider nicht :/\n"
"Bitte erneut versuchen.\n")
def wegvonhier():
print("Hinter dir hörst du schonwieder das Lachen der schwarzen Gestalt.\n"
"Du rennst so schnell du kannst!\n"
"Es ist kalt und nass in diesem Tunnel aber dir bleibt nichts anderes übrig.\n"
"Hier! Eine Leiter!\n"
"Du steigst die Leiter nach oben und öffnest die Falltüre.\n"
"Die schwarze Gestalt kommt immer näher!\n"
"Du kletterst hinaus und schliesst die Türe wieder.\n")
glückwunsch()
def glückwunsch():
print("Gratuliere!!! Du hast die Nacht überlebt und einen Ausweg aus dem Haus gefunden!\n"
"Du bist nun in einem Wald.\n"
"Nach langem umherirren hast du ein Dorf gefunden.\n"
"Die Leute dort waren sehr freundlich und haben dich zurück zu deinem Haus gebracht.\n"
"Zuhause hast du alles der Polizei erzählt.\n"
"Als die Polizei ankam war das Haus nicht mehr dort.\n"
"Ein Berg aus SChutt und Asche ist übrig geblieben.\n"
"Die schwarze Gestalt wurde bis heute nicht gefunden.\n")
abspann()
def main():
cover()
regeln()
einfuehrung()
grundriss()
Eintreten()
main()

View File

@ -0,0 +1,871 @@
import time
global inventory
inventory = []
global besucht
besucht = []
def cover():
print("""
---------------------------------------------------------------------
""")
time.sleep(1)
def gameover():
print("""
-------------------------------------------------------------------------
""")
def regeln():
print("Bevor wir starten, ein paar Anmerkungen.\n"
"Bitte alles was du schreibst IMMER in Kleibuchstaben verfassen.\n"
"Es wird immer MAXIMAL ein Wort benötigt.\n"
"Du hast einen Rucksack dabei, in dem du Dinge mitnehmen kannst.\n")
time.sleep(1)
def einfuehrung():
print("Es ist Freitag Nacht...\n"
"Du hast dich verlaufen und bist auf der Suche nach einer Unterkunft\n"
"für die kommende Nacht.\n"
"Du bist ganz auf dich alleine gestellt.\n"
"Wenn du nicht aufpasst, wirst du sterben.\n"
"Sei vorsichtig und überlege dir jede Entscheidung gut.\n"
"Es gibt kein Zurück!!\n"
"Du bist ganz alleine an einer abgelegenen Strasse.\n"
"Es stürmt und ist eiskalt.\n"
"Plötzlich kommst du zu einem alten Haus.\n"
"Es sieht unheimlich aus.\n")
time.sleep(1)
def grundriss():
print ("""
DU BIST HIER
|
__________ ____|______ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____| Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|_ ____
| |
| Keller |
| |
|_________ __|
""")
time.sleep(1)
def lageplan():
print("""
_______ ___________ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____|Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|______
| |
| Keller |
| |
|____________|
""")
def abspann():
print("""
-----------------------------------------------------
""")
def Eintreten():
aktion = input('Willst Du eintreten oder weglaufen?').lower()
if aktion == 'eintreten':
flur1()
elif aktion == 'weglaufen':
print("\n"
"Du läufst davon voller Angst... \n"
"Doch schon nach kurzer Zeit wird dir bewusst...\n"
"Du musst zurück wenn du diese Nacht überleben willst.\n")
time.sleep(1)
Eintreten()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
Eintreten()
def Mord():
print("\n"
"Du rennst so schnell du kannst zum Flur. \n"
"Du willst die Türe aufreissen und weglaufen.\n"
"Doch die Türe ist verschlossen!\n"
"Plötzlich spürst du das jemand hinter dir steht... \n"
"...du drehst langsam deinen Kopf\n"
"Die schwarze Gestalt steht hinter dir!\n"
"Sie ist voller Blut und lacht laut und bevor du reagieren kannst...\n"
"...sticht sie dir ein Messer kaltblütig in die Brust!\n")
time.sleep(5)
gameover()
def schock():
print("Du öffnest neugierig den Duschvorhang.\n"
"Die Badewanne.. sie.. sie ist.. voller Blut!\n"
"Du schreist und hast Angst. Du willst nur noch weg hier!\n"
"Doch nach kurzer Zeit fällt dir neben der Wanne etwas auf...\n"
"...ist das ein Schlüssel?")
h = input('Schlüssel aufheben oder liegen lassen?').lower()
if h == "aufheben":
inventory.append("schlüssel")
badezimmer()
if h == "lassen":
badezimmer()
else:
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
time.sleep(2)
schock()
def flur2():
print("Du stehst erneut auf einem Flur...\n"
"Er sieht aber anderst aus als der beim Hauseingang.\n"
"Deutlich düsterer... und eine Tür die in einen anderen Raum führt.\n"
"In den Keller vielleicht?\n")
i = input("Willst du die Türe öffnen?").lower()
if i == "nein":
flur3()
if i == "ja":
if "schlüssel" in inventory:
inventory.remove("schlüssel")
treppe()
else:
print("Die Türe scheint verschlossen zu sein.\n"
"Du brauchst einen Schlüssel um diesen Raum zu betreten.\n")
time.sleep(3)
lageplan()
j = input("Wohin willst du?").lower()
if j == "badezimmer":
if "ja" in besucht:
badezimmer1()
else:
badezimmer()
if j == "küche":
kueche()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
flur1()
def flur1():
inventory.append("lampe")
print("\n"
"(Du findest eine Lampe und steckst sie in dein Inventar)\n"
"Du stehst auf einem Flur.\n"
"Das Haus sieht alt und verlassen aus.\n"
"Doch plötzlich hörst du etwas...\n"
"Schritte vielleicht?\n")
d = input("Willst du im Schlafzimmer oder im Wohnzimmer nachsehen?").lower()
if d == "schlafzimmer":
schlafzimmer1()
if d == "wohnzimmer":
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
time.sleep(2)
flur1()
def flur():
print("Du bist nun auf dem Flur.\n")
f = input("Wohin willst du?").lower()
lageplan()
if f == "schlafzimmer":
schlafzimmer()
if f == "wohnzimmer":
wohnzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur()
def flur3():
print("Du bist nun auf dem Flur.\n")
if "schlüssel" in inventory:
q = input("Willst du die Türe öffnen?")
if q == "ja":
if "schlüssel" in inventory:
treppe()
else:
print("Du brauchst einen Schlüssel um diese Türe zu öffnen.\n")
if q == "nein":
time.sleep(3)
lageplan()
f = input("Wohin willst du?").lower()
if f == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur3()
else:
lageplan()
f = input("Wohin willst du?").lower()
if f == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur3()
def kueche():
print("Du bist nun in der Küche.\n"
"Von der schwarzen Gestalt ist nichts zu sehen.\n"
"Auf der Ablage liegt ein Messer.\n")
time.sleep(2)
p = input("Willst du das Messer aufheben? Es könnte sich später noch für Nützlich erweisen.\n")
if p == "ja":
inventory.append("messer")
if p == "nein":
print("ok")
kueche1()
def kueche1():
print("Du bist nun in der Küche.\n")
time.sleep(2)
lageplan()
x = input("Wohin willst du?").lower()
if x == "flur":
flur2()
if x == "wohnzimmer":
wohnzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
kueche()
def schlafzimmer():
print("Du bist nun im Schlafzimmer.\n")
e = input("Wohin willst du?").lower()
lageplan()
if e == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if e == "flur":
flur()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
schlafzimmer()
def wohnzimmer():
print("Du bist nun im Wohnzimmer.\n")
f = input("Wohin willst du?").lower()
lageplan()
if f == "flur":
flur()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
wohnzimmer()
def badezimmer2():
if "ja" in besucht:
badezimmer()
else:
print("Du bist nun im Badezimmer.\n")
e = input("Wohin willst du?").lower()
lageplan()
if e == "flur":
flur3()
if e == "schlafzimmer":
schlafzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
badezimmer()
def badezimmer():
print("Du bist nun im Badezimmer.\n")
if "schlüssel" != inventory:
w = input("Willst du den Schlüssel aufheben?").lower()
if w == "ja":
inventory.append("schlüssel")
else:
print("ok")
e = input("Wohin willst du?").lower()
lageplan()
if e == "flur":
flur3()
if e == "schlafzimmer":
schlafzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
badezimmer()
def badezimmer1():
besucht.append("ja")
print("Du öffnest die Türe zum Bad ganz leise.\n"
"Du hoffst, dass die schwarze Gestalt nichts gehört hat.\n"
"Etwas ängstlich betrittst du nun das Badezimmer.\n"
"Viel gibt es nicht zu sehen in diesem Badezimmer\n"
"Eine Toilette, ein Spiegel und eine Badewanne\n"
"Der Duschvorhang der Badewanne ist zu\n")
g = input("Willst du ihn öffnen?").lower()
if g == "ja":
schock()
if g == "nein":
badezimmer2()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
badezimmer1()
def schlafzimmer1():
print("\n"
"Du öffnest die Schlafzimmertüre langsam.\n"
"Die Türe aber knirscht und lässt sich nur schwer öffnen.\n"
"Nun betrittst du das alte und verlassene SChlafzimmer.\n"
"Du siehst dich etwas um.\n"
"Am Boden hinter dem Bett siehst du etwas.\n"
"Flecken viellei... HILFE!!!!!\n"
"Jemand schrie um Hilfe? Und die Flecken - es ist Blut!!\n")
a = input("Willst du flüchten oder dem Hilferuf folgen?").lower()
if a == "flüchten":
print("\n"
"Du entschliesst dich zu flüchten.\n"
"Du hast Todesangst\n")
Mord()
if a == "folgen":
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
schlafzimmer1()
def wohnzimmer1():
print("\n"
"Du gehst aufmerksam ins Wohnzimmer.\n"
"Du blickst umher.\n"
"Da links! Eine schwarze Gestalt steht im nächsten Zimmer!\n"
"Geschockt bleibst du stehen und planst dein weiteres Vorgehen.\n")
b = input("Willst du die Situation beobachten oder flüchten?").lower()
if b == "flüchten":
Mord()
if b == "beobachten":
print("\n"
"Schockiert erkennst du, dass die schwarze Gestalt ein Messer hat.\n"
"Sie lacht auf eine psychopathische Art und Weise und läuft umher.\n"
"Sucht sie etwas? Oder jemanden?\n"
"Mich vielleicht?\n"
"Es sieht so aus als würde sie im nächsten Raum verschwinden.\n")
time.sleep(5)
lageplan()
c = input("Wohin willst du?").lower()
if c == "flur":
flur()
if c == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
wohnzimmer1()
def treppe():
print("Du öffnest die Türe möglichst leise.\n"
"Zu deiner Erleichterung öffnet sich die Türe ruhig.\n"
"Vor dir siehst du eine Treppe.\n"
"Sie führt nach unten... in den Keller wahrscheinlich.\n")
k = input("Willst du den Keller betreten?")
if k == "ja":
keller1()
if k == "nein":
schlüssel = 1
flur3()
else:
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
treppe()
def keller1():
print("Schleichend gehst du die dunkle, alte Treppe hinunter\n"
"Zu deinem Pech knirscht das alte Holz unter deinen Füssen\n"
"Unten angekommen siehst du dich etwas um.\n"
"Ein Schrank, ein altes Bett und viele alte Schachteln stehen herum.\n"
"Ein komischer Geruch kommt dir in die Nase...\n"
"...woher der wohl kommen mag?\n"
"Aus dem Schranz läuft etwas heraus...\n"
"...wegen der Dunkelheit erkennst du nicht wases ist.\n")
l = input("Willst du im Schrank nachschauen?").lower()
if l == "ja":
schrank1()
if l == "nein":
schrank2()
def schrank2():
print(
"Du hörst plötzlich ein Lachen.\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
o = input("Wo willst du dich verstecken?\n"
"Hinter den Schachteln oder unter dem Bett?").lower()
if o == "bett":
bett()
if o == "schachteln":
schachteln()
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
schrank2()
def schrank1():
print("Du öffnest den Schrank.\n"
"AHHHHHH!! Eine Leiche!! Und Blut! Überall Blut!!\n"
"Als wäre das nicht schon genug, hörst du plötzlich ein Lachen\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
m = input("Wo willst du dich verstecken?\n"
"Im Schrank, hinter den Schachteln oder unter dem Bett?\n").lower()
if m == "schrank":
schrank()
if m == "bett":
bett()
if m == "schachteln":
schachteln()
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
schrank1()
def schrank():
print("Du hast entschieden dich im Schrank zu verstecken.\n"
"In dem Schrank in dem auch die Leiche ist.\n"
"Ob das wohl die Richtige entscheidung war?\n")
ende1()
def bett():
print("Du hast dich für das Bett entschieden\n"
"Unter dem Bett liegt ein Teppich\n"
"Ob da wohl etwas darunter ist, dass versteckt werden muss?\n")
ende2()
def schachteln():
print("Du hast dich für die Schachteln entschieden\n"
"Du machst dich so klein wie möglich und hoffst nicht entdeckt zu werden\n"
"Durch einen Spalt bei den Schachteln siehst du auf das Bett\n"
"Darunter fällt dir ein Teppich auf.\n"
"Es sieht aus als wäre darunter etwas versteckt.\n")
ende3()
def ende1():
print("Du drückst dich an den Schrank und bist so leise wie nur möglich.\n"
"Du hörst wie die schwarze Gestalt immer und immer näher kommt.\n"
"Sie lacht laut und sucht dich überall.\n"
"Sie kommt näher zum Schrank mit dem Messer voran.\n"
"Dann bleibt sie stehen.\n"
"Langsam öffnet sie die Schranktür.\n"
"Du blickst ihr direkt in die Augen.\n"
"Du schreist aber sie zeigt keine Gnade und ersticht dich kaltblütig.\n")
gameover()
def ende2():
print("Die schwarze Gestalt ist im Keller.\n"
"Du hast Todesangst. Sie sucht dich überall.\n"
"Du erinnerst dich an das Messer welches du im Badezimmer gefunden hast.\n")
n = input("Willst du mit dem Messer den Teppich aufschneiden?")
if n == "ja":
if "messer" in inventory:
inventory.remove("messer")
flucht()
else:
mord2()
if n == "nein":
print("Du hast keine andere wahl. Schneide den Teppich auf!!!")
ende2()
else:
print("Antworte bitte mit ja oder nein.")
ende2()
def ende3():
print("Du hörst wie die schwarze Gestalt den Keller betretet.\n"
"Voller Angst überlegst du wie du flüchten könntest.\n"
"Die schwarze Gestalt sucht dich überall.\n"
"Sie kommt langsam aber stetig immer näher zu den Schachteln.\n"
"Als die schwarze Gestalt einen kurzen Moment weg schaut,\n"
"läufst du so schnell du kannst zum Bett und versteckst dich dort\n")
ende2()
def mord2():
print("Du hast kein Messer in deinem Rucksack.\n"
"Da du das Messer ohne Erfolg gesucht hast,\n"
"wurde die schwarze Gestalt auf dich aufmerksam.\n"
"Sie kommt immer näher in Richtung Bett und du hast\n"
"keine Möglichkeit mehr dich zu verstecken.\n"
"Die schwarze Gestalt zieht das Bett weg und sieht dir tief in die Augen.\n"
"Du schaust sie hilfeschreiend an aber das ist ihr egal.\n"
"Sie lacht laut los und sticht dir langsam mit dem Messer in die Brust.\n"
"Du verlierst das Bewusstsein und das letzte was du noch hörst,\n"
"ist das psychopathische Lachen.\n")
gameover()
def flucht():
print("Unter dem Teppich ist tatsächlich etwas.\n"
"Eine geheime Öffnung im Boden!! Vielleicht ein Weg der hier weg führt?\n"
"Du Öffnest die Falltüre und springst nach unten.\n"
"Tatsächlich! Es sieht aus wie ein langer Gang\n"
"Das Problem ist nur... es ist stock dunkel.\n")
o = input("Nimm deine Lampe und zünde sie an! (lampe nehmen)\n")
if o == "lampe nehmen":
inventory.remove("lampe")
print("Du siehst nun genug für deine Flucht!\n")
wegvonhier()
else:
print("Dieser Befehl kenne ich leider nicht :/\n"
"Bitte erneut versuchen.\n")
def wegvonhier():
print("Hinter dir hörst du schonwieder das Lachen der schwarzen Gestalt.\n"
"Du rennst so schnell du kannst!\n"
"Es ist kalt und nass in diesem Tunnel aber dir bleibt nichts anderes übrig.\n"
"Hier! Eine Leiter!\n"
"Du steigst die Leiter nach oben und öffnest die Falltüre.\n"
"Die schwarze Gestalt kommt immer näher!\n"
"Du kletterst hinaus und schliesst die Türe wieder.\n")
glückwunsch()
def glückwunsch():
print("Gratuliere!!! Du hast die Nacht überlebt und einen Ausweg aus dem Haus gefunden!\n"
"Du bist nun in einem Wald.\n"
"Nach langem umherirren hast du ein Dorf gefunden.\n"
"Die Leute dort waren sehr freundlich und haben dich zurück zu deinem Haus gebracht.\n"
"Zuhause hast du alles der Polizei erzählt.\n"
"Als die Polizei ankam war das Haus nicht mehr dort.\n"
"Ein Berg aus SChutt und Asche ist übrig geblieben.\n"
"Die schwarze Gestalt wurde bis heute nicht gefunden.\n")
abspann()
def main():
cover()
regeln()
einfuehrung()
grundriss()
Eintreten()
main()

View File

@ -0,0 +1,820 @@
import time
global inventory
inventory = []
global besucht
besucht = []
def cover():
print("""
---------------------------------------------------------------------
""")
time.sleep(1)
def gameover():
print("""
--------------------------------------------------------------------------
""")
def regeln():
print("Bevor wir starten, ein paar Anmerkungen.\n"
"Bitte alles was du schreibst IMMER in Kleibuchstaben verfassen.\n"
"Es wird immer MAXIMAL ein Wort benötigt.\n"
"Du hast einen Rucksack dabei, in dem du Dinge mitnehmen kannst.\n")
time.sleep(1)
def einfuehrung():
print("Es ist Freitag Nacht...\n"
"Du hast dich verlaufen und bist auf der Suche nach einer Unterkunft\n"
"für die kommende Nacht.\n"
"Du bist ganz auf dich alleine gestellt.\n"
"Wenn du nicht aufpasst, wirst du sterben.\n"
"Sei vorsichtig und überlege dir jede Entscheidung gut.\n"
"Es gibt kein Zurück!!\n"
"Du bist ganz alleine an einer abgelegener Strasse.\n"
"Es stürmt und ist eiskalt.\n"
"Plötzlich kommst du zu einem alten Haus.\n"
"Es sieht unheimlich aus.\n")
time.sleep(1)
def grundriss():
print ("""
DU BIST HIER
|
__________ ____|______ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____| Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|_ ____
| |
| Keller |
| |
|_________ __|
""")
time.sleep(1)
def lageplan():
print("""
_______ ___________ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____|Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|______
| |
| Keller |
| |
|____________|
""")
def abspann():
print("""
""")
def Eintreten():
aktion = input('Willst Du eintreten oder weglaufen?').lower()
if aktion == 'eintreten':
flur1()
elif aktion == 'weglaufen':
print("\n"
"Du läufst davon voller Angst... \n"
"Doch schon nach kurzer Zeit wird dir bewusst...\n"
"Du musst zurück wenn du diese Nacht überleben willst.\n")
time.sleep(1)
Eintreten()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
Eintreten()
def Mord():
print("\n"
"Du rennst so schnell du kannst zum Flur. \n"
"Du willst die Türe aufreissen und weglaufen.\n"
"Doch die Türe ist verschlossen!\n"
"Plötzlich spürst du das jemand hinter dir steht... \n"
"...du drehst langsam deinen Kopf\n"
"Die schwarze Gestalt steht hinter dir!\n"
"Sie ist voller Blut und lacht laut und bevor du reagieren kannst...\n"
"...sticht sie dir ein Messer kaltblütig in die Brust!\n")
time.sleep(5)
gameover()
def schock():
print("Du öffnest neugierig den Duschvorhang.\n"
"Die Badewanne.. sie.. sie ist.. voller Blut!\n"
"Du schreist und hast Angst. Du willst nur noch weg hier!\n"
"Doch nach kurzer Zeit fällt dir neben der Wanne etwas auf...\n"
"...ist das ein Schlüssel?")
h = input('Schlüssel aufheben oder liegen lassen?').lower()
if h == "aufheben":
inventory.append("schlüssel")
badezimmer()
if h == "lassen":
badezimmer()
else:
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
time.sleep(2)
schock()
def flur2():
print("Du stehst erneut auf einem Flur...\n"
"Er sieht aber anderst aus als der beim Hauseingang.\n"
"Deutlich düsterer... und eine Tür die in einen anderen Raum führt.\n"
"In den Keller vielleicht?\n")
i = input("Willst du die Türe öffnen?").lower()
if i == "nein":
flur3()
if i == "ja":
if "schlüssel" in inventory:
inventory.remove("schlüssel")
treppe()
else:
print("Die Türe scheint verschlossen zu sein.\n"
"Du brauchst einen Schlüssel um diesen Raum zu betreten.\n")
time.sleep(3)
lageplan()
j = input("Wohin willst du?").lower()
if j == "badezimmer":
if "ja" in besucht:
badezimmer1()
else:
badezimmer()
if j == "küche":
kueche()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
flur1()
def flur1():
inventory.append("lampe")
print("\n"
"(Du findest eine Lampe und steckst sie in dein Inventar)\n"
"Du stehst auf einem Flur.\n"
"Das Haus sieht alt und verlassen aus.\n"
"Doch plötzlich hörst du etwas...\n"
"Schritte vielleicht?\n")
d = input("Willst du im Schlafzimmer oder im Wohnzimmer nachsehen?").lower()
if d == "schlafzimmer":
schlafzimmer1()
if d == "wohnzimmer":
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
flur1()
def flur():
print("Du bist nun auf dem Flur.\n")
f = input("Wohin willst du?").lower()
lageplan()
if f == "schlafzimmer":
schlafzimmer()
if f == "wohnzimmer":
wohnzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur()
def flur3():
print("Du bist nun auf dem Flur.\n")
if "schlüssel" in inventory:
q = input("Willst du die Türe öffnen?")
if q == "ja":
if "schlüssel" in inventory:
treppe()
else:
print("Du brauchst einen Schlüssel um diese Türe zu öffnen.\n")
if q == "nein":
time.sleep(3)
lageplan()
f = input("Wohin willst du?").lower()
if f == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur3()
else:
lageplan()
f = input("Wohin willst du?").lower()
if f == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
flur3()
def kueche():
print("Du bist nun in der Küche.\n"
"Von der schwarzen Gestalt ist nichts zu sehen.\n"
"Auf der Ablage liegt ein Messer.\n")
time.sleep(2)
p = input("Willst du das Messer aufheben? Es könnte sich später noch für Nützlich erweisen.\n")
if p == "ja":
inventory.append("messer")
if p == "nein":
print("ok")
kueche1()
def kueche1():
print("Du bist nun in der Küche.\n")
time.sleep(2)
lageplan()
x = input("Wohin willst du?").lower()
if x == "flur":
flur2()
if x == "wohnzimmer":
wohnzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
kueche()
def schlafzimmer():
print("Du bist nun im Schlafzimmer.\n")
e = input("Wohin willst du?").lower()
lageplan()
if e == "badezimmer":
if "ja" in besucht:
badezimmer()
else:
badezimmer1()
if e == "flur":
flur()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
schlafzimmer()
def wohnzimmer():
print("Du bist nun im Wohnzimmer.\n")
f = input("Wohin willst du?").lower()
lageplan()
if f == "flur":
flur()
if f == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
wohnzimmer()
def badezimmer():
print("Du bist nun im Badezimmer.\n")
if "schlüssel" != inventory:
w = input("Willst du den Schlüssel aufheben?").lower()
if w == "ja":
inventory.append("schlüssel")
else:
print("ok")
e = input("Wohin willst du?").lower()
lageplan()
if e == "flur":
flur3()
if e == "schlafzimmer":
schlafzimmer()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
badezimmer()
def badezimmer1():
besucht.append("ja")
print("Du öffnest die Türe zum Bad ganz leise.\n"
"Du hoffst, dass die schwarze Gestalt nichts gehört hat.\n"
"Etwas ängstlich betrittst du nun das Badezimmer.\n"
"Viel gibt es nicht zu sehen in diesem Badezimmer\n"
"Eine Toilette, ein Spiegel und eine Badewanne\n"
"Der Duschvorhang der Badewanne ist zu\n")
g = input("Willst du ihn öffnen?").lower()
if g == "ja":
schock()
if g == "nein":
badezimmer()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
badezimmer1()
def schlafzimmer1():
print("\n"
"Du öffnest die Schlafzimmertüre langsam.\n"
"Die Türe aber knirscht und lässt sich nur schwer öffnen.\n"
"Nun betrittst du das alte und verlassene SChlafzimmer.\n"
"Du siehst dich etwas um.\n"
"Am Boden hinter dem Bett siehst du etwas.\n"
"Flecken viellei... HILFE!!!!!\n"
"Jemand schrie um Hilfe? Und die Flecken - es ist Blut!!\n")
a = input("Willst du flüchten oder dem Hilferuf folgen?").lower()
if a == "flüchten":
print("\n"
"Du entschliesst dich zu flüchten.\n"
"Du hast Todesangst\n")
Mord()
if a == "folgen":
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
schlafzimmer1()
def wohnzimmer1():
print("\n"
"Du gehst aufmerksam ins Wohnzimmer.\n"
"Du blickst umher.\n"
"Da links! Eine schwarze Gestalt steht im nächsten Zimmer!\n"
"Geschockt bleibst du stehen und planst dein weiteres Vorgehen.\n")
b = input("Willst du die Situation beobachten oder flüchten?").lower()
if b == "flüchten":
Mord()
if b == "beobachten":
print("\n"
"Schockiert erkennst du, dass die schwarze Gestalt ein Messer hat.\n"
"Sie lacht auf eine psychopathische Art und Weise und läuft umher.\n"
"Sucht sie etwas? Oder jemanden?\n"
"Mich vielleicht?\n"
"Es sieht so aus als würde sie im nächsten Raum verschwinden.\n")
time.sleep(5)
lageplan()
c = input("Wohin willst du?").lower()
if c == "flur":
flur()
if c == "küche":
kueche()
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
wohnzimmer1()
else:
print("Dieser Befgehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
time.sleep(2)
wohnzimmer1()
def treppe():
print("Du öffnest die Türe möglichst leise.\n"
"Zu deiner Erleichterung öffnet sich die Türe ruhig.\n"
"Vor dir siehst du eine Treppe.\n"
"Sie führt nach unten... in den Keller wahrscheinlich.\n")
k = input("Willst du den Keller betreten?")
if k == "ja":
keller1()
if k == "nein":
schlüssel = 1
flur3()
else:
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
treppe()
def keller1():
print("Schleichend gehst du die dunkle, alte Treppe hinunter\n"
"Zu deinem Pech knirscht das alte Holz unter deinen Füssen\n"
"Unten angekommen siehst du dich etwas um.\n"
"Ein Schrank, ein altes Bett und viele alte Schachteln stehen herum.\n"
"Ein komischer Geruch kommt dir in die Nase...\n"
"...woher der wohl kommen mag?\n"
"Aus dem Schranz läuft etwas heraus...\n"
"...wegen der Dunkelheit erkennst du nicht wases ist.\n")
l = input("Willst du im Schrank nachschauen?").lower()
if l == "ja":
schrank1()
if l == "nein":
schrank2()
def schrank2():
print(
"Du hörst plötzlich ein Lachen.\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
o = input("Wo willst du dich verstecken?\n"
"Hinter den Schachteln oder unter dem Bett?").lower()
if o == "bett":
bett()
if o == "schachteln":
schachteln()
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
schrank2()
def schrank1():
print("Du öffnest den Schrank.\n"
"AHHHHHH!! Eine Leiche!! Und Blut! Überall Blut!!\n"
"Als wäre das nicht schon genug, hörst du plötzlich ein Lachen\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
m = input("Wo willst du dich verstecken?\n"
"Im Schrank, hinter den Schachteln oder unter dem Bett?\n").lower()
if m == "schrank":
schrank()
if m == "bett":
bett()
if m == "schachteln":
schachteln()
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
schrank1()
def schrank():
print("Du hast entschieden dich im Schrank zu verstecken.\n"
"In dem Schrank in dem auch die Leiche ist.\n"
"Ob das wohl die Richtige entscheidung war?\n")
ende1()
def bett():
print("Du hast dich für das Bett entschieden\n"
"Unter dem Bett liegt ein Teppich\n"
"Ob da wohl etwas darunter ist, dass versteckt werden muss?\n")
ende2()
def schachteln():
print("Du hast dich für die Schachteln entschieden\n"
"Du machst dich so klein wie möglich und hoffst nicht entdeckt zu werden\n"
"Durch einen Spalt bei den Schachteln siehst du auf das Bett\n"
"Darunter fällt dir ein Teppich auf.\n"
"Es sieht aus als wäre darunter etwas versteckt.\n")
ende3()
def ende1():
print("Du drückst dich an den Schrank und bist so leise wie nur möglich.\n"
"Du hörst wie die schwarze Gestalt immer und immer näher kommt.\n"
"Sie lacht laut und sucht dich überall.\n"
"Sie kommt näher zum Schrank mit dem Messer voran.\n"
"Dann bleibt sie stehen.\n"
"Langsam öffnet sie die Schranktür.\n"
"Du blickst ihr direkt in die Augen.\n"
"Du schreist aber sie zeigt keine Gnade und ersticht dich kaltblütig.\n")
gameover()
def ende2():
print("Die schwarze Gestalt ist im Keller.\n"
"Du hast Todesangst. Sie sucht dich überall.\n"
"Du erinnerst dich an das Messer welches du im Badezimmer gefunden hast.\n")
n = input("Willst du mit dem Messer den Teppich aufschneiden?")
if n == "ja":
inventory.remove("messer")
flucht()
if n == "nein":
print("Du hast keine andere wahl. Schneide den Teppich auf!!!")
ende2()
else:
print("Antworte bitte mit ja oder nein.")
ende2()
def ende3():
print("Du hörst wie die schwarze Gestalt den Keller betretet.\n"
"Voller Angst überlegst du wie du flüchten könntest.\n"
"Die schwarze Gestalt sucht dich überall.\n"
"Sie kommt langsam aber stetig immer näher zu den Schachteln.\n"
"Als die schwarze Gestalt einen kurzen Moment weg schaut,\n"
"läufst du so schnell du kannst zum Bett und versteckst dich dort\n")
ende2()
def flucht():
print("Unter dem Teppich ist tatsächlich etwas.\n"
"Eine geheime Öffnung im Boden!! Vielleicht ein Weg der hier weg führt?\n"
"Du Öffnest die Falltüre und springst nach unten.\n"
"Tatsächlich! Es sieht aus wie ein langer Gang\n"
"Das Problem ist nur... es ist stock dunkel.\n")
o = input("Nimm deine Lampe und zünde sie an! (lampe nehmen)\n")
if o == "lampe nehmen":
inventory.remove("lampe")
print("Du siehst nun genug für deine Flucht!\n")
wegvonhier()
else:
print("Dieser Befehl kenne ich leider nicht :/\n"
"Bitte erneut versuchen.\n")
def wegvonhier():
print("Hinter dir hörst du schonwieder das Lachen der schwarzen Gestalt.\n"
"Du rennst so schnell du kannst!\n"
"Es ist kalt und nass in diesem Tunnel aber dir bleibt nichts anderes übrig.\n"
"Hier! Eine Leiter!\n"
"Du steigst die Leiter nach oben und öffnest die Falltüre.\n"
"Die schwarze Gestalt kommt immer näher!\n"
"Du kletterst hinaus und schliesst die Türe wieder.\n")
glückwunsch()
def glückwunsch():
print("Gratuliere!!! Du hast die Nacht überlebt und einen Ausweg aus dem Haus gefunden!\n"
"Du bist nun in einem Wald.\n"
"Nach langem umherirren hast du ein Dorf gefunden.\n"
"Die Leute dort waren sehr freundlich und haben dich zurück zu deinem Haus gebracht.\n"
"Zuhause hast du alles der Polizei erzählt.\n"
"Als die Polizei ankam war das Haus nicht mehr dort.\n"
"Ein Berg aus SChutt und Asche ist übrig geblieben.\n"
"Die schwarze Gestalt wurde bis heute nicht gefunden.\n")
abspann()
def main():
cover()
regeln()
einfuehrung()
grundriss()
Eintreten()
main()

582
TextAdventure/B737MAX Crash.py Executable file
View File

@ -0,0 +1,582 @@
import time
import random
global stepscount
stepscount = 0
inventory = []
done = []
visited = []
global goahead
goahead = 0
def cover():
print("""
______ ______ ______ ______ _______ _______ _____
( ___ \ / ___ \ / ___ \ / ___ \ ( )( ___ )|\ /| / ___ \
| ( ) )\/ ) )\/ \ \\/ ) )| () () || ( ) |( \ / ) ( (___) )
| (__/ / / / ___) / / / | || || || (___) | \ (_) / \ /
| __ ( / / (___ ( / / | |(_)| || ___ | ) _ ( / ___ \
| ( \ \ / / ) \ / / | | | || ( ) | / ( ) \ ( ( ) )
| )___) ) / / /\___/ / / / | ) ( || ) ( |( / \ ) ( (___) )
|/ \___/ \_/ \______/ \_/ |/ \||/ \||/ \| \_____/
_______ _______ _______ _______
( ____ \( ____ )( ___ )( ____ \|\ /|
| ( \/| ( )|| ( ) || ( \/| ) ( |
| | | (____)|| (___) || (_____ | (___) |
| | | __)| ___ |(_____ )| ___ |
| | | (\ ( | ( ) | ) || ( ) |
| (____/\| ) \ \__| ) ( |/\____) || ) ( |
(_______/|/ \__/|/ \|\_______)|/ \|
""")
time.sleep(2)
print("""
DIES BASIERT AUF EINER WAHREN TATSACHE. DIE SPIELELEMENTE SIND VEREINFACHT UND TEILS
UNREALISTISCH DARGESTELLT. WICHTIGE DETAILS WERDEN ZUR EINFACHEREN VERSTÄNDLICHKEIT
WEGGELASSEN. DER ERMITTLUNGSPROZESS IST IN WIRKLICHKEIT EINE UNGEHEURLICH SCHWIERIGE
AUFGABE UND WIRD HIER AUF EIN MÖGLICHST ÜBERSCHAUBARES MASS GEKÜRZT.
""")
time.sleep(5)
go = 0
while go == 0:
a = userinput("Tippe folgendes ein, wenn du bereit bist: ok | ")
if a == "ok":
go = 1
else:
print("wrong, retry")
global start
start = time.time()
def gameoverpossible():
global start
if "grounding" not in done:
current = time.time() - start
if current < 120:
gameover1()
elif current < 180 and current > 119:
gameover2()
elif current < 240 and current > 179:
gameover3()
elif current < 300 and current > 239:
gameover()
else:
current = time.time()
def gameover1():
if random.randint(0,10) == 1:
gameover()
else:
current = time.time()
def gameover2():
if random.randint(0,6) == 1:
gameover()
else:
current = time.time()
def gameover3():
if random.randint(0,3) == 1:
gameover()
else:
current = time.time()
def gameover():
global next
next = 0
global exit
exit = 0
print("""
NEW YORK TIMES
DIE KATASTROPHE
---------------------------------
Heute morgen gegen 7 Uhr ist eine Boeing 737 MAX 8 der United Airlines abgestürzt.
Alle 178 Menschen an Bord der Maschine sind bei dem fast senkrechten Absturz der
Maschine gestorben. Der Unfall ähnelt den beiden bisherigen Abstürzen von 737 MAX
in Ethiopien und Indonesien in vielerlei Hinsicht. Auch hier war die Maschine
senkrecht abgestürzt, auch hier wollten die Piloten umkehren und meldeten Probleme
mit der Flugsteuerung. Die Ermittler dieses Falles werden sich morgen früh für ihre
langsame Arbeit für den Tod der 178 Menschen verantworten, da sie kein Weltweites
Flugverbot für die 737 MAX ausgesprochen hatte.
---------------------------------
Oh weh.
Das wird einige Konsequenzen für dich nach sich ziehen.
""")
time.sleep(4)
print("""
Es ist der nächste Morgen. Du machst dich auf zum Gericht.
Die Richter entziehen den Fall deiner Verantwortung und verurteilen dich zu
lebenslänglicher Haft, aufgrund von fahrlässiger Tötung. Das ist das Ende deiner
Karriere.
""")
print("Punktezahl: 10000000000000000000000000000000000000000000000000000")
def einfuehrung():
print("""Es ist Samstagmorgen... Urplötzlich stürzt eine fast brandneue Boeing 737MAX
von Ethiopian Airlines ab. Die Welt ist schockiert, da dies bereits der zweite Absturz dieses
Typs ist. Beides Mal waren fast brandneue Flugzeuge involviert. Beide Abstürze ähnelten sich
massiv. Deine Aufgabe ist es nun, die Absturze zu klären.""")
print("""
Als neu ernannter Ermittler musst du dir bereits jetzt eine wichtige Frage stellen:
Solltest du ein weltweites Flugverbot für diesen Flugzeugtypen verhängen?
Sowohl Boeing als auch die Fluggesellschaften werden sich dagegen sträuben.
""")
i = userinput("Willst du das Flugverbot verhängen? (y/n)")
if i == "y":
print("""
NEW YORK TIMES
NTSB ERMITTLER VERHÄNGT FLUGVERBOT FÜR UNGLÜCKSFLIEGER
--------------------------------------------------------------
Heute Morgen hat ein Sprecher des NTSB (National Transport and Safety Board verkündet,
dass der leitende Ermittler ein Flugverbot für alle Flugzeuge der Boeing 737MAX-Klasse
zu verhängen. Dies ist auf massive Proteste seitens der Fluggesellschaften und von Boeing
gestossen. Jedoch: Viele Aviatikexperten befürworten den Entscheid des Ermittlers. Die
Sicherheit der Passagiere muss um jeden Preis gewährleistet werden. Die einzige Möglichkeit
dies zu gewährleisten ist, ein Flugverbot auszusprechen.
""")
done.append("grounding")
elif i == "n":
print("""
Die Wirtschaft ist wichtig, ein Pilotenfehler kann ja nicht ausgeschlossen werden.
Ermitteln wir!
""")
else:
print("wrong, retry")
einfuehrung()
time.sleep(4)
def grundriss():
if "grounding" in done:
print("""
_________________________________________________________________________________________________________
Willkommen im Ermittlerbüro.
Dies ist dein Arbeitsplatz an der Unfallstelle. Die Welt will Antworten und Boeing
braucht sie, um das Flugzeug zu verbessern. Der Zeitdruck ist aber geringer, da keine
weiteren Abstürze geschehen können.
Hier kannst du alle Gegenstände, welche du auf der Unfallstelle finden kannst
untersuchen, um die mögliche Unfallursache herauszufinden.
""")
else:
print("""
_________________________________________________________________________________________________________
Willkommen im Ermittlerbüro.
Dies ist dein Arbeitsplatz an der Unfallstelle. Du solltest dich so schnell wie
möglich um diesen Fall kümmern, denn sonst könnte es zu weiteren Abstürzen kommen.
Hier kannst du alle Gegenstände, welche du auf der Unfallstelle finden kannst
untersuchen, um die mögliche Unfallursache herauszufinden.
""")
def abspann():
print("""
DU HAST ES GESCHAFFT!
GLÜCKWUNSCH!
""")
global start
global stepscount
times = time.time() - start
points = times*2 + stepscount**2 - 110
if points < 0:
print("Deine Zeit: ",times)
print("\n\nDeine Punkte (Je geringer desto besser): 0")
print("\nDeine Anzahl Schritte (Je geringer desto besser):", stepscount)
else:
print("Deine Zeit: ",times)
print("\n\nDeine Punkte (Je geringer desto besser): ",points)
print("\nDeine Anzahl Schritte (Je geringer desto besser):", stepscount)
bewertung(points)
def bewertung(punkte):
print("""
DEINE BEWERTUNG:""")
if punkte <= 0:
print(""" GOD """)
if punkte < 20:
print(""" A+ """)
elif punkte < 40:
print(""" A """)
elif punkte < 100:
print(""" B """)
elif punkte < 200:
print(""" C """)
elif punkte < 301:
print(""" D """)
elif punkte > 300:
print(""" D- """)
def userinput(question):
return input(question).lower()
def makedone(item):
inventory.remove(item)
done.append(item)
def eb():
global goahead
global stepscount
stepscount += 1
print("""Du befindest dich jetzt im Ermittlerbüro.
""")
while len(inventory) > 0:
stepscount += 1
if "blackbox" in inventory:
makedone("blackbox")
print("""Da du ja jetzt die Blackbox des Flugzeugs gefunden hast,
kannst du sie hier im Ermittlerbüro aufmachen und die Flugdaten auslesen.
Dies dauert jedoch eine gewisse Zeit. Du öffnest ihn und hoffst, dass einer
deiner Spezialisten die Daten retten kann.""")
time.sleep(7)
print("""Dein Spezialist hat es geschafft! Die Daten konten wiederhergestellt werden!
Du siehst eine Auffälligkeit in den Daten der Flughöhe und der vertikalen Geschwindigkeit.
Dies deutet auf massive technische Probleme hin. Auch die Daten des Anstellwinkelsensors 1,
sind auffällig: Er hatte die ganze Zeit denselben Anstellwinkel angezeigt.
""")
if "anstellwinkelsensor" in inventory:
print("""Glücklicherweise hast du ihn bereits auf dem Trümmerfeld entdeckt.
Du untersuchst ihn nun.""")
goahead = 1
elif "anstellwinkelsensor" in done:
print("""Du hast ihn ja bereits untersucht. """)
goahead = 1
else:
print("""Du solltest dich vielleicht nach dem Sensor umsehen.""")
elif "anstellwinkelsensor" in inventory:
makedone("anstellwinkelsensor")
print("""Da du ja zuvor den Anstellwinkelsensor des Flugzeugs gefunden hast,
kannst du ihn jetzt auf Schäden überprüfen. Du untersuchst die Ströme, welche der
Sensor bei Bewegung ausgibst und machst eine Entdeckung:
ER FUNKTIONIERT NICHT!
Logischerweise könnte er auch durch den Aufprall beschädigt sein, """)
if "blackbox" in done:
print("""aber die Blackbox bestätigt ja den Ausfall des Sensors.
Du bist der Ursache auf der Spur. Glückwunsch!""")
goahead = 1
inventory.clear()
else:
print("""du solltest deshalb die Blackbox finden, um den Ausfall zu
bestätigen.
""")
print("\n")
elif "turbine" in inventory:
print("""Du hast eine der beiden Turbinen in das Büro transportieren lassen.
Als mögliche Absturzursache hast du Triebwerksversagen im Verdacht. Beim Betrachten
der Triebwerke erkennst du aber an der Verformung der Schaufeln und dem Dreck
in der Turbine selbst, also im Kompressor, dass sie voll funktionstüchtig war.
Somit kann ein Absturz durch Triebwerksversagen ausgeschlossen werden.
Denn ein modernes Flugzeug kann auch mit nur einem Triebwerk problemlos fliegen.""")
makedone("turbine")
elif "zeugen" in inventory:
makedone("zeugen")
print("""Du hast ja auch bereits die Zeugen befragt. Du schaust dir deine
Notizen lange an, kannst aber nichts erkennen, was dir für den Fall helfen könnte.
Du verwirfst die Aussagen als nicht aussagekräftig.""")
time.sleep(5)
if goahead == 1:
global exit
exit = 1
stepscount += 1
print("""Du wendest dich nun den Pilotenakten zu. Der Kapitän hatte beachtliche
8000 Flugstunden und soweit du erkennen magst, auch keine bekannten Probleme. Auch die
(kurze) Karriere des Copiloten war makellos, er hatte jedoch nur 200 Flugstunden.
Die Piloten hatten beim Kontakt mit dem Tower Probleme gemeldet und zur Umkehr
gebeten. Dies bestätigte auch der Stimmenrekorder. Deine Aufmerksamkeit fällt auf
das als Manouvering Caracteristics Augumentation System, oder kurz MCAS, welches eigentlich
einen Strömungsabriss verhindern sollte, aber, aufgrund der Architektur der 737-Familie,
nur mit einem der redundanten Anstellwinkelsensoren verbunden war.""")
time.sleep(10)
print("""Des weiteren:
Zwei Sensoren sind einer zu wenig, denn falls jetzt einer ausfallen sollte, welcher
sollte verwendet werden? Das MCAS hatte hier schlicht weg keine Chance, vernüftig
zu handeln und hatte das Flugzeug in einen Sturzflug gezwungen, da der Anstellwinkelsensor
einen zu hohen Anstellwinkel gemeldet hatte. Das Flugzeug war jedoch gar nicht in jener Lage und
die Piloten kämpften vergeblich gegen das System, welches sich nicht abschalten liess.
Denn durch die grösseren und Effizienteren Triebwerke (LEAP 1A) der 737MAX, mussten diese
weiter vorne und höher unter dem Flügel angebracht werden, um genügend Bodenfreiheit zu
gewährleisten. Dies hatte dazu geführt, dass bei dem schon sehr alten Flugzeug das sogenannte
Pitch-Up moment grösser wurde und somit die Nase des Flugzeugs in gewissen Fluglagen
unkontrolliert nach oben gehen kann. Das MCAS sollte dies verhindern, denn diese Fluglage
führt unweigerlich zu einem Strömungsabriss, bei welchem das Flugzeug sogesagt "vom Himmel
fallen würde".""")
time.sleep(10)
if "grounding" in done:
stepscount -= 2
print("""
Nachdem du ja glücklicherweise bereits bei Ermittlungsbeginn das Grounding des Typs andgeordnet hattest.
Die Fluggesellschaften und Boeing hatten zwar nicht sehr positiv darauf reagiert, aber mit dem was
du herausgefunden hattest, sind jetzt alle froh, dass du es getan hattest.
Die 737 MAX war anschliessend bis im Dezember 2020 gegroundet und Boeing fuhr durch dieses Problem
massive Verluste ein.
""")
else:
stepscount += 10
print("""
Alle sind schockiert, dass du nicht bereits bei Ermittlungsbeginn ein Grounding angeordnet hattest.
Boeing und auch die Fluggesellschaften fanden es zwar erst besser, aber auch sie sind jetzt der Meinung,
dass es besser gewesen wäre, wenn du bereits da ein Grounding angeordnet hättest. Deine Haltung davon ist
zwar verständlich, aber du wirst trotzdem zur Verantwortung gezogen. Du musst eine Haftstrafe von einem
Jahr absitzen, da du viele Personen in Gefahr gebracht hast. Trotzdem, der Fall ist geklärt.
""")
return 0
else:
print("""Um etwas untersuchen zu können, musst du erst etwas in dein Inventar nehmen,
dann hier zurückkehren. Gehe dazu hinaus auf die Unfallstelle.
Auch da könnten sich wichtige Hinweise verstecken.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (f), zum Heck (h) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "f":
return 2
if i == "h":
return 3
if i == "z":
return 5
def fl():
global stepscount
stepscount += 1
if "flügel" in visited:
print("""Du hast den Flügel bereits untersucht.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Heck (h), zum Büro (b) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "b":
return 1
if i == "h":
return 3
if i == "z":
return 5
else:
print("wrong, retry")
return 2
else:
print("""
Der Flügel. Komplett zertrümmert. Er scheint in einem beinahe 90° Winkel
aufgeschlagen zu sein. Du und dein Team finden eine der beiden Turbinen. Du lässt
sie in dein Büro transportieren, um sie dort zu untersuchen. Du kannst entweder
in dein Büro gehen oder weitersuchen.""")
i = userinput("Willst du zurück? (y/n)")
inventory.append("turbine")
visited.append("flügel")
time.sleep(2)
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Heck (h) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "h":
return 3
if i == "z":
return 5
else:
print("wrong, retry")
return 2
def hk():
global stepscount
stepscount += 1
if "heck" in visited:
print("""Du hast das Heck bereits untersucht.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (f), zum Büro (b) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "b":
return 1
if i == "f":
return 2
if i == "z":
return 5
else:
print("wrong, retry")
return 3
else:
print("""
Du entdeckst etwas, das wie das Seitenleitwerks des Flugzeugs aussehen könnte.
Dein grösstes Ziel ist, die Blackbox zu finden. Du hebst Teile an, und plötzlich siehst du sie:
Die Blackbox. Du hebst sie auf und lässt sie in dein Büro bringen. """)
inventory.append("blackbox")
time.sleep(1)
visited.append("heck")
i = userinput("Willst du zurück? (y/n)")
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (f) oder willst du Zeugen befragen (z)? ")
if i == "c":
return 4
if i == "f":
return 2
if i == "z":
return 5
else:
print("wrong, retry")
return 3
def zg():
global stepscount
stepscount += 1
if "zeugen" in visited:
print("""Du hast die Zeugen bereits befragt.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Flügel (f), zum Büro (b) oder zum Heck (h)? ")
if i == "c":
return 4
if i == "b":
return 1
if i == "f":
return 2
if i == "h":
return 3
else:
print("wrong, retry")
return 5
else:
print("""
Du machst dich auf den Weg in ein nahegelegenes Dorf, da du gehört hast, dass eine Person
den Absturz gesehen hat.
- Hallo. Sie haben den Absturz mitverfolgt?
- Ja habe ich.
- Wollen sie uns etwas darüber erzählen?
- Ja klar. Also. Ich war gerade auf dem Weg nach Hause, als ich ein Flugzeug hörte. Es war lauter
als sonst, deshalb schaute ich auf. Etwas schien ganz und gar nicht gut, denn plötzlich kippte
es zur Seite weg und stürzte vom Himmel. Einfach so. Eine riesige Explosion erschütterte unser Dorf.
- Vielen Dank. Sie haben mir geholfen.
Du machst dich auf den Weg zurück zur Unfallstelle. Willst du dir direkt Gedanken über die
Aussagen machen? Dafür musst du ins Büro zurück. """)
inventory.append("zeugen")
time.sleep(1)
visited.append("zeugen")
i = userinput("Willst du zurück? (y/n)")
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Cockpit (c), zum Heck (h) oder zum Flügel (f)? ")
if i == "c":
return 4
if i == "h":
return 3
if i == "f":
return 2
else:
print("wrong, retry")
return 5
def co():
global stepscount
stepscount += 1
if "cockpit" in visited:
print("""Du hast das Cockpit bereits untersucht.""")
i = userinput("Wo willst du hin? Zum Heck (h), zum Flügel (f), zum Büro (b) oder willst du Zeugen befragen (z)? ")
if i == "h":
return 3
if i == "b":
return 1
if i == "f":
return 2
if i == "z":
return 5
else:
print("wrong, retry")
return 4
else:
print("""
Du näherst dich der Nase des Flugzeugs. Vorsichtig läufst du umher. Vor dir liegt ein Sensor.
Er scheint defekt zu sein. Du hebst ihn auf und lässt ihn in dein Büro bringen.
Du kannst zurück gehen und ihn untersuchen oder weitersuchen.""")
inventory.append("anstellwinkelsensor")
time.sleep(1)
visited.append("cockpit")
i = userinput("Willst du zurück? (y/n)")
if i == 'y':
return 1
elif i == 'n':
print("""Du willst also weitersuchen.""")
i = userinput("Wo willst du hin? Zum Flügel (f), zum Heck (h) oder willst du Zeugen befragen (z)? ")
if i == "f":
return 2
if i == "h":
return 3
if i == "z":
return 5
else:
print("wrong, retry")
return 4
def main():
cover()
einfuehrung()
grundriss()
global next
global exit
next = 1
exit = 0
while next != 0:
if next == 1:
next = eb()
elif next == 2:
next = fl()
elif next == 3:
next = hk()
elif next == 4:
next = co()
elif next == 5:
next = zg()
else:
print("an error occured. restart. Exit Code:", next)
next = 0
exit = 0
gameoverpossible()
if exit == 1:
abspann()
main()

Binary file not shown.

612
TextAdventure/FightDay TA.py Executable file
View File

@ -0,0 +1,612 @@
import time
import datetime
from random import *
from math import *
from threading import Thread
from turtle import *
Zahl = randint(1,4)
if Zahl == 4:
Objekt = "Kupferleitung"
elif Zahl == 3:
Objekt = "Metallplatte"
elif Zahl == 2:
Objekt = "Schwarzpulver"
elif Zahl == 1:
Objekt = "rote Lampe"
def cover():
print("\n \
______ _ _ _ _____ \n \
| ___|(_) | | | | | __ \ \n \
| |__ _ __ _| |__ | |_ | | | | __ _ _ _ \n \
| __| | |/ _` | '_ \| __| | | | |/ _` | | | |\n \
| | | | (_| | | | | |_ | |__| | (_| | |_| |\n \
|_| |_|\__, |_| |_|\__| |_____/ \__,_|\__, |\n \
__/ | __/ |\n \
|___/ |___/ ")
time.sleep(3)
def einfuehrung():
print("\n \n Es ist kurz nach Mittag.\n Du bist Teckniker beim Militär und mit deinen Kollegen in einem kompakten \
Flugzeughangar des Militärs.\n \
Plötzlich geht ein lauter Alarm los und du wirst von deinen Kollegen dazu aufgefordert, \n \
ein Kampfflugzeug startklar zu machen.\n 'Geh und hole das Ersatzteil für den rechten Flügel!' \
ruft dein Kollege.")
time.sleep(9)
def grundriss():
print ("\n Links von dir ist das Büro deines Vorgesetzten, \n rechts sind weitere Räume mit Materialien \
für die Techniker, \n vor dir steht das Kampfflugzeug.\n Du kannst die vier Himmelsrichtungen (Norden, Osten, \
Süden, Westen) zur Steuerung verwenden.")
time.sleep(7)
print("Los gehts!")
time.sleep(1)
showHelp()
time.sleep(5)
def Hangar():
print("\n Du befindest dich am hinteren Ende des Hangars.")
time.sleep(1)
action = getUserAction()
if action == 'o':
return 2
elif action == 'w':
return 3
elif action == 'egal':
print("\n Mir auch egal. Lass uns eingach sagen, dass du es geschafft hast.")
time.sleep(3)
elif action == 'n':
return 4
else:
handleStandardAction(action)
return 1
def Objektraum():
print("\n Willkommen im Raum der Ersatzteile.")
time.sleep(1)
print("\n Du kannst nun einen von acht Gegenständen mitnehmen. \
\n \t-Metallrohr \n \t-Kupferleitung \n \t-Metallplatte \n \t-Kupferrohr \n \t-Gewehrlauf \n \t-Schwarzpulver \
\n \t-rote Lampe \n \t-blaue Lampe")
time.sleep(3)
objekt = input("Welches Objekt willst du mitnehmen? ")
if objekt == Objekt:
print("Gut...")
inventory.append(Objekt)
action = getUserAction()
while action != 'w':
handleStandardAction(action)
action = getUserAction()
return 1,1
elif objekt != 'Metallrohr' and objekt != 'Kupferleitung' and objekt != 'Metallplatte' and objekt != 'Kupferrohr' and objekt != 'Gewehrlauf' and objekt != 'Schwarzpulver' and objekt != 'rote Lampe' and objekt != 'blaue Lampe':
handleStandardAction(objekt)
print("\n Dies ist leider nicht das korrekte Objekt, versuch es noch einmal.")
Tipp = input("Willst du einen Tipp für das korrekte Objekt? ").lower()
if Tipp == 'ja':
print("\n Begebe dich in das Büro um Unterlagen zu den Ersatzteilen zu bekommen.")
time.sleep(2)
action = getUserAction()
while action != 'w':
handleStandardAction(action)
action = getUserAction()
return 1,0
else:
print("Okay")
action = getUserAction()
while action != 'w':
handleStandardAction(action)
action = getUserAction()
return 1,0
def Büro():
print("\nWillkommen im Büro des Kommandanten.")
time.sleep(1)
print("Vor dir liegen 3 Dokumente: \n \t- 1.Ersatzteile F-16 Tiger\
\n \t- 2. Ersatzteile F/A-18 Hornet \n \t- 3.Ersatzteile Saab Gripen \n Mehr Informationen über den \
richtigen Flugzeugtypen kriegst du beim Flugzeug.")
time.sleep(2)
dokument = (input("\n Welches Dokument willst du anschauen?(Nr. des Dokumentes eingeben) "))
if (randint(1,3) > 2):
print("\n\nDeine Basis wurde von einer feindlichen Luft-Boden Rakete getroffen!!!")
time.sleep(2)
print("Der Raum füllt sich schnell mit Rauch.")
time.sleep(2)
print("Du musst schnellstmöglich in den \
Hangar zum Feuerlöscher kommen.")
time.sleep(2)
print("Du hast nur noch 3 sekunden um aus dem Raum zu kommen!")
time.sleep(2)
now = datetime . datetime . now ()
midnight = now . replace ( hour =0 , minute =0 , second =0 , microsecond =0)
seconds1 = ( now - midnight ) . seconds
action = getUserAction()
while action != 'o':
now = datetime . datetime . now ()
midnight = now . replace ( hour =0 , minute =0 , second =0 , microsecond =0)
seconds2 = ( now - midnight ) . seconds
if ((seconds2 - seconds1)>3):
print("\nDu kannst dich nicht mehr retten und das Feuer verschlingt dich!")
time.sleep(1)
verloren()
else:
handleStandardAction(action)
action = getUserAction()
now = datetime . datetime . now ()
midnight = now . replace ( hour =0 , minute =0 , second =0 , microsecond =0)
seconds2 = ( now - midnight ) . seconds
if ((seconds2 - seconds1)>3):
verloren()
else:
print("\nDu schaffst es gerade noch aus dem Raum hinauszurennen.")
time.sleep(2)
print("Du packst den Feuerlöscher\n\
und kannst das Büro rechtzeitig von den Flammen befreien.")
time.sleep(4)
return 1
while dokument != "1" and dokument != "2" and dokument != "3":
handleStandardAction(dokument)
print("Achte darauf, dass du nur die Zahl des Dokumentes eingibst.")
dokument = (input("\n Welches Dokument willst du anschauen?(Nr. des Dokumentes eingeben) "))
if dokument == '1':
print("\n Ersatzteile: rechter Flügel => Kupferleitung, linker Flügel => rote Lampe")
elif dokument == '2':
print("Ersatzteile: rechter Flügel => ",end="")
print(Objekt,end=", ")
print("linker Flügel => blaue Lampe")
elif dokument == '3':
print("\n Ersatzteile: rechter Flügel => rote Lampe, linker Flügel => Metallröhre")
action = getUserAction()
while action != 'o':
handleStandardAction(action)
action = getUserAction()
return 1
def Kampfflugzeug(o):
print("\n Du befindest dich nun beim Kampfflugzeug F/A-18.")
time.sleep(1)
if o == 0 or o == 1:
action = input("Hast du das korrekte Ersatzteil dabei und willst es einbauen? ").lower()
if action == 'ja' and o == 1:
time.sleep(1.5)
inventory.remove(Objekt)
print("\nSuper, du hast das Flugzeug repariert!")
time.sleep(1)
print("Nun musst den Kampfjet zum Starten auf die Startbahn bringen.\nÖffne zuerst das Tor vor dir und \
hole anschliessend den Pushback, welcher hinter dem Tor steht.")
time.sleep(2)
d = getUserAction()
while d != 'n' and d != 's' and d != 'o' and d != 'w':
handleStandardAction(d)
d = getUserAction()
if d == 'n':
return 5,2
elif d == 's':
return 1,2
elif action == 'o':
return 2,2
elif action == 'w':
return 3,2
elif action != 'ja' and action != 'nein':
handleStandardAction(action)
if o == 0:
print("\n Du hast das richtige Ersatzteil leider nicht dabei.\n Hol zuerst das richtige Ersatzteil im \
Raum der Techniker.")
else:
Kampfflugzeug(o)
time.sleep(1)
action = getUserAction()
if action == 'o':
return 2,0
elif action == 'w':
return 3,0
elif action == 'egal':
print("\n Mir auch egal, lass uns einfach sagen du hast es geschafft.")
time.sleep(4)
elif action == 's':
return 1,0
else:
handleStandardAction(action)
return 4,0
else:
time.sleep(1)
action = getUserAction()
if action == 'o':
return 2,2
elif action == 'w':
return 3,2
elif action == 'egal':
print("\n Mir auch egal, lass uns einfach sagen, dass du es geschafft hast.")
time.sleep(4)
elif action == 's':
return 1,2
elif action == "n":
return 5,2
else:
handleStandardAction(action)
return 4,2
def Tor():
print("\nDu befindest dich beim Tor. Gib den korrekten Code ein um es zu öffnen.\n \
Den Code findest du in deinem Inventar")
time.sleep(1)
Code = input("Code:").lower()
if Code == '4934':
print("Sehr gut, das Tor öffnet sich.")
d = getUserAction()
while d != 's' and d != 'n':
handleStandardAction(d)
d = getUserAction()
if d == 's':
return 4
if d == 'n':
return 6
elif Code == "9768" or Code == "1234" or Code == "1482":
print("Dies ist leider nicht der korrekte Code.")
tipp = input("Willst du einen Tipp für den korrekten Code?")
if tipp == "ja":
print("Die erste Nummer des Codes ist die zweite Nachkommastelle von Pi")
time.sleep(3)
return 5
else:
return 5
else:
handleStandardAction(Code)
return 5
def draussen():
print("\nDu stehst draussen vor dem Hangar.\n Du musst den Flieger nur noch mit dem Pushback auf die Startbahn bringen.")
time.sleep(1)
print("Geh nach Norden und anschliessen nach Westen um den Pushback zu holen und ihn an den Jet anzuschliessen.\n")
D = getUserAction()
while D != "n":
handleStandardAction(D)
D = getUserAction()
print("Gut")
time.sleep(0.5)
D = getUserAction()
while D != "w":
handleStandardAction(D)
D = getUserAction()
time.sleep(1)
return 7
def Pushback():
print("\nDu bist beim Pushback angekommen und schliesst ihn an das Kampfflugzeug an.")
time.sleep(2)
print("Du steigst in den Pushback ein und musst ihn mit dem Flieger zum Anfang der Piste fahren.")
time.sleep(3)
print("Dein Zielort wird auf der Piste mit vier kleinen orangen Vierecken gekennzeichnet sein.")
time.sleep(5)
print("\nJetzt musst du mit den Rechts- Linkspfeilen deiner Tastatur den Pushback steuern.")
print("Wenn du den rechten Pfeil einmal drückst macht der Pushback eine Rechtskurve und umgekehrt.")
time.sleep(6)
print("Wenn sich kein neues Fenster automatisch öffnet,\n\
musst du noch manuell unten in deiner Leiste auf das neue Programm draufklicken.")
time.sleep(3)
d = input("Bist du bereit?")
while d != "ja":
handleStandardAction(d)
d = input("Bist du bereit?")
onkey(golt,"Left")
onkey(gort,"Right")
listen()
ht()
pu()
speed(0)
width(3)
tracer(0)
sc=Screen()
sc.setup(1200,600)
a = -500
b = -300
c = True
f = 1
corx2 = 576
cory2 = 260
while c:
clear()
Startpunkt()
Piste()
Ende()
setpos(a,b)
pd()
drawCart()
pu()
fd(1.5)
rt(90)
a = xcor()
b = ycor()
if ((a > 566) and (a < 587)) and ((b > 250) and (b < 270)):
lt(90)
for i in range(130):
clear()
Startpunkt()
Piste()
setpos(corx2,cory2)
pd()
Jet()
pu()
lt(180)
setheading(towards(620,260))
backward(f)
f = f + 0.2
corx2 = xcor()
cory2 = ycor()
update()
time.sleep(1)
clear()
setpos(0,0)
if __name__ == '__main__':
Thread(target = abspann).start()
for i in range(10000):
a = random()
b = random()
c = random()
bgcolor(a, b, c)
color("Black")
write("\tNice \nDu hast es geschafft!!!",align = "center", font=("Castellar", 20, "normal"))
c = False
update()
def Startpunkt():
color("black")
setpos(-500,-300)
fd(16)
lt(90)
fd(16)
for i in range(4):
pd()
begin_fill()
for i in range(4):
fd(6)
rt(90)
end_fill()
pu()
lt(90)
fd(32)
def Ende():
width(1)
color("black","orange")
pu()
setpos(576,260)
fd(10)
lt(90)
fd(10)
for i in range(4):
pd()
begin_fill()
for i in range(4):
fd(5)
rt(90)
end_fill()
pu()
lt(90)
fd(20)
rt(90)
width(3)
def drawCart():
rt(90)
color("black","gold")
begin_fill()
fd(12)
left(90)
fd(15)
left(90)
fd(8)
rt(90)
fd(5)
lt(90)
fd(8)
lt(90)
fd(5)
rt(90)
fd(8)
lt(90)
fd(15)
lt(90)
fd(12)
lt(90)
end_fill()
rt(90)
width(2)
color("black","silver")
begin_fill()
rt(60)
fd(17)
rt(120)
fd(5)
lt(120)
fd(30)
rt(120)
fd(15)
lt(90)
fd(3)
rt(90)
fd(6)
rt(90)
fd(3)
lt(90)
fd(15)
rt(120)
fd(30)
lt(120)
fd(6)
rt(120)
fd(17)
rt(60)
end_fill()
lt(90)
def Jet():
width(2)
color("black","silver")
begin_fill()
rt(60)
fd(17)
rt(120)
fd(5)
lt(120)
fd(30)
rt(120)
fd(15)
lt(90)
fd(3)
rt(90)
fd(6)
rt(90)
fd(3)
lt(90)
fd(15)
rt(120)
fd(30)
lt(120)
fd(6)
rt(120)
fd(17)
rt(60)
end_fill()
lt(90)
def Piste():
setpos(0,790)
width(10)
color("dimgray","gray")
begin_fill()
fd(600)
lt(90)
pd()
fd(600)
for i in range(3):
lt(90)
fd(1200)
lt(90)
fd(600)
rt(90)
pu()
backward(600)
end_fill()
width(3)
def gort():
right(90)
def golt():
left(90)
def abspannturtle():
for i in range(10000):
a = random()
b = random()
c = random()
bgcolor(a, b, c)
color("Black")
write("\tNice \nDu hast es geschafft!!!",align = "center", font=("Castellar", 20, "normal"))
def abspann():
print("\n \n \t Gratuliere!!! \n \t Du hast es geschafft, das Flugzeug korrekt zu reparieren\
\n \t und auf die Startbahn zu bringen.\n \t THE END")
time.sleep(30)
def verloren():
print("\n\n\t Du hast es leider nicht geschafft und bist gestorben. \n\t Versuch es nochmal!\n")
time.sleep(999)
def showInventory():
time.sleep(0.5)
a = 0
for i in range(len(inventory)):
print("-",inventory[a])
a = a + 1
def showHelp():
print("""\nnorden = n \tsüden = s
osten = o \twesten = w
show help = h \tshow inventory = i""")
def getUserAction():
action = input("Wohin willst du gehen?").lower()
return action
def handleStandardAction(action):
if action == 'i':
#inventar anzeigen:
showInventory()
elif action == 'h':
showHelp()
elif action in ['n','s','o','w']:
print("Da kannst du leider nicht lang")
else:
print("\nDas verstehe ich leider nicht")
inventory = ["Code Tor Nr. 1: 9768","Code Tor Nr. 2: 1234","Code Tor Nr. 3: 4934", "Code Tor Nr. 4: 1482","Schraubenzieher","Messlatte"]
def main():
cover()
einfuehrung()
grundriss()
next = 1
objekt = 0
while next != 0:
if next == 1:
next = Hangar()
elif next == 2:
next1 = Objektraum()
next = next1[0]
objekt = next1[1]
elif next == 3:
next = Büro()
elif next == 4:
next2 = Kampfflugzeug(objekt)
next = next2[0]
objekt = next2[1]
elif next == 5:
next = Tor()
elif next == 6:
next = draussen()
elif next == 7:
next = Pushback()
elif next == 10:
abspann()
main()

18
TextAdventure/Mousechaser.py Executable file
View File

@ -0,0 +1,18 @@
import turtle
class Main():
def __init__(self):
wn = turtle.Screen()
wn.setup(600, 600)
screen = wn.getcanvas()
self.t = turtle.Turtle()
self.x = 300
self.y = 300
screen.bind('<Motion>', self.set_coords)
self.run()
def set_coords(self, event):
self.x = event.x
self.y = event.y
def run(self):
while True:
self.t.setposition(self.x-300, (self.y*-1)+300)
m = Main()

9
TextAdventure/Other Chaser.py Executable file
View File

@ -0,0 +1,9 @@
import turtle
screen = turtle.Screen()
def goto_loc(x, y):
turtle.goto(x, y)
screen.onscreenclick(goto_loc,1)

47
TextAdventure/Spiel Schiff.py Executable file
View File

@ -0,0 +1,47 @@
import turtle
#import math
import time
screen = turtle.Screen()
screen.setup(1280,720)
turtle.speed(0)
s1_t = turtle.Turtle()
s1_main = turtle.Turtle()
mouseaim = turtle.Turtle()
s1_t.ht()
s1_main.ht()
mouseaim.pu()
mouseaim.speed(0)
#turtle.tracer(0)
def turret():
screen.clear()
s1_t.dot(15)
s1_t.width(3)
s1_t.fd(20)
screen.update()
s1_t.home()
screen.onscreenclick(goto_loc,1)
def body():
print("ok")
def ship():
print("ok")
def goto_loc(x, y):
mouseaim.goto(x, y)
s1_t.setheading(s1_t.towards(x, y))
turret()
screen.onscreenclick(goto_loc,1)

295
TextAdventure/Text Adventure.py Executable file
View File

@ -0,0 +1,295 @@
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()

754
TextAdventure/The House.py Executable file
View File

@ -0,0 +1,754 @@
import time
global inventory
inventory = []
global besucht
besucht = []
global ausgeloest
ausgeloest = []
def cover():
print("""
---------------------------------------------------------------------
""")
time.sleep(3)
def uinput(question):
return input(question).lower()
def error():
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen\n")
def gameover():
print("""
-------------------------------------------------------------------------
""")
def regeln():
print("Bevor wir starten, ein paar Anmerkungen.\n"
"Bitte alles was du schreibst IMMER in Kleibuchstaben verfassen.\n"
"Es wird immer MAXIMAL ein Wort benötigt.\n"
"Du hast einen Rucksack dabei, in dem du Dinge mitnehmen kannst.\n")
time.sleep(2)
def visited(ort):
besucht.append(ort)
def einfuehrung():
print("Es ist Freitag Nacht...\n"
"Du hast dich verlaufen und bist auf der Suche nach einer Unterkunft\n"
"für die kommende Nacht.\n"
"Du bist ganz auf dich alleine gestellt.\n"
"Wenn du nicht aufpasst, wirst du sterben.\n"
"Sei vorsichtig und überlege dir jede Entscheidung gut.\n"
"Es gibt kein Zurück!!\n"
"Du bist ganz alleine an einer abgelegenen Strasse.\n"
"Es stürmt und ist eiskalt.\n"
"Plötzlich kommst du zu einem alten Haus.\n"
"Es sieht unheimlich aus.\n")
time.sleep(5)
def grundriss():
print ("""
DU BIST HIER
|
__________ ____|______ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____| Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|_ ____
| |
| Keller |
| |
|_________ __|
""")
time.sleep(3)
def lageplan():
print("""
_______ ___________ _______ ____
| | | | | |
|Wohnzimmer|____| Flur |____|Schlafzimmer|
| | | | | |
|__ _____ _| |__ ______ _| |___ ___ ____|
| |
| |
| |
____|____ ________ __ ______|_____
| | | | | |
| Küche |____| Flur |____|Badezimmer |
| | | | | |
|__ _____ _| |__ ________| |_ __________|
|
|
|
_____|______
| |
| Keller |
| |
|____________|
""")
def abspann():
print("""
-----------------------------------------------------
""")
def eintreten():
aktion = uinput('Willst Du eintreten oder weglaufen?')
if aktion == 'eintreten':
return 1
elif aktion == 'weglaufen':
print("\n"
"Du läufst davon voller Angst... \n"
"Doch schon nach kurzer Zeit wird dir bewusst...\n"
"Du musst zurück wenn du diese Nacht überleben willst.\n")
time.sleep(3)
eintreten()
else:
error()
time.sleep(2)
eintreten()
def flur_1():
if "lampe" in inventory:
print("Du bist nun auf dem Flur.\n")
lageplan()
f = uinput("Wohin willst du?")
if f == "schlafzimmer":
return 4
elif f == "wohnzimmer":
return 3
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 1
else:
inventory.append("lampe")
print("\n"
"(Du findest eine Lampe und steckst sie in dein Inventar)\n"
"Du stehst auf einem Flur.\n"
"Das Haus sieht alt und verlassen aus.\n"
"Doch plötzlich hörst du etwas...\n"
"Schritte vielleicht?\n")
d = input("Willst du im Schlafzimmer oder im Wohnzimmer nachsehen?").lower()
if d == "schlafzimmer":
return 4
elif d == "wohnzimmer":
return 3
else:
error()
time.sleep(2)
inventory.remove("lampe")
return 1
def flur_2():
if "flur2" in besucht:
print("Du bist nun auf dem Flur.\n")
if "schlüssel" in inventory:
if "tür" not in besucht:
q = uinput("Willst du die Türe öffnen?")
if q == "ja":
if "schlüssel" in inventory:
return 7
else:
print("Du brauchst einen Schlüssel um diese Türe zu öffnen.\n")
elif q == "nein":
time.sleep(3)
lageplan()
f = uinput("Wohin willst du?")
if f == "badezimmer":
return 6
elif f == "küche":
return 5
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 2
else:
besucht.remove("tür")
lageplan()
f = uinput("Wohin willst du?")
if f == "badezimmer":
return 6
elif f == "küche":
return 5
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 2
else:
lageplan()
f = uinput("Wohin willst du?")
if f == "badezimmer":
return 6
elif f == "küche":
return 5
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 2
else:
print("Du stehst erneut auf einem Flur...\n"
"Er sieht aber anderst aus als der beim Hauseingang.\n"
"Deutlich düsterer... und eine Tür die in einen anderen Raum führt.\n"
"In den Keller vielleicht?\n")
i = uinput("Willst du die Türe öffnen?")
if i == "nein":
visited("flur2")
visited("tür")
return 2
elif i == "ja":
if "schlüssel" in inventory:
inventory.remove("schlüssel")
return 7
else:
print("Die Türe scheint verschlossen zu sein.\n"
"Du brauchst einen Schlüssel um diesen Raum zu betreten.\n")
time.sleep(3)
lageplan()
j = uinput("Wohin willst du?")
if j == "badezimmer":
return 6
visited("flur2")
elif j == "küche":
return 5
visited("flur2")
else:
error()
time.sleep(2)
return 2
else:
error()
return 2
def wohnzimmer():
if "wohnzimmer" in besucht:
print("Du bist nun im Wohnzimmer.\n")
f = input("Wohin willst du?").lower()
lageplan()
if f == "flur":
return 1
elif f == "küche":
return 5
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 3
else:
print("\n"
"Du gehst aufmerksam ins Wohnzimmer.\n"
"Du blickst umher.\n"
"Da links! Eine schwarze Gestalt steht im nächsten Zimmer!\n"
"Geschockt bleibst du stehen und planst dein weiteres Vorgehen.\n")
b = input("Willst du die Situation beobachten oder flüchten?").lower()
if b == "flüchten":
return 12
if b == "beobachten":
visited("wohnzimmer")
visited("schlafzimmer")
print("\n"
"Schockiert erkennst du, dass die schwarze Gestalt ein Messer hat.\n"
"Sie lacht auf eine psychopathische Art und Weise und läuft umher.\n"
"Sucht sie etwas? Oder jemanden?\n"
"Mich vielleicht?\n"
"Es sieht so aus als würde sie im nächsten Raum verschwinden.\n")
time.sleep(5)
lageplan()
c = uinput("Wohin willst du?")
if c == "flur":
return 1
elif c == "küche":
return 5
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 3
else:
error()
time.sleep(2)
return 3
def schlafzimmer():
if "schlafzimmer" in besucht:
print("Du bist nun im Schlafzimmer.\n")
lageplan()
e = uinput("Wohin willst du?")
if e == "badezimmer":
return 6
elif e == "flur":
return 1
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 4
else:
print("\n"
"Du öffnest die Schlafzimmertüre langsam.\n"
"Die Türe aber knirscht und lässt sich nur schwer öffnen.\n"
"Nun betrittst du das alte und verlassene SChlafzimmer.\n"
"Du siehst dich etwas um.\n"
"Am Boden hinter dem Bett siehst du etwas.\n"
"Flecken viellei... HILFE!!!!!\n"
"Jemand schrie um Hilfe? Und die Flecken - es ist Blut!!\n")
a = uinput("Willst du flüchten oder dem Hilferuf folgen?")
if a == "flüchten":
print("\n"
"Du entschliesst dich zu flüchten.\n"
"Du hast Todesangst\n")
return 12
elif a == "folgen":
besucht.append("schlafzimmer")
return 3
else:
error()
time.sleep(2)
return 4
def kueche():
if "küche" in besucht:
print("Du bist nun in der Küche.\n")
if "messer" not in inventory:
print("Das Messer, welches du vorhin entdeckt hast liegt noch immer da.\n")
p = uinput("Willst du das Messer aufheben? Es könnte sich später noch als Nützlich erweisen.")
if p == "ja":
inventory.append("messer")
print("Du steckst das Messer in dein Inventar")
elif p == "nein":
print("ok")
else:
error()
return 5
else:
time.sleep(0.1)
else:
visited("küche")
print("Du bist nun in der Küche.\n"
"Von der schwarzen Gestalt ist nichts zu sehen.\n"
"Auf der Ablage liegt ein Messer.\n")
time.sleep(2)
p = uinput("Willst du das Messer aufheben? Es könnte sich später noch als Nützlich erweisen.")
if p == "ja":
inventory.append("messer")
print("Du steckst das Messer in dein Inventar")
elif p == "nein":
print("ok")
else:
error()
return 5
time.sleep(2)
lageplan()
x = uinput("Wohin willst du?")
if x == "flur":
return 2
if x == "wohnzimmer":
return 3
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 5
def badezimmer():
if "badezimmer" in besucht:
print("Du bist nun im Badezimmer.\n")
if "badevorhang" in besucht:
if "schlüssel" not in besucht:
if "schlüssel" not in inventory:
w = uinput("Willst du den Schlüssel aufheben?")
if w == "ja":
inventory.append("schlüssel")
else:
print("ok")
else:
besucht.remove("schlüssel")
else:
w = uinput("Willst du den Duschvorhang öffnen?")
visited("badevorhang")
if w == "ja":
return 14
elif w == "nein":
print("ok")
else:
error()
return 6
else:
print("Du öffnest die Türe zum Bad ganz leise.\n"
"Du hoffst, dass die schwarze Gestalt nichts gehört hat.\n"
"Etwas ängstlich betrittst du nun das Badezimmer.\n"
"Viel gibt es nicht zu sehen in diesem Badezimmer\n"
"Eine Toilette, ein Spiegel und eine Badewanne\n"
"Der Duschvorhang der Badewanne ist zu\n")
g = uinput("Willst du ihn öffnen?")
if g == "ja":
visited("badezimmer")
visited("badevorhang")
return 14
if g == "nein":
visited("badezimmer")
print("ok")
else:
error()
return 6
lageplan()
e = uinput("Wohin willst du?")
if e == "flur":
return 2
if e == "schlafzimmer":
return 4
else:
print("Du kannst diesen Raum nicht direkt betreten.\n")
return 6
def treppe():
print("Du öffnest die Türe möglichst leise.\n"
"Zu deiner Erleichterung öffnet sich die Türe ruhig.\n"
"Vor dir siehst du eine Treppe.\n"
"Sie führt nach unten... in den Keller wahrscheinlich.\n")
k = uinput("Willst du den Keller betreten?")
if k == "ja":
return 8
elif k == "nein":
# schlüssel = 1
return 2
else:
error()
return 7
def keller():
print("Schleichend gehst du die dunkle, alte Treppe hinunter\n"
"Zu deinem Pech knirscht das alte Holz unter deinen Füssen\n"
"Unten angekommen siehst du dich etwas um.\n"
"Ein Schrank, ein altes Bett und viele alte Schachteln stehen herum.\n"
"Ein komischer Geruch kommt dir in die Nase...\n"
"...woher der wohl kommen mag?\n"
"Aus dem Schranz läuft etwas heraus...\n"
"...wegen der Dunkelheit erkennst du nicht wases ist.\n")
l = uinput("Willst du im Schrank nachschauen?")
if l == "ja":
return 9
elif l == "nein":
global origin
origin = 1
return 10
else:
error()
return 8
def schrank():
print("Du öffnest den Schrank.\n"
"AHHHHHH!! Eine Leiche!! Und Blut! Überall Blut!!\n"
"Als wäre das nicht schon genug, hörst du plötzlich ein Lachen\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
global origin
origin = 2
return 10
def verstecken():
#v1------------------
global origin
global end_origin
if origin == 1:
print(
"Du hörst plötzlich ein Lachen.\n"
"Die schwarze Gestalt!!!\n"
"Und du hast keine Möglichkeit zu flüchten!\n"
"Das knirschen der Treppen wird immer lauter.\n"
"Du musst dich verstecken. Schnell!!!\n")
time.sleep(3)
o = uinput("Wo willst du dich verstecken?\n"
"Hinter den Schachteln oder unter dem Bett?")
if o == "bett":
end_origin = 2
return 11
elif o == "schachteln":
end_origin = 3
return 11
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
return 10
#v2---------------------
elif origin == 2:
m = input("Wo willst du dich verstecken?\n"
"Im Schrank, hinter den Schachteln oder unter dem Bett?\n").lower()
if m == "schrank":
end_origin = 1
return 11
elif m == "bett":
end_origin = 2
return 11
elif m == "schachteln":
end_origin = 3
return 11
else:
print("Diese Möglichkeit steht nicht zur Auswahl.\n"
"Bitte überprüfe deine Antwort nochmals.\n")
return 10
else:
return 100
def ende():
global end_origin
if end_origin == 1:
print("Du hast entschieden dich im Schrank zu verstecken.\n"
"In dem Schrank in dem auch die Leiche ist.\n"
"Ob das wohl die richtige Entscheidung war?\n")
time.sleep(5)
print("Du drückst dich an den Schrank und bist so leise wie nur möglich.\n"
"Du hörst wie die schwarze Gestalt immer und immer näher kommt.\n"
"Sie lacht laut und sucht dich überall.\n"
"Sie kommt näher zum Schrank mit dem Messer voran.\n"
"Dann bleibt sie stehen.\n"
"Langsam öffnet sie die Schranktür.\n"
"Du blickst ihr direkt in die Augen.\n"
"Du schreist aber sie zeigt keine Gnade und ersticht dich kaltblütig.\n")
gameover()
return 0
elif end_origin == 2:
print("Du hast dich für das Bett entschieden\n"
"Unter dem Bett liegt ein Teppich\n"
"Ob da wohl etwas darunter ist, dass versteckt werden muss?\n")
print("Die schwarze Gestalt ist im Keller.\n"
"Du hast Todesangst. Sie sucht dich überall.\n")
if "messer" in inventory:
print("Du erinnerst dich an das Messer welches du im Badezimmer gefunden hast.\n")
n = uinput("Willst du mit dem Messer den Teppich aufschneiden?")
if n == "ja":
inventory.remove("messer")
return 13
if n == "nein":
print("Du hast keine andere wahl. Schneide den Teppich auf!!!")
return 11
else:
error()
return 11
else:
return 15
elif end_origin == 3:
print("Du hast dich für die Schachteln entschieden\n"
"Du machst dich so klein wie möglich und hoffst nicht entdeckt zu werden\n"
"Durch einen Spalt bei den Schachteln siehst du auf das Bett\n"
"Darunter fällt dir ein Teppich auf.\n"
"Es sieht aus als wäre darunter etwas versteckt.\n")
print("Du hörst wie die schwarze Gestalt den Keller betretet.\n"
"Voller Angst überlegst du wie du flüchten könntest.\n"
"Die schwarze Gestalt sucht dich überall.\n"
"Sie kommt langsam aber stetig immer näher zu den Schachteln.\n"
"Als die schwarze Gestalt einen kurzen Moment weg schaut,\n"
"läufst du so schnell du kannst zum Bett und versteckst dich dort\n")
if "messer" in inventory:
print("Du erinnerst dich an das Messer welches du im Badezimmer gefunden hast.\n")
n = uinput("Willst du mit dem Messer den Teppich aufschneiden?")
if n == "ja":
inventory.remove("messer")
return 13
if n == "nein":
print("Du hast keine andere wahl. Schneide den Teppich auf!!!")
return 2
else:
error()
return 11
else:
return 15
else:
return 99
def mord():
print("\n"
"Du rennst so schnell du kannst zum Flur. \n"
"Du willst die Türe aufreissen und weglaufen.\n"
"Doch die Türe ist verschlossen!\n"
"Plötzlich spürst du das jemand hinter dir steht... \n"
"...du drehst langsam deinen Kopf\n"
"Die schwarze Gestalt steht hinter dir!\n"
"Sie ist voller Blut und lacht laut und bevor du reagieren kannst...\n"
"...sticht sie dir ein Messer kaltblütig in die Brust!\n")
time.sleep(5)
gameover()
return 0
def flucht():
print("Unter dem Teppich ist tatsächlich etwas.\n"
"Eine geheime Öffnung im Boden!! Vielleicht ein Weg der hier weg führt?\n"
"Du Öffnest die Falltüre und springst nach unten.\n"
"Tatsächlich! Es sieht aus wie ein langer Gang\n"
"Das Problem ist nur... es ist stock dunkel.\n")
o = uinput("Nimm deine Lampe und zünde sie an! (lampe nehmen)\n")
if o == "lampe nehmen":
inventory.remove("lampe")
print("Du siehst nun genug für deine Flucht!\n")
print("Hinter dir hörst du schonwieder das Lachen der schwarzen Gestalt.\n"
"Du rennst so schnell du kannst!\n"
"Es ist kalt und nass in diesem Tunnel aber dir bleibt nichts anderes übrig.\n"
"Hier! Eine Leiter!\n"
"Du steigst die Leiter nach oben und öffnest die Falltüre.\n"
"Die schwarze Gestalt kommt immer näher!\n"
"Du kletterst hinaus und schliesst die Türe wieder.\n")
return 0
else:
error()
return 13
def schock():
print("Du öffnest neugierig den Duschvorhang.\n"
"Die Badewanne.. sie.. sie ist.. voller Blut!\n"
"Du schreist und hast Angst. Du willst nur noch weg hier!\n"
"Doch nach kurzer Zeit fällt dir neben der Wanne etwas auf...\n"
"...ist das ein Schlüssel?")
h = uinput('Schlüssel aufheben oder liegen lassen?')
if h == "aufheben":
inventory.append("schlüssel")
print("Du hebst den Schlüssel auf.")
return 6
if h == "lassen":
visited("schlüssel")
return 6
else:
print("Dieser Befehl ist mir leider nicht bekannt :/\n"
"Bitte erneut versuchen.\n")
time.sleep(2)
return 14
def mord_2():
print("Du hast kein Messer in deinem Rucksack.\n"
"Da du das Messer ohne Erfolg gesucht hast,\n"
"wurde die schwarze Gestalt auf dich aufmerksam.\n"
"Sie kommt immer näher in Richtung Bett und du hast\n"
"keine Möglichkeit mehr dich zu verstecken.\n"
"Die schwarze Gestalt zieht das Bett weg und sieht dir tief in die Augen.\n"
"Du schaust sie hilfeschreiend an aber das ist ihr egal.\n"
"Sie lacht laut los und sticht dir langsam mit dem Messer in die Brust.\n"
"Du verlierst das Bewusstsein und das letzte was du noch hörst,\n"
"ist das psychopathische Lachen.\n")
gameover()
return 0
def glückwunsch():
print("Gratuliere!!! Du hast die Nacht überlebt und einen Ausweg aus dem Haus gefunden!\n"
"Du bist nun in einem Wald.\n"
"Nach langem umherirren hast du ein Dorf gefunden.\n"
"Die Leute dort waren sehr freundlich und haben dich zurück zu deinem Haus gebracht.\n"
"Zuhause hast du alles der Polizei erzählt.\n"
"Als die Polizei ankam war das Haus nicht mehr dort.\n"
"Ein Berg aus SChutt und Asche ist übrig geblieben.\n"
"Die schwarze Gestalt wurde bis heute nicht gefunden.\n")
def main():
cover()
regeln()
einfuehrung()
grundriss()
eintreten()
next = 1
exit = 1
while next != 0:
if next == 1:
next = flur_1()
elif next == 2:
next = flur_2()
elif next == 3:
next = wohnzimmer()
elif next == 4:
next = schlafzimmer()
elif next == 5:
next = kueche()
elif next == 6:
next = badezimmer()
elif next == 7:
next = treppe()
elif next == 8:
next = keller()
elif next == 9:
next = schrank()
elif next == 10:
next = verstecken()
elif next == 11:
next = ende()
elif next == 12:
next = mord()
exit = 0
elif next == 13:
next = flucht()
elif next == 14:
next = schock()
elif next == 15:
next = mord_2()
exit = 0
else:
print("Es ist ein Fehler aufgetreten. Bitte Spiel neustarten. Exit code:", next)
next = 0
exit = 0
if exit == 1:
glückwunsch()
time.sleep(7)
abspann()
main()