Так что я только изучал Tkinter и делал простую игру на линкорах, и все работало, за исключением того факта, что Tkinter не имеет атрибута с именем 'messagebox' (строка 22)
Вот мой код:
import tkinter
from random import randint
row = randint(0,4)
col = randint(0,4)
window = tkinter.Tk()
window.title("Battleship")
i = 0
buttons = []
for x in range(5):
buttons.append([])
for y in range(5):
b = tkinter.Button(window, width = 10, height = 4, command = lambda x=x, y=y:clickOn(x,y))
b.grid(row = y, column = x, sticky=tkinter.N+tkinter.W+tkinter.S+tkinter.E)
buttons[x].append(b)
turn = 1
buttons[row][col]["text"] = "X"
def clickOn(x,y):
global turn
if turn > 4:
tkinter.messagebox.showinfo("No turns left", "You have no turns...")
window.destroy()
else:
buttons[x][y]["text"] = turn
buttons[x][y].config(state=tkinter.DISABLED)
buttons[x][y].config(relief=tkinter.SUNKEN)
buttons[x][y].config(background= '#9ee7ff')
if x == row and y == col:
buttons[row][col]["text"] = ":)"
buttons[x][y].config(background= '#ff7575')
tkinter.messagebox.showinfo("YOU WON!!!!", "You hit my Ship")
window.destroy()
turn += 1