Bei meinem spiel Textadventure, gehen manche richtigen Antworten nicht

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kraapzi
User
Beiträge: 2
Registriert: Dienstag 27. April 2021, 09:10

Hallo, ich habe ein Schulprojekt und hab Programmieren gewählt. Ich programmiere ein "Textadventure". Ich bin damit fertig doch immer wenn ich es spiele und bei manche fragen die richtige Antwort schreibe, ist sie trotzdem falsch und ich komm nicht mehr weiter. Hier ist sonst der code. Ich habe es in Pycharm programmiert. Wäre cool wenn es jemand austesten kann oder mir helfen kann

while True:
def speak_out():
ch_yes = ['yes', 'y', 'yeah', 'yer', 'ja']
ch_no = ['no', 'n', 'nah', 'nein']

response = input(
"Heute ist die fünfte Nacht in Folge, in der Sie bis zum Morgengrauen wach geblieben sind und sich über die Idee Gedanken gemacht haben, Ihren Trupp zu verlassen. Versuchen Sie, einige Ihrer Männer davon zu überzeugen, mit Ihnen zu gehen? Antworte ja oder nein? \n").lower()

while response not in ch_yes and response not in ch_no:
response = input(
"Sie haben nicht mehr viel Zeit, um darüber nachzudenken, die Sonne scheint bereits durch Ihr Fenster. Antworte ja oder nein? \n").lower()

if response in ch_yes:
return True

else:
return False


def persuasion_attempt():
ch_yes = ['yes', 'y', 'yeah', 'yer', 'ja']
ch_no = ['no', 'n', 'nah', 'nein']

response = input(
"Während des Frühstücks merkt man, dass es jetzt oder nie ist, den Kader auf die Seite zu bekommen. Sie haben die Idee, auf dem Tisch zu stehen und die Nazis zusammen mit Hitler anzuprangern. Sie planen auch, Ihre Männer einzuladen, mit Ihnen die NS-Armee zu verlassen und in die Schweiz zu reisen, aber Sie erkennen auch die Gefahr dieser Wahl. Gehen Sie mit Ihrer Idee durch? Antworte ja oder nein?\n").lower()

while response not in ch_yes and response not in ch_no:
response = input("Jetzt ist der beste Zeitpunkt dafür, wenn Sie es überhaupt tun wollen. Ja oder Nein? \n").lower()

if response in ch_yes:
return True

else:
return False


def when_leave_alone():
ch_yes = ['nachts']
ch_no = ['tagsüber']

response = input(
"Sie haben sich entschieden, Ihren Plan für sich zu behalten. Gehst du tagsüber oder nachts? \n").lower()

while response not in ch_yes and response not in ch_no:
response = input("Sie GEHEN heute, also gehen Sie jetzt tagsüber oder nachts? \n").lower()

if response in ch_yes:
return True

else:
return False


def escape_day():
ch_yes = ['töten']
ch_no = ["rennen"]

response = input(
"Sie wurden von einem Ihrer Pvts beim Versuch gefunden, die Kaserne mit Ihrer Tasche und Ihrem Gewehr zu verlassen. Er fragt, wohin du gehst und warum du all deine Ausrüstung hast, aber deine Angst führt dazu, dass du studierst, was jede Chance zunichte macht, ihn anzulügen. Tötest du ihn oder rennst du weg? \n").lower()

while response not in ch_yes and response not in ch_no:
response = input(
"musst etwas machen! Der Pvt wird langsam alarmiert. Tötest du ihn oder rennst du?!? \n").lower()

if response in ch_yes:
return True

else:
return False


def how_leave_group():
ch_yes = {'a truck', 'truck', 'the truck', 'LKW', 'Lastwagen', }
ch_no = ['on foot', 'walk', 'leave on foot' 'zu fuss' 'zu Fuß']

response = input(
"Ihre elektrisierende Rede und Ihre Position als General überzeugen Ihre Männer, sich Ihnen anzuschließen und Ihnen bei Ihrer Flucht in die Schweiz zu helfen. Gehen Sie zu Fuß oder in einem LKW? \n").lower()

while response not in ch_yes and response not in ch_no:
response = input(
"Ihre Männer sind angefeuert und bereit, jetzt zu gehen. Es wäre nicht gut, sie darüber nachdenken zu lassen, was sie gerade vereinbart haben. Nehmen Sie den LKW oder gehen Sie zu Fuß? \n").lower()

if response in ch_yes:
return True

else:
return False


def air_strip():
ch_yes = ['ram', 'ram the fence', 'Zaun rammen', 'Zaun', 'rammen']
ch_no = ['pass', 'pass the air-strip', 'drive', 'Luftstreifen passieren', 'Luftstreifen', ]

response = input(
"Auf Ihrem Weg in die Schweiz stoßen Sie auf einen Luftstreifen mit einem makellosen Bomber, der an einem Ende der Landebahn unbeaufsichtigt bleibt. Rammen Sie den Zaun oder passieren Sie den Luftstreifen? \n").lower()

while response not in ch_yes and response not in ch_no:
response = input(
"Beeilen Sie sich und wählen Sie! Sie werden eine Kurve auf der Straße erreichen. Rammen Sie den Zaun oder passieren Sie den Luftstreifen? \n").lower()

if response in ch_yes:
return True

else:
return False


def fly_plane():
ch_yes = ['yes', 'y', 'yeah', 'yer', 'ja']
ch_no = ['no', 'n', 'nah', 'nein']

response = input(
"Sie haben beschlossen, den Zaun zu rammen und befinden sich im Luftstreifen. Bald werden Sie neben dem Bomber ziehen, aber im Moment überdenken Sie Ihre Entscheidung wirklich. Der Alarm wurde ausgelöst, aber einer Ihrer Pvts, Pvt Seth, sagt, dass sie fliegen kann. Lässt du sie fliegen Antworte ja oder nein? \n").lower()

while response not in ch_yes and response not in ch_no:
response = input(
"Beeilen Sie sich und wählen Sie! Die Wachen versammeln sich und nähern sich Ihrer Position! Antworte ja oder nein? ").lower()

if response in ch_yes:
return True

else:
return False


def make_it():
ch_yes = ['yes', 'y', 'yeah', 'yer', 'ja']
ch_no = ['no', 'n', 'nah', 'nein']

response = input(
"Sie lassen Pvt. Seth fliegt das Flugzeug. Zum Glück hat sie das Flugzeug in die Luft gebracht, aber es ist offensichtlich, dass sie über ihrem Kopf ist. Entlasten Sie sie von ihrer Position und fliegen Sie den Bomber selbst? Antworte ja oder nein? \n").lower()

while response not in ch_yes and response not in ch_no:
response = input(
"Ihre Männer suchen bei Ihnen nach einer Antwort, sie wollen nicht abstürzen. Übernimmst du Antworte ja oder nein? \n").lower()

if response in ch_yes:
return True

else:
return False


print(
"Hallo Spieler!!! Danke, dass du mein Spiel gespielt hast! Dieses Spiel ist sehr einfach. Beantworten Sie jede Frage, um vor den Nazis zu fliehen.\n")
print(" \n")
print(
"Sie heißen Hanz Frankfurter und sind General der NS-Armee. Es gibt viele Männer wie Sie, aber im Gegensatz zu allen haben Sie einen brennenden Hass gegen die Nazis und die Gräueltaten gegen das jüdische Volk.\n")
print(" \n")
print(
"Sie sind in einem Dorf am Stadtrand von Berlin mit fünf Männern unter Ihnen stationiert. Sie vermuten, dass einige oder alle Ihrer Männer Ihren Hass gegen die Nazis teilen, haben jedoch zu viel Angst vor der Bestrafung wegen Verrats.\n")
print(" \n")
print(
"Seit einem Jahr träumen Sie davon, Ihren Posten zu verlassen und in die schneebedeckten Berge der neutralen Schweiz zu fliehen. Sie erkennen jedoch, dass Ihr Plan ohne Hilfe nicht möglich ist.\n")
print(" \n")

