Untitled
user_6633285
python
2 years ago
5.7 kB
48
Indexable
tabela= [ [ " "," "," "],
[ " "," "," "],
[ " ", " "," "] ]
def mostrarVelha ():
global tabela
print()
for linha in range(3):
for coluna in range (3):
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = " "
print (" 0 1 2 \n ")
for linha in range(3):
for coluna in range(3):
print("", tabela[linha][coluna], end = "")
if coluna < 2:
print(" |", end = "")
if coluna == 2:
print(" ", linha)
if linha < 2 :
print("")
print (" ------------")
def jogar (simbolo,linha,coluna):
global tabela
mudou = False
if linha == 0 and coluna == 0:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 0 and coluna == 1:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 0 and coluna == 2:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 1 and coluna == 0:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 1 and coluna == 1:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 1 and coluna == 2:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 2 and coluna == 0:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 2 and coluna == 1:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
if linha == 2 and coluna == 2:
if tabela[linha][coluna] != "x" and tabela[linha][coluna] != "o":
tabela[linha][coluna] = simbolo
mudou = True
return mudou
def trocarJogador ():
global simbolo
global jogador
if simbolo == "x":
simbolo = "o"
else:
simbolo = "x"
if jogador == 1:
jogador = 2
else:
jogador = 1
def jogoTerminou ():
global ganhador
global tabela
espacosDisponiveis = 0
terminou = False
#Linhas
for linha in range(3):
if tabela[linha][0] == tabela[linha][1] == tabela[linha][2] == "o":
ganhador = "o"
terminou = True
if tabela[linha][0] == tabela[linha][1] == tabela[linha][2] == "x":
ganhador = "x"
terminou = True
#colunas
for coluna in range(3):
if tabela[0][coluna] == tabela[1][coluna] == tabela[2][coluna] == "o":
ganhador = "o"
terminou = True
if tabela[0][coluna] == tabela[1][coluna] == tabela[2][coluna] == "x":
ganhador = "x"
terminou = True
#Diagonal
if tabela[0][0] == "o" and tabela[1][1]=="o" and tabela[2][2] == "o" or tabela[0][2] == "o" and tabela[1][1]== "o" and tabela[2][0] =="o":
ganhador = "o"
terminou = True
if tabela[0][0] == "x" and tabela[1][1]=="x" and tabela[2][2] == "x" or tabela[0][2] == "x" and tabela[1][1]== "x" and tabela[2][0] =="x":
ganhador = "x"
terminou = True
# Empate
for linha in range(3):
for coluna in range(3):
if tabela[linha][coluna] != "x" and tabela[linha][coluna]!= "o":
espacosDisponiveis = espacosDisponiveis+1
if espacosDisponiveis == 0:
terminou = True
print("Empate\n")
ganhador = ""
print()
jogador = 0
return terminou
def reiniciarVelha():
global tabela
global c
global simbolo
global jogador
jogador = 1
for linha in range(3):
for coluna in range (3):
tabela[linha][coluna] = ""
mostrarVelha ()
if c == "x":
simbolo = "o"
c = simbolo
else:
if c == "o":
simbolo = "x"
c = simbolo
jogador = 1
ganhador = ""
simbolo = "x"
c = simbolo
resposta = True
resultado = False
mostrarVelha()
while resposta:
while not jogoTerminou():
resultado = False
while not resultado:
try :
print()
print()
print("Jogador ",jogador," : informe a linha que gostaria de jogar", simbolo)
linha = int(input())
print("Jogador ",jogador,"informe a coluna que gostaria de jogar", simbolo)
coluna = int(input())
resultado = jogar(simbolo, linha,coluna)
if not resultado:
print("Jogada inválida")
mostrarVelha()
except ValueError :
print(" Digite um número válido ")
mostrarVelha()
trocarJogador()
print()
print("Jogo finalizado")
if jogador >= 1 and jogador <= 2:
if jogador == 2 :
jogador= jogador-1
print("jogador", jogador, "ganhou")
else:
jogador = jogador+1
print("jogador", jogador, "ganhou")
pergunta = ""
while pergunta !="N" and pergunta !="S":
print("Gostaria de continuar jogando?[S/N]")
pergunta = str(input("")).upper().strip()[0]
if pergunta == "N":
resposta = False
elif pergunta == "S":
reiniciarVelha()
else:
print ("Digite [S],ou [N]")
Editor is loading...
Leave a Comment