-
Notifications
You must be signed in to change notification settings - Fork 1
/
jogo_da_velha.py
78 lines (63 loc) · 2.52 KB
/
jogo_da_velha.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
70
71
72
73
74
75
76
77
78
from random import choice
import sys, time, json
print('''CARA: VOCÊ É O JOGADOR "X"\nCOROA: VOCÊ É O JOGADOR "O"\nBOA SORTE!\n''')
print("JOGANDO A MOEDA!")
for i in range(2, 0, -1):
sys.stdout.write(str('.') + ' ')
sys.stdout.flush()
time.sleep(1)
d = [('CARA', 'X'), ('COROA', 'O')]
e = choice(d)
print(f'\n\nO resultado foi "{e[0]}", você é o jogador "{e[1]}"!\n')
T = [' '] * 9 # T de tabuleiro
print(
'''+---------------------------------------------+\n| A tabela do jogo é representada por campos, |
| escolha o campo que pretende preencher. |\n+---------------------------------------------+''')
def tabela():
m = """\n +---------------------------------------------+
| Campos Posições |
| 0 | 1 | 2 {} | {} | {} |
| ---+---+--- ---+---+--- |
| 3 | 4 | 5 {} | {} | {} |
| ---+---+--- ---+---+--- |
| 6 | 7 | 8 {} | {} | {} |
+---------------------------------------------+"""\
.format(T[0], T[1], T[2], T[3], T[4], T[5], T[6], T[7], T[8])
ar = [line.strip() for line in m.split('\n')]
for line in ar:
print(line.strip())
tabela()
def jogada(jogador):
pos = input(f'Jogador "{jogador}", onde pretende fazer a jogada? ')
while 1:
if pos.isnumeric() and int(pos) <= 8 and T[int(pos)] == ' ':
pos = int(pos)
break
else:
if pos.isnumeric() and int(pos) <= 8 and T[int(pos)] != ' ':
pos = input(f'Jogador "{jogador}" esse campo já foi preenchido, por favor escolha outro: ')
else:
pos = input( f'Jogador "{jogador}", digite um caractere numérico entre 0 e 8: ')
T[pos] = jogador
def situacao(t, jogador): # t de vetor
if ((t[0] == t[1] == t[2] == jogador) or\
(t[2] == t[5] == t[8] == jogador) or\
(t[6] == t[7] == t[8] == jogador) or\
(t[0] == t[3] == t[6] == jogador) or\
(t[0] == t[4] == t[8] == jogador) or\
(t[2] == t[4] == t[6] == jogador) or\
(t[1] == t[4] == t[7] == jogador) or\
(t[3] == t[4] == t[5] == jogador)):
print(f'Jogador "{jogador}" é o vencedor!')
return 'temos um vencedor'
c = 1
while c <= 10:
XO = 'X' if c % 2 == 1 else 'O'
jogada(XO)
tabela()
if situacao(T, XO) == 'temos um vencedor':
break
if c == 9:
print("EMPATE!")
break
c = c + 1