ch_speak = speak_out()
if ch_speak:

ch_rally = persuasion_attempt()
if ch_rally:

print("Ihre Männer sind bewegt von Ihrer leidenschaftlichen Rede und beschließen, sich Ihnen anzuschließen.\n")

ch_Gleave = how_leave_group()
if ch_Gleave:

print(
"Sie und Ihr Trupp fahren ungefähr eine Stunde und stoßen auf einen Luftstreifen, auf dem jemand einen makellosen Bomber ausgelassen hat.\n")

ch_plane = air_strip()
if ch_plane:

ch_fly = fly_plane()
if ch_fly:

print(
"Sie segeln durch den Himmel und treffen nur auf geringe Turbulenzen. Pvt. Seth macht es weitaus besser als erwartet. Du schaffst es mit einer rauen Landung in die Schweiz, aber du bist so erleichtert. Sie und Ihre Männer werden in ein Gefängnis gebracht und befragt, aber sobald die Abgeordneten Ihre Geschichte hören, geben sie Ihnen eine Ehrenmedaille !!! Herzlichen Glückwunsch, du hast es lebend geschafft !!!\n")

else:

print(
"Sie versuchen, den Bomber zu fliegen, sind aber bei weitem nicht geschickt genug und fliegen in ein Baumdickicht. Sie enden als Nazi-Kabab.\n")

else:

print(
"Sie fahren ein wenig die Straße hinunter, bis Sie auf eine Straßensperre stoßen. Alle Waffen werden direkt durch Ihre Fenster trainiert und in diesem Moment stellen Sie fest, dass jemand Ihre Abwesenheit und den Trottel auf der Nazifahne bemerkt hat. Sie und Ihr Team werden von den MG42 in rote Kartoffelpüree verwandelt\n")

else:

print(
"Während Sie die Straße entlang gehen, sieht Ihr Trupp einen Weg durch den Wald, der wie eine Abkürzung aussieht. Du nimmst den Weg und eine Gruppe Kinder springt von den Bäumen und tötet dich.\n")

else:

print(
"Während Sie Ihren Hass gegen die Nazis verkünden, trifft Sie eine streunende Artillerie-Granate und verwandelt Sie in einen feinen roten Nebel. War es Gott? Leider war es nicht so, es war Marcus, der mit Mörsern spielte.\n")

else:

ch_Aleave = when_leave_alone()
if ch_Aleave:

print("Während Sie im Dunkeln gehen, betreten Sie ein Minenfeld und werden der erste Nazi-Astronaut.\n")

else:

ch_day = escape_day()
if ch_day:

print(
"Ihre Kameraden hören, dass Sie den Pvt töten. wer hat dich gefunden Sie umgeben dich und schlagen dich mit komisch großen deutschen Würstchen zu Tode.\n")

else:

print(
"In Ihrer Eile, Sie hinter dem Schießstand zurückzulassen und sich in Schweizer Käse zu verwandeln, war Karma noch nie so fair.")
break
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Funktionen werden immer auf oberster Ebene definiert, niemals innerhalb einer while-Schleife.
Wenn eine if-Abfrage nur dazu da ist, True oder False zurückzugeben, kann man die Bedingung auch direkt benutzen.
Was sollen eigentlich die ganzen ch_-Präfixe? Die können alle weg.
In vier Funktionen definierst Du "Ja" und "Nein", das könnte man zu einer Definition zusammenfassen.

Code: Alles auswählen

YES = ['yes', 'y', 'yeah', 'yer', 'ja']
NO = ['no', 'n', 'nah', 'nein']

def ask(question, repeat, yes=YES, no=NO):
    response = input(question).lower()
    while response not in yes and response not in no:
        response = input(repeat).lower()
    return response in yes

