-
Notifications
You must be signed in to change notification settings - Fork 0
/
controller.py
69 lines (59 loc) · 1.52 KB
/
controller.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
import model
BOARD_HEIGHT = 600
BOARD_WIDTH = 600
BOX_HEIGHT = BOARD_HEIGHT/3
BOX_WIDTH = BOARD_WIDTH/3
GRID_PEN_WIDTH = 10
x=0
y=0
is_game_ended=0
count=0
def get_column_number(y):
if y>=-BOARD_HEIGHT/2 and y<=-BOX_HEIGHT/2: return 2
elif y>=-BOX_HEIGHT/2 and y<=BOX_HEIGHT/2: return 1
elif y<=BOARD_HEIGHT/2 and y>=BOX_HEIGHT/2: return 0
return None
def get_row_number(x):
if x>=-BOARD_WIDTH/2 and x<=-BOX_WIDTH/2: return 0
elif x>=-BOX_WIDTH/2 and x<=BOX_WIDTH/2: return 1
elif x<=BOARD_WIDTH/2 and x>=BOX_WIDTH/2: return 2
return None
def won_game():
if (model.check_win()):
return True
return False
def onMouseClick(x_cor, y_cor):
global count,x,y
x= x_cor
y= y_cor
count+=1
row = get_row_number(x)
column = get_column_number(y)
player= get_player()
return model.make_mark(player,row,column)
def getBoxNum(row,col):
global x,y
row = get_row_number(x)
col = get_column_number(y)
if (row==0 and col==0):
return 1
elif (row==0 and col==1):
return 4
elif (row==0 and col==2):
return 7
elif (row==1 and col==0):
return 2
elif (row==1 and col==1):
return 5
elif (row==1 and col==2):
return 8
elif (row==2 and col==0):
return 3
elif (row==2 and col==1):
return 6
elif (row==2 and col==2):
return 9
def get_player():
global count
player=count%2
return player