import tkinter as tk

spelerX = "X"
spelerO = "O"
varLeeg = " "
bord = [[varLeeg, varLeeg, varLeeg],
[varLeeg, varLeeg, varLeeg],
[varLeeg, varLeeg, varLeeg]]

def printBord():
for row in bord:
print(" | ".join(row))
print("-" * 5)

def beurt():
lege_vakjes = leegvakje()
if len(lege_vakjes) == 0:
print("Het bord is vol. Het is een gelijkspel!")
return None
elif len(lege_vakjes) % 2 == 0:
return spelerO
else:
return spelerX

def leegvakje():
vakjes = []
for i in range(3):
for j in range(3):
if bord[i][j] == varLeeg:
vakjes.append((i, j))
return vakjes

def winnaar(state, speler):
gewonnen = [
[state[0][0], state[0][1], state[0][2]],
[state[1][0], state[1][1], state[1][2]],
[state[2][0], state[2][1], state[2][2]],
[state[0][0], state[1][0], state[2][0]],
[state[0][1], state[1][1], state[2][1]],
[state[0][2], state[1][2], state[2][2]],
[state[0][0], state[1][1], state[2][2]],
[state[2][0], state[1][1], state[0][2]],
]
if [speler, speler, speler] in gewonnen:
print(speler + " heeft gewonnen")
return True
return False

def on_button_click(row, col):
speler = beurt()
if speler is None:
return
if bord[row][col] == varLeeg:
bord[row][col] = speler
update_button(row, col)
if winnaar(bord, speler):
printBord()
print(speler + " heeft gewonnen!")
else:
beurt()

def update_button(row, col):
buttons[row][col].config(text=bord[row][col], state=tk.DISABLED)

# GUI
def create_board(root, text_size):
buttons = []
for i in range(3):
row_buttons = []
for j in range(3):
button = tk.Button(root, text="", width=5, height=2,
font=("Arial", text_size),
command=lambda row=i, col=j: on_button_click(row, col))
button.grid(row=i, column=j, padx=5, pady=5)
row_buttons.append(button)
buttons.append(row_buttons)
return buttons

root = tk.Tk()
root.title("Buttter, kees en Eggs")

text_size = 25
buttons = create_board(root, text_size)

root.mainloop()

 

Maak jouw eigen website met JouwWeb