Advertisement
Allena_Gorskaya

Programma 5

Mar 6th, 2019
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.10 KB | None | 0 0
  1. from tkinter import *
  2. from random import *
  3. root = Tk()
  4.  
  5. count = 0
  6. gameOver = False
  7.  
  8.  
  9. A = [
  10.     [0, 0, 0],
  11.     [0, 0, 0],
  12.     [0, 0, 0]
  13.     ]
  14.  
  15. def on_click(event):
  16.     global count
  17.     global gameOver
  18.     t = event.widget
  19.     i = int(t.grid_info()["row"])
  20.     j = int(t.grid_info()["column"])
  21.    
  22.     if gameOver == False and count < 9:
  23.         if  t.cget('text') == '':
  24.             if count % 2 == 0:
  25.                 t.config(text = 'X')
  26.                 A[i][j] = 1
  27.             else:
  28.                 t.config(text = 'O')
  29.                 A[i][j] = 10
  30.             count += 1
  31.            
  32.         if count % 2 == 1: # был ход крестика
  33.             #проверка!
  34.             if sum(A[0]) == 3 or sum(A[1]) == 3 or sum(A[2]) == 3 or (A[0][0] + A[1][0] + A[2][0] == 3) or (A[0][1] + A[1][1] + A[2][1] == 3) or (A[0][2] + A[1][2] + A[2][2] == 3) or (A[0][0] + A[1][1] + A[2][2] == 3) or (A[2][0] + A[1][1] + A[0][2] == 3):
  35.                 tmp.config(text = 'Победа крестика!')
  36.                 gameOver = True
  37.         else:# был ход нолика
  38.             #проверка!
  39.             if sum(A[0]) == 30 or sum(A[1]) == 30 or sum(A[2]) == 30 or (A[0][0] + A[1][0] + A[2][0] == 30) or (A[0][1] + A[1][1] + A[2][1] == 30) or (A[0][2] + A[1][2] + A[2][2] == 30) or (A[0][0] + A[1][1] + A[2][2] == 30) or (A[2][0] + A[1][1] + A[0][2] == 30):
  40.                 tmp.config(text = 'Победа нолика!')
  41.                 gameOver = True
  42.         if count == 9 and gameOver == False:
  43.             tmp.config(text = 'Ничья')
  44.             gameOver = True
  45.    
  46.        
  47.  
  48. for i in range(3):
  49.     for j in range(3):
  50.         if (i + j) % 2 == 0:
  51.             square = Label(text = '', bg = 'skyblue', width = 2, font = 'Verdana 24')
  52.         else:
  53.             square = Label(text = '', bg = 'blue', width = 2, font = 'Verdana 24')
  54.         square.bind('<Button-1>', on_click)
  55.         square.grid(row = i, column = j)
  56.        
  57.  
  58. tmp = Label(text = 'Начнем игру!', bg = 'yellow', fg = 'green')
  59. tmp.grid(row = 3, columnspan = 3, sticky = W + E)
  60.  
  61. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement