2016-05-29 5 views
-3
import random 
import time 

def displayIntro(): 
    print('You are in a land full of dragons. In front of you,') 
    print('you see two caves. In one cave, the dragon is friendly') 
    print('and will share his treasure with you. The other dragon') 
    print('is greedy and hungry, and will eat you on sight.') 
    print() 

def chooseCave(): 
    cave = '' 
    while cave != '1' and cave != '2': 
     print('Which cave will you go into? (1 or 2)') 
     cave = input() 

    return cave 

def checkCave(chosenCave): 
    print('You approach the cave...') 
    time.sleep(2) 
    print('It is dark and spooky...') 
    time.sleep(2) 
    print('A large dragon jumps out in front of you! He opens his jaws and...') 
    print() 
    time.sleep(2) 

    friendlyCave = random.randint(1, 2) 

    if chosenCave == str(friendlyCave): 
     print('Gives you his treasure!') 
    else: 
     print('Gobbles you down in one bite!') 

playAgain = 'yes' 
while playAgain == 'yes' or playAgain == 'y': 

    displayIntro() 

    caveNumber = chooseCave() 

    checkCave(caveNumber) 

    print('Do you want to play again? (yes or no)') 
    playAgain = 2 
    1 
    input() 

Hier können Sie ein Spiel mit dem menschlichen gespielt zu sehen ist. Am Ende, wenn Sie mit "Ja" oder "Nein" antworten müssen, um wieder zu spielen, was sollte die richtige Codierung sein, um das Spiel erneut zu spielen und das System zu verlassen, wenn Sie nicht mehr spielen möchten. Ich habe ein ähnliches Problem mit einem anderen Spiel, das ich bearbeiten muss, mit der Wiedergabe wieder oder nicht wieder zu spielen.Benötigen Zuordnung meines Schulcode zu beenden

Dank b,

Antwort

1

Sicherlich haben Sie die Eingabe in playAgain wie folgt vergeben:

print('Do you want to play again? (yes or no)') 
playAgain = input() 
+0

Danke, aber wie triggern Sie die keine Funktion? – njr0502

+0

Wenn der Benutzer "nein" (oder etwas anderes als "ja") antwortet, wird das Programm beendet, was das gewünschte Verhalten ist, nehme ich an. – domoarrigato

1

Sie haben die Eingabe in der Variablen zugewiesen werden, die Sie im while Zustand einlagern möchten. Darüber hinaus können Sie die Eingabeaufforderung als Argument an input() bieten:

while playAgain == 'yes' or playAgain == 'y': 
    ... 

    playAgain = input('Do you want to play again? (yes or no)\n') 
+0

Wie löst man die no-Funktion aus? – njr0502

+0

Die 'while'-Schleife wird nur beendet, wenn' playAgain' nicht mehr 'yes' oder 'y' ist. – schwobaseggl

0

auch brauchen Sie nicht wirklich die chooseCave Funktion.

playAgain = 'yes' 
while playAgain == 'yes' or playAgain == 'y': 
    displayIntro() 
    checkCave(input('Which cave will you go into? (1 or 2)')) 
    playAgain=input('Do you want to play again? (yes or no)') 
+0

Was ist mit dem No-Wert? – njr0502