Você está na página 1de 2

def geraTabuleiro():

tabuleiro = []
for _ in range(3):
tabuleiro.append([".", ".", "."])
return tabuleiro

def imprimeTabuleiro(tabuleiro):
for i in range(3):
print(" ".join(tabuleiro[i]))

def jogar(tabuleiro, jogador):


while True:
str_pos = input("Jogador '"+ jogador +"', escolha uma posição. (ex: 2,1):
")
str_list = str_pos.split(",")
lista_pos = []
for i in range(2):
item = int(str_list[i])
lista_pos.append(item - 1)

if tabuleiro[lista_pos[0]][lista_pos[1]] == ".":
tabuleiro[lista_pos[0]][lista_pos[1]] =jogador
break
else:
print("Você não pode jogar nesta posição, ela já foi ocupada.")

return tabuleiro

def verificaGanhador(tabuleiro, jogador):


for i in range(3): #linhas
if tabuleiro[i] == [jogador]*3:
return jogador # ganhou

for i in range(3):
conta = 0
for j in range(3):
if tabuleiro[j][i] == jogador:
conta += 1
if conta == 3:
return jogador # ganhou
conta = 0
for i in range(3):
if tabuleiro[i][i] == jogador:
conta += 1
if conta == 3:
return jogador# ganhou

conta = 0
for i, j in zip(range(3), range(2, -1, -1)):
if tabuleiro[i][j] == jogador:
conta += 1
if conta == 3:
return jogador # ganhou

not_velha = False
for i in range(3):
if "." in tabuleiro[i]:
not_velha = True
return not_velha
def main():
tabuleiro = geraTabuleiro()
imprimeTabuleiro(tabuleiro)
jogada = 0
while True:
if jogada % 2 == 0:
jogador = "O"
else:
jogador = "X"
tabuleiro = jogar(tabuleiro, jogador)
imprimeTabuleiro(tabuleiro)
ganhador = verificaGanhador(tabuleiro, jogador)
try:
if ganhador == False:
print("Deu velha!")
else:
print("Parabéns jogador '" + ganhador + "'! Você venceu!")
break
except TypeError:
jogada += 1
print("\n"*5)

main()

Você também pode gostar