def speak_out():
    return ask(
        "Heute ist die fünfte Nacht in Folge, in der Sie bis zum Morgengrauen wach geblieben sind und sich über die Idee Gedanken gemacht haben, Ihren Trupp zu verlassen. Versuchen Sie, einige Ihrer Männer davon zu überzeugen, mit Ihnen zu gehen? Antworte ja oder nein? \n",
        "Sie haben nicht mehr viel Zeit, um darüber nachzudenken, die Sonne scheint bereits durch Ihr Fenster. Antworte ja oder nein? \n",
    )

def persuasion_attempt():
    return ask(
        "Während des Frühstücks merkt man, dass es jetzt oder nie ist, den Kader auf die Seite zu bekommen. Sie haben die Idee, auf dem Tisch zu stehen und die Nazis zusammen mit Hitler anzuprangern. Sie planen auch, Ihre Männer einzuladen, mit Ihnen die NS-Armee zu verlassen und in die Schweiz zu reisen, aber Sie erkennen auch die Gefahr dieser Wahl. Gehen Sie mit Ihrer Idee durch? Antworte ja oder nein?\n",
        "Jetzt ist der beste Zeitpunkt dafür, wenn Sie es überhaupt tun wollen. Ja oder Nein? \n"
    )

def when_leave_alone():
    return ask(
        "Sie haben sich entschieden, Ihren Plan für sich zu behalten. Gehst du tagsüber oder nachts? \n",
        "Sie GEHEN heute, also gehen Sie jetzt tagsüber oder nachts? \n",
        yes=['nachts'],
        no=['tagsüber']
    )

def escape_day():
    return ask(
        "Sie wurden von einem Ihrer Pvts beim Versuch gefunden, die Kaserne mit Ihrer Tasche und Ihrem Gewehr zu verlassen. Er fragt, wohin du gehst und warum du all deine Ausrüstung hast, aber deine Angst führt dazu, dass du studierst, was jede Chance zunichte macht, ihn anzulügen. Tötest du ihn oder rennst du weg? \n",
        "musst etwas machen! Der Pvt wird langsam alarmiert. Tötest du ihn oder rennst du?!? \n",
        yes=['töten'],
        no=["rennen"]
    )

def how_leave_group():
    return ask(
        "Ihre elektrisierende Rede und Ihre Position als General überzeugen Ihre Männer, sich Ihnen anzuschließen und Ihnen bei Ihrer Flucht in die Schweiz zu helfen. Gehen Sie zu Fuß oder in einem LKW? \n",
        "Ihre Männer sind angefeuert und bereit, jetzt zu gehen. Es wäre nicht gut, sie darüber nachdenken zu lassen, was sie gerade vereinbart haben. Nehmen Sie den LKW oder gehen Sie zu Fuß? \n",
        yes={'a truck', 'truck', 'the truck', 'LKW', 'Lastwagen', },
        no=['on foot', 'walk', 'leave on foot' 'zu fuss' 'zu Fuß']
    )

def air_strip():
    return ask(
        "Auf Ihrem Weg in die Schweiz stoßen Sie auf einen Luftstreifen mit einem makellosen Bomber, der an einem Ende der Landebahn unbeaufsichtigt bleibt. Rammen Sie den Zaun oder passieren Sie den Luftstreifen? \n",
        "Beeilen Sie sich und wählen Sie! Sie werden eine Kurve auf der Straße erreichen. Rammen Sie den Zaun oder passieren Sie den Luftstreifen? \n",
        yes=['ram', 'ram the fence', 'Zaun rammen', 'Zaun', 'rammen'],
        no=['pass', 'pass the air-strip', 'drive', 'Luftstreifen passieren', 'Luftstreifen', ]
    )

def fly_plane():
    return ask(
        "Sie haben beschlossen, den Zaun zu rammen und befinden sich im Luftstreifen. Bald werden Sie neben dem Bomber ziehen, aber im Moment überdenken Sie Ihre Entscheidung wirklich. Der Alarm wurde ausgelöst, aber einer Ihrer Pvts, Pvt Seth, sagt, dass sie fliegen kann. Lässt du sie fliegen Antworte ja oder nein? \n",
        "Beeilen Sie sich und wählen Sie! Die Wachen versammeln sich und nähern sich Ihrer Position! Antworte ja oder nein? "
    )


def make_it():
    return ask(
        "Sie lassen Pvt. Seth fliegt das Flugzeug. Zum Glück hat sie das Flugzeug in die Luft gebracht, aber es ist offensichtlich, dass sie über ihrem Kopf ist. Entlasten Sie sie von ihrer Position und fliegen Sie den Bomber selbst? Antworte ja oder nein? \n",
        "Ihre Männer suchen bei Ihnen nach einer Antwort, sie wollen nicht abstürzen. Übernimmst du Antworte ja oder nein? \n"
    )

while True:
    print("Hallo Spieler!!! Danke, dass du mein Spiel gespielt hast! Dieses Spiel ist sehr einfach. Beantworten Sie jede Frage, um vor den Nazis zu fliehen.\n")
    print("\n")
    print("Sie heißen Hanz Frankfurter und sind General der NS-Armee. Es gibt viele Männer wie Sie, aber im Gegensatz zu allen haben Sie einen brennenden Hass gegen die Nazis und die Gräueltaten gegen das jüdische Volk.\n")
    print("\n")
    print("Sie sind in einem Dorf am Stadtrand von Berlin mit fünf Männern unter Ihnen stationiert. Sie vermuten, dass einige oder alle Ihrer Männer Ihren Hass gegen die Nazis teilen, haben jedoch zu viel Angst vor der Bestrafung wegen Verrats.\n")
    print("\n")
    print("Seit einem Jahr träumen Sie davon, Ihren Posten zu verlassen und in die schneebedeckten Berge der neutralen Schweiz zu fliehen. Sie erkennen jedoch, dass Ihr Plan ohne Hilfe nicht möglich ist.\n")
    print("\n")

    if speak_out():
        if persuasion_attempt():
            print("Ihre Männer sind bewegt von Ihrer leidenschaftlichen Rede und beschließen, sich Ihnen anzuschließen.\n")
            if how_leave_group():
                print("Sie und Ihr Trupp fahren ungefähr eine Stunde und stoßen auf einen Luftstreifen, auf dem jemand einen makellosen Bomber ausgelassen hat.\n")
                if air_strip():
                    if fly_plane():
                        print("Sie segeln durch den Himmel und treffen nur auf geringe Turbulenzen. Pvt. Seth macht es weitaus besser als erwartet. Du schaffst es mit einer rauen Landung in die Schweiz, aber du bist so erleichtert. Sie und Ihre Männer werden in ein Gefängnis gebracht und befragt, aber sobald die Abgeordneten Ihre Geschichte hören, geben sie Ihnen eine Ehrenmedaille !!! Herzlichen Glückwunsch, du hast es lebend geschafft !!!\n")
                    else:
                        print("Sie versuchen, den Bomber zu fliegen, sind aber bei weitem nicht geschickt genug und fliegen in ein Baumdickicht. Sie enden als Nazi-Kabab.\n")
                else:
                    print("Sie fahren ein wenig die Straße hinunter, bis Sie auf eine Straßensperre stoßen. Alle Waffen werden direkt durch Ihre Fenster trainiert und in diesem Moment stellen Sie fest, dass jemand Ihre Abwesenheit und den Trottel auf der Nazifahne bemerkt hat. Sie und Ihr Team werden von den MG42 in rote Kartoffelpüree verwandelt\n")
            else:
                print("Während Sie die Straße entlang gehen, sieht Ihr Trupp einen Weg durch den Wald, der wie eine Abkürzung aussieht. Du nimmst den Weg und eine Gruppe Kinder springt von den Bäumen und tötet dich.\n")
        else:
            print("Während Sie Ihren Hass gegen die Nazis verkünden, trifft Sie eine streunende Artillerie-Granate und verwandelt Sie in einen feinen roten Nebel. War es Gott? Leider war es nicht so, es war Marcus, der mit Mörsern spielte.\n")
    else:
        if when_leave_alone():
            print("Während Sie im Dunkeln gehen, betreten Sie ein Minenfeld und werden der erste Nazi-Astronaut.\n")
        else:
            if escape_day():
                print("Ihre Kameraden hören, dass Sie den Pvt töten. wer hat dich gefunden Sie umgeben dich und schlagen dich mit komisch großen deutschen Würstchen zu Tode.\n")
            else:
                print("In Ihrer Eile, Sie hinter dem Schießstand zurückzulassen und sich in Schweizer Käse zu verwandeln, war Karma noch nie so fair.")
                break
Du wandelst die Eingabe in Kleinbuchstaben um, also müssen auch alle Antwortmöglichkeiten klein geschrieben sein.
Kraapzi
User
Beiträge: 2
Registriert: Dienstag 27. April 2021, 09:10

Danke für die hilfe, doch es geht immer noch nicht, immer wenn ich z.B töten schreibe obwohl es richtig ist geht es nicht. Entweder kickt es mich raus oder es fängt von neu an, weisst du vielleicht wieso es so ist? Auch bei "LKW", es erkennt es nicht, es erkennt nur "truck". Wieso denn?




Sirius3 hat geschrieben: Dienstag 27. April 2021, 10:19 Funktionen werden immer auf oberster Ebene definiert, niemals innerhalb einer while-Schleife.
Wenn eine if-Abfrage nur dazu da ist, True oder False zurückzugeben, kann man die Bedingung auch direkt benutzen.
Was sollen eigentlich die ganzen ch_-Präfixe? Die können alle weg.
In vier Funktionen definierst Du "Ja" und "Nein", das könnte man zu einer Definition zusammenfassen.

Code: Alles auswählen

YES = ['yes', 'y', 'yeah', 'yer', 'ja']
NO = ['no', 'n', 'nah', 'nein']

def ask(question, repeat, yes=YES, no=NO):
    response = input(question).lower()
    while response not in yes and response not in no:
        response = input(repeat).lower()
    return response in yes

def speak_out():
    return ask(
        "Heute ist die fünfte Nacht in Folge, in der Sie bis zum Morgengrauen wach geblieben sind und sich über die Idee Gedanken gemacht haben, Ihren Trupp zu verlassen. Versuchen Sie, einige Ihrer Männer davon zu überzeugen, mit Ihnen zu gehen? Antworte ja oder nein? \n",
        "Sie haben nicht mehr viel Zeit, um darüber nachzudenken, die Sonne scheint bereits durch Ihr Fenster. Antworte ja oder nein? \n",
    )

def persuasion_attempt():
    return ask(
        "Während des Frühstücks merkt man, dass es jetzt oder nie ist, den Kader auf die Seite zu bekommen. Sie haben die Idee, auf dem Tisch zu stehen und die Nazis zusammen mit Hitler anzuprangern. Sie planen auch, Ihre Männer einzuladen, mit Ihnen die NS-Armee zu verlassen und in die Schweiz zu reisen, aber Sie erkennen auch die Gefahr dieser Wahl. Gehen Sie mit Ihrer Idee durch? Antworte ja oder nein?\n",
        "Jetzt ist der beste Zeitpunkt dafür, wenn Sie es überhaupt tun wollen. Ja oder Nein? \n"
    )

def when_leave_alone():
    return ask(
        "Sie haben sich entschieden, Ihren Plan für sich zu behalten. Gehst du tagsüber oder nachts? \n",
        "Sie GEHEN heute, also gehen Sie jetzt tagsüber oder nachts? \n",
        yes=['nachts'],
        no=['tagsüber']
    )

def escape_day():
    return ask(
        "Sie wurden von einem Ihrer Pvts beim Versuch gefunden, die Kaserne mit Ihrer Tasche und Ihrem Gewehr zu verlassen. Er fragt, wohin du gehst und warum du all deine Ausrüstung hast, aber deine Angst führt dazu, dass du studierst, was jede Chance zunichte macht, ihn anzulügen. Tötest du ihn oder rennst du weg? \n",
        "musst etwas machen! Der Pvt wird langsam alarmiert. Tötest du ihn oder rennst du?!? \n",
        yes=['töten'],
        no=["rennen"]
    )

