Untitled
user_6633285
python
a year ago
5.7 kB
41
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