Простите за полный беспорядок кода, я очень новичок в этом. это базовая c игра, в которой избегают падающих предметов, и проблема, с которой я столкнулся, заключается в том, что я пытаюсь сделать так, что если вы «cra sh», появится всплывающее окно с вопросом, хотите ли вы играть снова с кнопками да или нет.
пока у меня запущено всплывающее окно, и оно закрывается, если не выбрано. если выбрано «да», оно либо ничего не делает, либо использует другой подход, который я выбрал, он просто запускает звук «cra sh» при повторении, а всплывающее окно снова возвращается обратно.
Кто-нибудь знает, что я делаю не так? Кажется, я не могу найти учебник о том, кто делает то, что я хочу
#resetting
def restart():
player_car.goto(-100,-400)
left.goto(-300, 600)
mid.goto(-100, 300)
right.goto(100, 800)
main
def crashed():
end = Tk()
end.iconbitmap('c:/CODEING/test_img/car_icon.ico')
end.bg = 'black'
end.title('Restart')
end.geometry('250x100')
question = Label(end, text='Would you like to play again?', font=('bold', 12))
question.grid(row=0, column=1, columnspan=5)
yes = Button(end, text='Yes', padx=20, pady=10, font=12, command=restart)
no = Button(end, text='No', padx=20, pady=10, font=12, command=exit)
yes.grid(row=3, column=1)
no.grid(row=3, column=4)
pad1 = Label(end, padx=10).grid(row=0, column=0)
pad2 = Label(end).grid(row=2, column=0)
end.mainloop()
def main():
global s
global hs
#left lane
left.sety(left.ycor() - left.dy)
if left.ycor() < -650:
left.sety(1000)
winsound.PlaySound('c:/CODEING/Test_sounds/point.wav', winsound.SND_ASYNC)
s += 10
if s > hs:
hs = s
pen.clear()
pen.write('''Score= {}
High score ={}'''.format(s, hs), font=('Comic Sans MS',20,'underline'))
if (left.ycor() <= -300 and left.ycor() >=-480) and (left.xcor() == player_car.xcor()):
left.dy *= 0
winsound.PlaySound('c:/CODEING/Test_sounds/car_crash.wav', winsound.SND_ASYNC)
time.sleep(1)
crashed()
while True:
wn.update()
main()