如何重新启动乌龟图形程序回到开始?

问题描述

有谁知道怎么重启程序,比如,当玩家达到5分时,在文本“Player a Wins”后它会给出一定的时间延迟,然后直接从0 0重新开始游戏。我创建了分数,但是一旦达到 5 分就被困在重新启动程序?

我在开始时已将 turtle 作为游戏导入。

if (scoreboard_a > 4):
    win.write("Player A WINS!",font=textfont2)
    game.reset()
elif (scoreboard_b > 4):
    win.write("Player B WINS!",font=textfont2)
    game.reset()

解决方法

您可以像这样重新启动整个程序:

import os
import sys
import time
time.sleep(2)
os.execl(sys.executable,sys.executable,*sys.argv)

或者,您可以重置分数和其他元素,例如:

time.sleep(2)
# reset variables 
,

您可以使用 while 循环;将所有你的代码(预计可能不是导入)放入一个 while 循环中:

import turtle
from time import sleep

while True:
    # All your game code here
    scoreboard_a = 0
    scoreboard_b = 0
    if (scoreboard_a > 4):
        win.write("Player A WINS!",font=textfont2)
    elif (scoreboard_b > 4):
        win.write("Player B WINS!",font=textfont2)
    sleep(2)

如果您的游戏已在 while 循环中,请在游戏结束时使用 break

import turtle
from time import sleep

while True:
    # All your game code here
    scoreboard_a = 0
    scoreboard_b = 0
    while True:
        # All your game code here
        if (scoreboard_a > 4):
            win.write("Player A WINS!",font=textfont2)
            sleep(2)
            break
        elif (scoreboard_b > 4):
            win.write("Player B WINS!",font=textfont2)
            sleep(2)
            break