def how_leave_group():
    return ask(
        "Ihre elektrisierende Rede und Ihre Position als General überzeugen Ihre Männer, sich Ihnen anzuschließen und Ihnen bei Ihrer Flucht in die Schweiz zu helfen. Gehen Sie zu Fuß oder in einem LKW? \n",
        "Ihre Männer sind angefeuert und bereit, jetzt zu gehen. Es wäre nicht gut, sie darüber nachdenken zu lassen, was sie gerade vereinbart haben. Nehmen Sie den LKW oder gehen Sie zu Fuß? \n",
        yes={'a truck', 'truck', 'the truck', 'LKW', 'Lastwagen', },
        no=['on foot', 'walk', 'leave on foot' 'zu fuss' 'zu Fuß']
    )

def air_strip():
    return ask(
        "Auf Ihrem Weg in die Schweiz stoßen Sie auf einen Luftstreifen mit einem makellosen Bomber, der an einem Ende der Landebahn unbeaufsichtigt bleibt. Rammen Sie den Zaun oder passieren Sie den Luftstreifen? \n",
        "Beeilen Sie sich und wählen Sie! Sie werden eine Kurve auf der Straße erreichen. Rammen Sie den Zaun oder passieren Sie den Luftstreifen? \n",
        yes=['ram', 'ram the fence', 'Zaun rammen', 'Zaun', 'rammen'],
        no=['pass', 'pass the air-strip', 'drive', 'Luftstreifen passieren', 'Luftstreifen', ]
    )

def fly_plane():
    return ask(
        "Sie haben beschlossen, den Zaun zu rammen und befinden sich im Luftstreifen. Bald werden Sie neben dem Bomber ziehen, aber im Moment überdenken Sie Ihre Entscheidung wirklich. Der Alarm wurde ausgelöst, aber einer Ihrer Pvts, Pvt Seth, sagt, dass sie fliegen kann. Lässt du sie fliegen Antworte ja oder nein? \n",
        "Beeilen Sie sich und wählen Sie! Die Wachen versammeln sich und nähern sich Ihrer Position! Antworte ja oder nein? "
    )


def make_it():
    return ask(
        "Sie lassen Pvt. Seth fliegt das Flugzeug. Zum Glück hat sie das Flugzeug in die Luft gebracht, aber es ist offensichtlich, dass sie über ihrem Kopf ist. Entlasten Sie sie von ihrer Position und fliegen Sie den Bomber selbst? Antworte ja oder nein? \n",
        "Ihre Männer suchen bei Ihnen nach einer Antwort, sie wollen nicht abstürzen. Übernimmst du Antworte ja oder nein? \n"
    )

