Не могу разобраться, как сделать так, чтобы при нажатии на одну из 9 кнопок вылезал вопрос на эту тему, и в случае верного ответа ставился крестик(если отвечал крестик) и ноль(если отвечал другой игрок). Также непонятно, как дать пользователю определенное количество попыток на ответ и как создать поле вопросов? Сдавать скоро уже.
#Tic-tac-toe from tkinter import * import tkinter.messagebox def question(): child = Toplevel(root) child.title('Question') child.geometry('400x250+400+300') def output(event): s = ent.get() if s == "1970": but1=Button(child,text= "You're right!") but1.grid(row=2,column=0) but1.bind("<Button-1>",click()) ent = Entry(child,width=40) but = Button(child,text="When was Lenin born?") ent.grid(row=0,column=0,padx=20) but.grid(row=1,column=0) but.bind("<Button-1>",output) root.mainloop() #exit def exit_(event): root.destroy() #help def help(event): tkinter.messagebox.showinfo("Справка по игре.", "F1 - Информация.\n"+ "F12 - Новая игра.\n"+ "Ecs - выход из игры.\n") #begin one more time def begin(event): global butn global field global numButton btns() field = [0, 0, 0, 0, 0, 0, 0, 0, 0] numButton = [] #the logic og game def logik(): global field global numButton end = False if field[0] == field[1] == field[2] > 0: winner = field[0] end = True elif field[3] == field[4] == field[5] > 0: winner = field[3] end = True elif field[6] == field[7] == field[8] > 0: winner = field[6] end = True elif field[0] == field[3] == field[6] > 0: winner = field[0] end = True elif field[1] == field[4] == field[7] > 0: winner = field[1] end = True elif field[2] == field[5] == field[8] > 0: winner = field[2] end = True elif field[0] == field[4] == field[8] > 0: winner = field[0] end = True elif field[2] == field[4] == field[6] > 0: winner = field[2] end = True else: if len(numButton) == 9: tkinter.messagebox.showinfo("The end!", " Draw! ") if end: if winner == 1: user = "Tic" elif winner == 2: user = "Tac" tkinter.messagebox.showinfo("The end", "The winner- " + user) begin(None) def click(button, num): global numButton if num not in numButton: global XO if XO == 1: button.config(text = 'Tic') button.config(bg = 'gold') field[num] = XO XO = 2 else: button.config(text = 'Tac') button.config(bg = 'grey') field[num] = XO XO = 1 numButton.append(num) logik() field = [0, 0, 0, 0, 0, 0, 0, 0, 0] XO = 1 numButton = [] root = Tk() root.title("Tic-tac-toe") root.geometry("342x345") root.resizable(False, False) def btns(): #0 ris0 = Button(root, width=13, height=5, bg="green", text="history", command=lambda:click(ris0, 0)) ris0.grid(row = 1, column = 1) #1 ris1 = Button(root, width=13, height=5, bg="green", text="art", command=lambda:click(ris1, 1)) ris1.grid(row = 1, column = 2) #2 ris2 = Button(root, width=13, height=5, bg="green", text="science", command=lambda:click(ris2, 2)) ris2.grid(row = 1, column = 3) #3 ris3 = Button(root, width=13, height=5, bg="green", text="sport", command=lambda:click(ris3, 3)) ris3.grid(row = 2, column = 1) #4 ris4 = Button(root, width=13, height=5, bg="green", text="Difficult question", command=lambda:click(ris4, 4)) ris4.grid(row = 2, column = 2) #5 ris5 = Button(root, width=13, height=5, bg="green", text="study of local lore", command=lambda:click(ris5, 5)) ris5.grid(row = 2, column = 3) #6 ris6 = Button(root, width=13, height=5, bg="green", text="eography", command=lambda:click(ris6, 6)) ris6.grid(row = 3, column = 1) #7 ris7 = Button(root, width=13, height=5, bg="green", text="music", command=lambda:click(ris7, 7)) ris7.grid(row =3, column = 2) #8 ris8 = Button(root, width=13, height=5, bg="green", text="literature", command=lambda:click(ris8, 8)) ris8.grid(row = 3, column = 3) butn = [ris0, ris1, ris2, ris3, ris4, ris5, ris6, ris7, ris8] btns() #functional buttons root.bind('<Escape>', exit_) root.bind('<F1>', help) root.bind('<F12>', begin) root.mainloop()