-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtictactoe.py
More file actions
103 lines (88 loc) · 2.8 KB
/
tictactoe.py
File metadata and controls
103 lines (88 loc) · 2.8 KB
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
sample = [[1,2,3],[4,5,6],[7,8,9]]
ar = [['','',''],
['','',''],
['','','']]
def tictactoe():
print('Welcome to the TicTacToe game!')
print('In order to make your moves, please follow the positional map below:')
print_game(sample)
player = 'x'
while(1):
print(player, "'s turn")
user_input = input('Provide move:')
move = int(user_input)
playMove(move, player)
print_game(ar)
if win(ar) == True:
print(player, ' wins the game!')
break
if draw(ar) == True:
print('Game ended in a draw!')
break
if player == 'x':
player = 'o'
else:
player = 'x'
def playMove(move, player):
if move > 0 and move <= 9:
if move == 1:
if ar[0][0] == '':
ar[0][0] = player
elif move == 2:
if ar[0][1] == '':
ar[0][1] = player
elif move == 3:
if ar[0][2] == '':
ar[0][2] = player
elif move == 4:
if ar[1][0] == '':
ar[1][0] = player
elif move == 5:
if ar[1][1] == '':
ar[1][1] = player
elif move == 6:
if ar[1][2] == '':
ar[1][2] = player
elif move == 7:
if ar[2][0] == '':
ar[2][0] = player
elif move == 8:
if ar[2][1] == '':
ar[2][1] = player
elif move == 9:
if ar[2][2] == '':
ar[2][2] = player
def win(ar):
if ar[0][0] == ar[0][1] == ar[0][2] == 'x' \
or ar[1][0] == ar[1][1] == ar[1][2] == 'x' \
or ar[2][0] == ar[2][1] == ar[2][2] == 'x':
return True
if ar[0][0] == ar[1][0] == ar[2][0] == 'x' \
or ar[0][1] == ar[1][1] == ar[2][1] == 'x' \
or ar[0][2] == ar[1][2] == ar[2][2] == 'x':
return True
if ar[0][0] == ar[1][1] == ar[2][2] == 'x' \
or ar[2][0] == ar[1][1] == ar[0][2] == 'x':
return True
if ar[0][0] == ar[0][1] == ar[0][2] == 'o' \
or ar[1][0] == ar[1][1] == ar[1][2] == 'o' \
or ar[2][0] == ar[2][1] == ar[2][2] == 'o':
return True
if ar[0][0] == ar[1][0] == ar[2][0] == 'o' \
or ar[0][1] == ar[1][1] == ar[2][1] == 'o' \
or ar[0][2] == ar[1][2] == ar[2][2] == 'o':
return True
if ar[0][0] == ar[1][1] == ar[2][2] == 'o' \
or ar[2][0] == ar[1][1] == ar[0][2] == 'o':
return True
return False
def draw(ar):
for i in ar:
for j in i:
if j == '':
return False
return True
def print_game(ar):
for i in ar:
print(i)
tictactoe()