Article I can't make the right delay.

WILD

Administrator
Staff member
ADMIN
SELLER
SUPREME
MEMBER
Joined
Jan 21, 2025
Messages
219
Reaction score
636
Deposit
0$
Я разрабатываю игру в крестики-нолики. Когда игра заканчивается, я хочу, чтобы экран сначала очистился, а затем через секунду отобразилось сообщение «Вы выиграли!». Я использую функцию `.after()`, которая похожа на `time.sleep()`, но она приостанавливает весь процесс, а затем немедленно очищает экран и отображает сообщение. Я пробовал использовать `asyncio`, но пока не до конца разобрался в его работе, поэтому ничего не получилось. Есть ли способ сделать это без использования асинхронных операций, или мне нужно будет изучить их подробнее?

Вот фрагмент кода, где это происходит:
Python

def click(event):
col = int(event.x//(cWidth/xCells))
row = int(event.y//(cHeight/yCells))

IIcol, IIrow = GameBase.step(col, row)
если IIcol не равен None:
addX(col, row)
если IIrow не равен None:
addO(IIcol, IIrow)
check = GameBase.winCheck()
если проверка не равна None:
game.delet("all")
game.after(1000)
game.create_text(cWidth/2, cHeight/2, fill="#33A333", font="Comic 20 bold",
текст="Ты победил!")
Игра здесь выступает в роли холста, а щелчок происходит при нажатии мыши.
 
Top Bottom