forked from aliya-rahmani/Projects
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTic-Tac-Toe.py
116 lines (89 loc) · 4.81 KB
/
Tic-Tac-Toe.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
from tkinter import *
import tkinter.messagebox
tk = Tk()
tk.title("Tic -Tac -Toe")
pa = StringVar()
playerb = StringVar()
p1 = StringVar()
p2 = StringVar()
player1_name = Entry(tk, textvariable=p1, bd=5)
player1_name.grid(row=1, column=1, columnspan=8)
player2_name = Entry(tk, textvariable=p2, bd=5)
player2_name.grid(row=2, column=1, columnspan=8)
bclick = True
flag = 0
def disableButton():
button1.configure(state=DISABLED)
button2.configure(state=DISABLED)
button3.configure(state=DISABLED)
button4.configure(state=DISABLED)
button5.configure(state=DISABLED)
button6.configure(state=DISABLED)
button7.configure(state=DISABLED)
button8.configure(state=DISABLED)
button9.configure(state=DISABLED)
def btnClick(buttons):
global bclick, flag, player2_name, player1_name, playerb, pa
if buttons["text"] == " " and bclick == True:
buttons["text"] = "X"
bclick = False
playerb = p2.get() + " Wins!"
pa = p1.get() + " Wins!"
checkForWin()
flag += 1
elif buttons["text"] == " " and bclick == False:
buttons["text"] = "$"
bclick = True
checkForWin()
flag += 1
else:
tkinter.messagebox.showinfo("Tic-Tac-Toe", "opps...!Button already Clicked! please,click another button.")
def checkForWin():
if (button1['text'] == 'X' and button2['text'] == 'X' and button3['text'] == 'X' or
button4['text'] == 'X' and button5['text'] == 'X' and button6['text'] == 'X' or
button7['text'] =='X' and button8['text'] == 'X' and button9['text'] == 'X' or
button1['text'] == 'X' and button5['text'] == 'X' and button9['text'] == 'X' or
button3['text'] == 'X' and button5['text'] == 'X' and button7['text'] == 'X' or
button1['text'] == 'X' and button2['text'] == 'X' and button3['text'] == 'X' or
button1['text'] == 'X' and button4['text'] == 'X' and button7['text'] == 'X' or
button2['text'] == 'X' and button5['text'] == 'X' and button8['text'] == 'X' or
button7['text'] == 'X' and button6['text'] == 'X' and button9['text'] == 'X'):
disableButton()
tkinter.messagebox.showinfo("Tic-Tac-Toe", pa)
elif(flag == 8):
tkinter.messagebox.showinfo("Tic-Tac-Toe", "It is a Tie")
elif (button1['text'] == '$' and button2['text'] == '$' and button3['text'] == '$' or
button4['text'] == '$' and button5['text'] == '$' and button6['text'] == '$' or
button7['text'] == '$' and button8['text'] == '$' and button9['text'] == '$' or
button1['text'] == '$' and button5['text'] == '$' and button9['text'] == '$' or
button3['text'] == '$' and button5['text'] == '$' and button7['text'] == '$' or
button1['text'] == '$' and button2['text'] == '$' and button3['text'] == '$' or
button1['text'] == '$' and button4['text'] == '$' and button7['text'] == '$' or
button2['text'] == '$' and button5['text'] == '$' and button8['text'] == '$' or
button7['text'] == '$' and button6['text'] == '$' and button9['text'] == '$'):
disableButton()
tkinter.messagebox.showinfo("Tic-Tac-Toe", playerb)
buttons = StringVar()
label = Label( tk, text="Player 1:", font='Times 20 bold', bg='blue', fg='black', height=1, width=8)
label.grid(row=1, column=0)
label = Label( tk, text="Player 2:", font='Times 20 bold', bg='pink', fg='black', height=1, width=8)
label.grid(row=2, column=0)
button1 = Button(tk, text=" ", font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button1))
button1.grid(row=3, column=0)
button2 = Button(tk, text=' ', font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button2))
button2.grid(row=3, column=1)
button3 = Button(tk, text=' ',font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button3))
button3.grid(row=3, column=2)
button4 = Button(tk, text=' ', font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button4))
button4.grid(row=4, column=0)
button5 = Button(tk, text=' ', font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button5))
button5.grid(row=4, column=1)
button6 = Button(tk, text=' ', font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button6))
button6.grid(row=4, column=2)
button7 = Button(tk, text=' ', font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button7))
button7.grid(row=5, column=0)
button8 = Button(tk, text=' ', font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button8))
button8.grid(row=5, column=1)
button9 = Button(tk, text=' ', font='Times 20 bold', bg='gray', fg='blue', height=4, width=8, command=lambda: btnClick(button9))
button9.grid(row=5, column=2)
tk.mainloop()