如何插入重新启动游戏选项?

2024-05-13 00:40:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的骰子游戏结束时有一个选项:

Do you want to restart? Yes or No

如果用户键入yes,游戏将重新启动,并无限次重新启动,直到用户玩够了游戏并退出。

我知道你可以用一个循环来做,但是怎么做呢?

import random

print("Dice Game: try to roll a bigger number than the computer! Good luck!")

print("Type 'go' to roll")
dieroll = input()
if dieroll == 'go':
    myNumber = random.randint(1,6)
    pcNumber = random.randint(1,6)
    print("You rolled " + str(myNumber))
    print("He rolled " + str(pcNumber))
    if myNumber < pcNumber:
        print("You lose!")
    if pcNumber < myNumber:
        print("You win!")

Tags: to用户you游戏goifrandomprint
3条回答

首先,您应该将代码打包到一个函数中,例如

def game():
    your code

对于用户提示,可以在Python 3.x中使用raw_input()-Python 2.x和input() 在程序结束时,尝试添加以下内容:

answer = raw_input("Restart?")
if answer == "Yes":
    print "Leaving the game"
    sys.exit(0) # import sys module 
elif answer == "No":
    print "Starting new game"
    game()

可以使用while循环来实现此选项。

下面是一个示例实现:

import random

# Instructions for starting the game

while True:
    print("Type 'go' to roll")
    dieroll = input()
    if dieroll == 'go':
        myNumber, pcNumber = random.randint(1,6), random.randint(1,6)
        print("You rolled " + str(myNumber))
        print("He rolled " + str(pcNumber))
        if myNumber <= pcNumber:
            print("You lose!")
        else:
            print("You win!")

    print("Do you want to restart ? Yes or No")
    response = input()
    if not response == "Yes":
        break

您可以将游戏包装到函数中,例如game(),然后在无限while循环中执行它。如果用户拒绝,它将退出循环,否则它将再次运行。等等。。。

while True:
    game()
    restart = input('do you want to restart Y/N?)
    if restart == 'N'
        break
    elif restart == 'Y':
        continue

相关问题 更多 >