Skip to content

Commit c22b5e6

Browse files
authored
Jogo Da Velha
1 parent b8340cb commit c22b5e6

File tree

1 file changed

+142
-0
lines changed

1 file changed

+142
-0
lines changed

OJogoDaVelha.py

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
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

Comments
 (0)