while True:
    print("Hallo Spieler!!! Danke, dass du mein Spiel gespielt hast! Dieses Spiel ist sehr einfach. Beantworten Sie jede Frage, um vor den Nazis zu fliehen.\n")
    print("\n")
    print("Sie heißen Hanz Frankfurter und sind General der NS-Armee. Es gibt viele Männer wie Sie, aber im Gegensatz zu allen haben Sie einen brennenden Hass gegen die Nazis und die Gräueltaten gegen das jüdische Volk.\n")
    print("\n")
    print("Sie sind in einem Dorf am Stadtrand von Berlin mit fünf Männern unter Ihnen stationiert. Sie vermuten, dass einige oder alle Ihrer Männer Ihren Hass gegen die Nazis teilen, haben jedoch zu viel Angst vor der Bestrafung wegen Verrats.\n")
    print("\n")
    print("Seit einem Jahr träumen Sie davon, Ihren Posten zu verlassen und in die schneebedeckten Berge der neutralen Schweiz zu fliehen. Sie erkennen jedoch, dass Ihr Plan ohne Hilfe nicht möglich ist.\n")
    print("\n")

    if speak_out():
        if persuasion_attempt():
            print("Ihre Männer sind bewegt von Ihrer leidenschaftlichen Rede und beschließen, sich Ihnen anzuschließen.\n")
            if how_leave_group():
                print("Sie und Ihr Trupp fahren ungefähr eine Stunde und stoßen auf einen Luftstreifen, auf dem jemand einen makellosen Bomber ausgelassen hat.\n")
                if air_strip():
                    if fly_plane():
                        print("Sie segeln durch den Himmel und treffen nur auf geringe Turbulenzen. Pvt. Seth macht es weitaus besser als erwartet. Du schaffst es mit einer rauen Landung in die Schweiz, aber du bist so erleichtert. Sie und Ihre Männer werden in ein Gefängnis gebracht und befragt, aber sobald die Abgeordneten Ihre Geschichte hören, geben sie Ihnen eine Ehrenmedaille !!! Herzlichen Glückwunsch, du hast es lebend geschafft !!!\n")
                    else:
                        print("Sie versuchen, den Bomber zu fliegen, sind aber bei weitem nicht geschickt genug und fliegen in ein Baumdickicht. Sie enden als Nazi-Kabab.\n")
                else:
                    print("Sie fahren ein wenig die Straße hinunter, bis Sie auf eine Straßensperre stoßen. Alle Waffen werden direkt durch Ihre Fenster trainiert und in diesem Moment stellen Sie fest, dass jemand Ihre Abwesenheit und den Trottel auf der Nazifahne bemerkt hat. Sie und Ihr Team werden von den MG42 in rote Kartoffelpüree verwandelt\n")
            else:
                print("Während Sie die Straße entlang gehen, sieht Ihr Trupp einen Weg durch den Wald, der wie eine Abkürzung aussieht. Du nimmst den Weg und eine Gruppe Kinder springt von den Bäumen und tötet dich.\n")
        else:
            print("Während Sie Ihren Hass gegen die Nazis verkünden, trifft Sie eine streunende Artillerie-Granate und verwandelt Sie in einen feinen roten Nebel. War es Gott? Leider war es nicht so, es war Marcus, der mit Mörsern spielte.\n")
    else:
        if when_leave_alone():
            print("Während Sie im Dunkeln gehen, betreten Sie ein Minenfeld und werden der erste Nazi-Astronaut.\n")
        else:
            if escape_day():
                print("Ihre Kameraden hören, dass Sie den Pvt töten. wer hat dich gefunden Sie umgeben dich und schlagen dich mit komisch großen deutschen Würstchen zu Tode.\n")
            else:
                print("In Ihrer Eile, Sie hinter dem Schießstand zurückzulassen und sich in Schweizer Käse zu verwandeln, war Karma noch nie so fair.")
                break
Du wandelst die Eingabe in Kleinbuchstaben um, also müssen auch alle Antwortmöglichkeiten klein geschrieben sein.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Code: Alles auswählen

>>> yes = ['töten']
>>> print(yes)
['töten']
>>> print(type(yes))
<class 'list'>
Es gibt da an mehreren Stellen einen kleinen unauffälligen Fehler. Im Code ist ein Komma zu viel und damit ändert sich die Bedeutung von `yes`

Code: Alles auswählen

>>> yes = ['töten'],
>>> print(yes)
(['töten'],)
>>> print(type(yes))
<class 'tuple'>
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

@/me: Wenn du dich auf meinen Code beziehst, da ist yes ein Argument, dass Komma also richtig.

@Kraapzi: den Fehler mit LKW hatte ich dir ja schon geschrieben: du wandelst alles in Kleinbuchstaben um.
Den Fehler mit "töten" kann ich nicht nachvollziehen. Und was bedeutet "kickt es mich raus"?
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Sirius3 hat geschrieben: Mittwoch 28. April 2021, 07:59 @/me: Wenn du dich auf meinen Code beziehst, da ist yes ein Argument, dass Komma also richtig.
Mein Fehler. Das habe ich in den langen Zeilen nicht korrekt zugeordnet.
Antworten