2016-05-29 60 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() 

在这里你可以看到正在玩的游戏与人。最后,当你需要回答是或否来再次玩时,再次玩游戏和退出系统的适当编码应该是什么?我有一个类似的问题,我必须编辑另一个游戏,再次播放或不再播放功能。需要完成我的作业代码

感谢B,

回答

1

当然,你必须指定输入playAgain这样的:

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

谢谢,但你如何触发no功能? – njr0502

+0

如果用户回答“否”(或者是“yes”),程序将退出,这是我所期望的行为。 – domoarrigato

1

你必须输入分配给您的while条件检查变量。除此之外,您可以提供提示作为参数传递给input()

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

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

如何触发no功能 – njr0502

+0

'while'循环只会在'playAgain'不再是'yes'或'y'时退出。 – schwobaseggl

0

还你实际上并不需要chooseCave功能。

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

没有价值呢? – njr0502