Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.69 KB | None | 0 0
  1. from tkinter import *
  2. from tkinter import messagebox
  3.  
  4.  
  5. class Tictactoe:
  6.     def __init__(self):
  7.         self.window = Tk()
  8.  
  9.         self.window.title("Welcome to The Gaming world Tic-Tac-Toe ")
  10.         self.window.geometry("400x300")
  11.  
  12.         lbl = Label(self.window, text="Tic-tac-toe Game", font=('Helvetica', '15'))
  13.         lbl.grid(row=0, column=0)
  14.         lbl = Label(self.window, text="Player 1: X", font=('Helvetica', '10'))
  15.         lbl.grid(row=1, column=0)
  16.         lbl = Label(self.window, text="Player 2: O", font=('Helvetica', '10'))
  17.         lbl.grid(row=2, column=0)
  18.  
  19.         self.btn1 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked1)
  20.         self.btn1.grid(column=1, row=1)
  21.         self.btn2 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked2)
  22.         self.btn2.grid(column=2, row=1)
  23.         self.btn3 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked3)
  24.         self.btn3.grid(column=3, row=1)
  25.         self.btn4 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked4)
  26.         self.btn4.grid(column=1, row=2)
  27.         self.btn5 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked5)
  28.         self.btn5.grid(column=2, row=2)
  29.         self.btn6 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked6)
  30.         self.btn6.grid(column=3, row=2)
  31.         self.btn7 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked7)
  32.         self.btn7.grid(column=1, row=3)
  33.         self.btn8 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked8)
  34.         self.btn8.grid(column=2, row=3)
  35.         self.btn9 = Button(self.window, text=" ", bg="yellow", fg="Black", width=3, height=1, font=('Helvetica', '20'), command=self.clicked9)
  36.         self.btn9.grid(column=3, row=3)
  37.  
  38.         self.turn = 1# For first person turn.
  39.         self.flag = 1
  40.  
  41.         self.window.mainloop()
  42.  
  43.     def clicked1(self):
  44.         if self.btn1["text"] == " ":   #For getting the text of a button
  45.             if self.turn == 1:
  46.                 self.turn = 2
  47.                 self.btn1["text"] = "X"
  48.             elif self.turn == 2:
  49.                 self.turn = 1
  50.                 self.btn1["text"] = "O"
  51.             self.check()
  52.  
  53.     def clicked2(self):
  54.         if self.btn2["text"] == " ":
  55.             if self.turn == 1:
  56.                 self.turn = 2
  57.                 self.btn2["text"] = "X"
  58.             elif self.turn == 2:
  59.                 self.turn = 1
  60.                 self.btn2["text"] = "O"
  61.             self.check()
  62.  
  63.     def clicked3(self):
  64.         if self.btn3["text"] == " ":
  65.             if self.turn == 1:
  66.                 self.turn = 2
  67.                 self.btn3["text"] = "X"
  68.             elif self.turn == 2:
  69.                 self.turn = 1
  70.                 self.btn3["text"] = "O"
  71.             self.check()
  72.  
  73.     def clicked4(self):
  74.         if self.btn4["text"] == " ":
  75.             if self.turn == 1:
  76.                 self.turn = 2
  77.                 self.btn4["text"] = "X"
  78.             elif self.turn == 2:
  79.                 self.turn = 1
  80.                 self.btn4["text"] = "O"
  81.             self.check()
  82.  
  83.     def clicked5(self):
  84.         if self.btn5["text"] == " ":
  85.             if self.turn == 1:
  86.                 self.turn = 2
  87.                 self.btn5["text"] = "X"
  88.             elif self.turn == 2:
  89.                 self.turn = 1
  90.                 self.btn5["text"] = "O"
  91.             self.check()
  92.  
  93.     def clicked6(self):
  94.         if self.btn6["text"] == " ":
  95.             if self.turn == 1:
  96.                 self.turn = 2
  97.                 self.btn6["text"] = "X"
  98.             elif self.turn == 2:
  99.                 self.turn = 1
  100.                 self.btn6["text"] = "O"
  101.             self.check()
  102.  
  103.     def clicked7(self):
  104.         if self.btn7["text"] == " ":
  105.             if self.turn == 1:
  106.                 self.turn = 2
  107.                 self.btn7["text"] = "X"
  108.             elif self.turn == 2:
  109.                 self.turn = 1
  110.                 self.btn7["text"] = "O"
  111.             self.check()
  112.  
  113.     def clicked8(self):
  114.         if self.btn8["text"] == " ":
  115.             if self.turn == 1:
  116.                 self.turn = 2
  117.                 self.btn8["text"] = "X"
  118.             elif self.turn == 2:
  119.                 self.turn = 1
  120.                 self.btn8["text"] = "O"
  121.             self.check()
  122.  
  123.     def clicked9(self):
  124.         if self.btn9["text"] == " ":
  125.             if self.turn == 1:
  126.                 self.turn = 2
  127.                 self.btn9["text"] = "X"
  128.             elif self.turn == 2:
  129.                 self.turn = 1
  130.                 self.btn9["text"] = "O"
  131.             self.check()
  132.  
  133.     def check(self):
  134.         b1 = self.btn1["text"]
  135.         b2 = self.btn2["text"]
  136.         b3 = self.btn3["text"]
  137.         b4 = self.btn4["text"]
  138.         b5 = self.btn5["text"]
  139.         b6 = self.btn6["text"]
  140.         b7 = self.btn7["text"]
  141.         b8 = self.btn8["text"]
  142.         b9 = self.btn9["text"]
  143.         self.flag = self.flag + 1
  144.         if b1 == b2 and b1 == b3 and b1 == "O" or b1 == b2 and b1 == b3 and b1 == "X":
  145.             self.win(self.btn1["text"])
  146.         if b4 == b5 and b4 == b6 and b4 == "O" or b4 == b5 and b4 == b6 and b4 == "X":
  147.             self.win(self.btn4["text"])
  148.         if b7 == b8 and b7 == b9 and b7 == "O" or b7 == b8 and b7 == b9 and b7 == "X":
  149.             self.win(self.btn7["text"])
  150.         if b1 == b4 and b1 == b7 and b1 == "O" or b1 == b4 and b1 == b7 and b1 == "X":
  151.             self.win(self.btn1["text"])
  152.         if b2 == b5 and b2 == b8 and b2 == "O" or b2 == b5 and b2 == b8 and b2 == "X":
  153.             self.win(self.btn2["text"])
  154.         if b3 == b6 and b3 == b9 and b3 == "O" or b3 == b6 and b3 == b9 and b3 == "X":
  155.             self.win(self.btn3["text"])
  156.         if b1 == b5 and b1 == b9 and b1 == "O" or b1 == b5 and b1 == b9 and b1 == "X":
  157.             self.win(self.btn1["text"])
  158.         if b7 == b5 and b7 == b3 and b7 == "O" or b7 == b5 and b7 == b3 and b7 == "X":
  159.             self.win(self.btn7["text"])
  160.         if self.flag == 10:
  161.             messagebox.showinfo("Tie", "Match Tied!!!  Try again :)")
  162.             self.window.destroy()
  163.  
  164.     def win(self, player):
  165.         ans = "Game complete " + player + " wins ";
  166.         messagebox.showinfo("Congratulations", ans)
  167.         self.window.destroy()  # is used to close the program
  168.  
  169.  
  170. test = Tictactoe()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement