Professional Documents
Culture Documents
window=tk.Tk()
window.geometry("800x600")
window.title("Krestiki Noliki")
#Переменные:
click_number=0
field=[0,0,0,0,0,0,0,0,0,0]
end=0
a1_clicked=0
a2_clicked=0
a3_clicked=0
a4_clicked=0
a5_clicked=0
a6_clicked=0
a7_clicked=0
a8_clicked=0
a9_clicked=0
player1_wins=0
player2_wins=0
max_wins=0
schetchik=0
def on_func():
global schetchik
schet.config(text=f"{player1_wins} : {player2_wins}")
schetchik=1
def off_func():
global schetchik
global player1_wins
global player2_wins
player1_wins=0
player2_wins=0
schet.config(text="")
schetchik=0
def randomclick():
global field
global click_number
global a1_clicked
global a2_clicked
global a3_clicked
global a4_clicked
global a5_clicked
global a6_clicked
global a7_clicked
global a8_clicked
global a9_clicked
global end
if end==0:
if click_number==9:
check_win()
check_end()
randomnumber=randint(1,9)
if randomnumber==1:
if a1_clicked==1:
randomclick()
else:
a1.config(text="O",bg="lime")
click_number=click_number+1
field[1]="O"
a1_clicked=1
elif randomnumber==2:
if a2_clicked==1:
randomclick()
else:
a2.config(text="O",bg="lime")
click_number=click_number+1
field[2]="O"
a2_clicked=1
elif randomnumber==3:
if a3_clicked==1:
randomclick()
else:
a3.config(text="O",bg="lime")
click_number=click_number+1
field[3]="O"
a3_clicked=1
elif randomnumber==4:
if a4_clicked==1:
randomclick()
else:
a4.config(text="O",bg="lime")
click_number=click_number+1
field[4]="O"
a4_clicked=1
elif randomnumber==5:
if a5_clicked==1:
randomclick()
else:
a5.config(text="O",bg="lime")
click_number=click_number+1
field[5]="O"
a5_clicked=1
elif randomnumber==6:
if a6_clicked==1:
randomclick()
else:
a6.config(text="O",bg="lime")
click_number=click_number+1
field[6]="O"
a6_clicked=1
elif randomnumber==7:
if a7_clicked==1:
randomclick()
else:
a7.config(text="O",bg="lime")
click_number=click_number+1
field[7]="O"
a7_clicked=1
elif randomnumber==8:
if a8_clicked==1:
randomclick()
else:
a8.config(text="O",bg="lime")
click_number=click_number+1
field[8]="O"
a8_clicked=1
elif randomnumber==9:
if a9_clicked==1:
randomclick()
else:
a9.config(text="O",bg="lime")
click_number=click_number+1
field[9]="O"
a9_clicked=1
check_win()
check_end()
else:
check_end()
def check_end():
global end
if end==1:
restart()
def info_show():
console.config(text="Первый игрок-Х, второй-О. При окончании игры
автоматически начинается следующая. Удачи!")
#functions:
def restart():
global field
global click_number
global a1_clicked
global a2_clicked
global a3_clicked
global a4_clicked
global a5_clicked
global a6_clicked
global a7_clicked
global a8_clicked
global a9_clicked
global end
global player1_wins
global player2_wins
field=[0,0,0,0,0,0,0,0,0,0]
click_number=0
end=0
a1_clicked=0
a2_clicked=0
a3_clicked=0
a4_clicked=0
a5_clicked=0
a6_clicked=0
a7_clicked=0
a8_clicked=0
a9_clicked=0
a1.config(bg="yellow",text="")
a2.config(bg="yellow",text="")
a3.config(bg="yellow",text="")
a4.config(bg="yellow",text="")
a5.config(bg="yellow",text="")
a6.config(bg="yellow",text="")
a7.config(bg="yellow",text="")
a8.config(bg="yellow",text="")
a9.config(bg="yellow",text="")
console.config(text="")
def full_restart():
restart()
off_func()
def a1_func():
global click_number
global a1_clicked
if a1_clicked==0:
console.config(text="")
a1_clicked=1
a1.config(text="X",bg="green")
click_number=click_number+1
field[1]="X"
check_win()
if end==1: check_end()
else: randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a2_func():
global click_number
global a2_clicked
if a2_clicked==0:
console.config(text="")
a2_clicked=1
if click_number%2==0:
a2.config(text="X",bg="green")
click_number=click_number+1
field[2]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a3_func():
global click_number
global a3_clicked
if a3_clicked==0:
console.config(text="")
a3_clicked=1
if click_number%2==0:
a3.config(text="X",bg="green")
click_number=click_number+1
field[3]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a4_func():
global click_number
global a4_clicked
if a4_clicked==0:
console.config(text="")
a4_clicked=1
if click_number%2==0:
a4.config(text="X",bg="green")
click_number=click_number+1
field[4]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a5_func():
global click_number
global a5_clicked
if a5_clicked==0:
console.config(text="")
a5_clicked=1
if click_number%2==0:
a5.config(text="X",bg="green")
click_number=click_number+1
field[5]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a6_func():
global click_number
global a6_clicked
if a6_clicked==0:
console.config(text="")
a6_clicked=1
if click_number%2==0:
a6.config(text="X",bg="green")
click_number=click_number+1
field[6]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a7_func():
global click_number
global a7_clicked
if a7_clicked==0:
console.config(text="")
a7_clicked=1
if click_number%2==0:
a7.config(text="X",bg="green")
click_number=click_number+1
field[7]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a8_func():
global click_number
global a8_clicked
if a8_clicked==0:
console.config(text="")
a8_clicked=1
if click_number%2==0:
a8.config(text="X",bg="green")
click_number=click_number+1
field[8]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
check_win()
check_end()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
def a9_func():
global click_number
global a9_clicked
if a9_clicked==0:
console.config(text="")
a9_clicked=1
if click_number%2==0:
a9.config(text="X",bg="green")
click_number=click_number+1
field[9]="X"
check_win()
if end==1:
check_end()
else:
randomclick()
else:
console.config(text="Вы не можете нажать на данную кнопку.")
check_win()
#tkinter:
console=tk.Label()
console.place(x=0,y=400)
if field[1]=="X":
messagebox.showinfo("The end", "Первый игрок одержал
победу")
if schetchik==1:
player1_wins=player1_wins+1
schet.config(text=f"{player1_wins}:
{player2_wins}")
else:
messagebox.showinfo("The end", "Второй игрок одержал
победу")
if schetchik==1:
player2_wins=player2_wins+1
schet.config(text=f"{player1_wins}:
{player2_wins}")
else:
messagebox.showinfo("The end", "Второй игрок одержал
победу")
if schetchik==1:
player2_wins=player2_wins+1
schet.config(text=f"{player1_wins}:
{player2_wins}")
elif click_number==9:
end=1
messagebox.showinfo("The end", "Ничья")
window.mainloop()