Как остановить этот таймер в Python? - PullRequest
0 голосов
/ 20 июня 2020

Я создал этот таймер для цветной игры. Я использовал потоки для запуска этой функции. Я запускаю и останавливаю эту функцию с помощью логических значений. Но когда я останавливаю этот таймер, он продолжает работать в фоновом режиме. Пожалуйста, помогите.

Функция обратного отсчета:

def countdown():
    global time_count
    global timer_start
    if timer_start==True:
        while time_count>0:
            timer.config(text=f"Countdown: {time_count}")
            time.sleep(1)
            time_count-=1
        else:
            timer.config(text="Time Out")
    else:
        timer.config(text="")

Запуск игры:

def start_game():
    global color_list
    global color_button
    global y
    global time_count
    global timer_start
    timer_start = True
    t1 = threading.Thread(target=countdown)
    t1.start()
    x = choice(color_list)
    y = choice(color_button)
    color_show.config(text=x, fg=y)

Проверка функции:

def check_btn(colour):
    global y
    global score
    global highscore
    global timer_start
    global time_count
    if colour==y:
        timer_start = False
        score += 1
        time_count = 10
        result.config(text="You Win!", fg="Sea Green")
        uscore.config(text=f"Player's Score: {score}")
        if score > highscore:
            hscore.config(text=f"Highscore: {score}")
            doc2 = open("C:/Users/Panangat/Documents/Projects/Python Projects/tkinter/Highscore.txt","w")
            doc2.write(str(score))
            doc2.close()
    else:
        result.config(text="You Failed!", fg="Indian Red")
    start_game()
...