1
+ from random import randint
2
+ from time import sleep
3
+
4
+ def verificar_jogo ():
5
+ casa = int ()
6
+ vencedor = False
7
+ VAZIO = " "
8
+ #verificar horizontal
9
+ for i in range (0 , 9 , 3 ):
10
+ if (tabuleiro [i ] == tabuleiro [i + 1 ] == tabuleiro [i + 2 ] != VAZIO ):
11
+ vencedor = tabuleiro [casa ]
12
+
13
+ #verificar vertical
14
+ for i in range (3 ):
15
+ if (tabuleiro [i ] == tabuleiro [i + 3 ] == tabuleiro [i + 6 ] != VAZIO ):
16
+ vencedor = tabuleiro [casa ]
17
+
18
+ #verificar diagonal
19
+ for i in [0 , 2 ]:
20
+ if (tabuleiro [0 + i ] == tabuleiro [4 ] == tabuleiro [8 - i ] != VAZIO ):
21
+ vencedor = tabuleiro [casa ]
22
+
23
+ #verificar empate
24
+ if not VAZIO in tabuleiro :
25
+ jogavel = False
26
+ print ("Jogo empatado! DEU VELHA!" )
27
+ return True
28
+
29
+ if vencedor :
30
+ jogavel = False
31
+ print ("Vencedor: " , vencedor )
32
+ return True
33
+
34
+
35
+ def mostrar_tabuleiro ():
36
+ for i in range (0 , 9 , 3 ):
37
+ print (i , "|" , i + 1 , "|" , i + 2 , " " , tabuleiro [i ], "|" , tabuleiro [i + 1 ], "|" , tabuleiro [i + 2 ])
38
+
39
+ def casa_invalida ():
40
+ print ("=" * 30 )
41
+ print ("Escolha um lugar vazio!" )
42
+ print ("=" * 30 )
43
+
44
+ ####Funcao contra o PC####
45
+ def contra_pc ():
46
+ rodada = 0
47
+ jogavel = True
48
+ vencedor = False
49
+ while jogavel :
50
+ rodada += 1
51
+ if rodada % 2 == 1 :
52
+ print ("__{Sua vez!}__" )
53
+ casa = int (input ("Escolha a casa: " ))
54
+ if tabuleiro [casa ] == VAZIO :
55
+ tabuleiro [casa ] = jogador1
56
+ else :
57
+ rodada -= 1
58
+ casa_invalida ()
59
+ else :
60
+ print ("__{Minha vez!}__" )
61
+ print ("Deixe-me ver..." )
62
+ sleep (1.5 )
63
+ casa = randint (0 ,8 )
64
+ if tabuleiro [casa ] == VAZIO :
65
+ tabuleiro [casa ] = jogador2
66
+ else :
67
+ rodada -= 1
68
+ casa_invalida ()
69
+
70
+ mostrar_tabuleiro ()
71
+ if verificar_jogo ():
72
+ jogavel = False
73
+
74
+ ####Funcao contra amigo####
75
+ def contra_amigo ():
76
+ rodada = 0
77
+ jogavel = True
78
+ vencedor = False
79
+ while jogavel :
80
+ rodada += 1
81
+ if rodada % 2 == 1 :
82
+ print ("Vez de " , jogador1 )
83
+ casa = int (input ("Escolha a casa: " ))
84
+ if tabuleiro [casa ] == VAZIO :
85
+ tabuleiro [casa ] = jogador1
86
+ else :
87
+ rodada -= 1
88
+ casa_invalida ()
89
+ else :
90
+ print ("Vez de " , jogador2 )
91
+ casa = int (input ("Escolha a casa: " ))
92
+ if tabuleiro [casa ] == VAZIO :
93
+ tabuleiro [casa ] = jogador2
94
+ else :
95
+ rodada -= 1
96
+ casa_invalida ()
97
+
98
+ mostrar_tabuleiro ()
99
+ if verificar_jogo ():
100
+ jogavel = False
101
+
102
+
103
+ ##################
104
+ ##### O JOGO #######
105
+ #################
106
+
107
+ #tabuleiro
108
+ VAZIO = " "
109
+ tabuleiro = [VAZIO , VAZIO , VAZIO , VAZIO , VAZIO , VAZIO , VAZIO , VAZIO , VAZIO ]
110
+
111
+ #jogadores
112
+ jogador1 = " "
113
+ jogador2 = " "
114
+
115
+ print ("Escolha seu adversário [1/2]\n [1]. PC\n [2].Amigo" )
116
+ while True :
117
+ adv = int (input ())
118
+ if adv == 1 or adv == 2 :
119
+ break
120
+ print ("Escolha uma opção valida!" )
121
+
122
+ while True :
123
+ jogador1 = input ("Escolha X ou O: " ).upper ().strip ()
124
+ if jogador1 in 'XO' :
125
+ break
126
+ print ("Escolha uma opção valida!" )
127
+
128
+ if jogador1 == 'X' :
129
+ jogador2 = 'O'
130
+ else :
131
+ jogador2 = 'X'
132
+
133
+ #indice
134
+ mostrar_tabuleiro ()
135
+
136
+ if adv == 1 :
137
+ contra_pc ()
138
+
139
+ else :
140
+ contra_amigo ()
141
+
142
+
0 commit comments