Как сделать таймер в игре

Я сделал игру на Python (очень простую которую запускаю в cmd)

Версия Python 3.9

Нужно чтобы пока шел таймер, пользователь мог что-то делать. Пример: В моей игре героя кусает ядовитая змея и нужно в течении 10 сек. выпить хилку

Таймер должен отображаться на экране (как обратный отсчет) и в это время герой должен выпить исцеляющее зелье если не выпьет, умрет.

time.sleep() тут точно не подходит. Как я могу сделать такой таймер?


Ответы (1 шт):

Автор решения: Smart Beetle

Используйте threading для создания 2-ого потока. Заведите переменную play и поставьте изначально ей значение True. Переменная play - разрешение на игру. То есть когда play = False, то тогда игрок не играет и значит он умер. Создаем функцию:

def func():
    global play
    sleep(10)
    play = False

И вызываем с помощью:

threading.Thread(target=func).start()

После этого func запустится отдельным потоком и не будет мешать главному потоку.Но через 10 сек он поменяет значение переменной play.Ну а дальше я надеюсь вы справитесь сами

→ Ссылка