Ir ao conteúdo
  • Cadastre-se

marcim1m

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

0
  1. import os import random tab = [0, 1, 2, 3, 4, 5, 6, 7, 8] Nome = input("Qual seu nome?") def desenhar(): os.system('clear') or None print('+-----------+') print('|',tab[0], "|", tab[1], "|", tab[2],'|') print('|','-'* 9,'|') print('|',tab[3], "|", tab[4], "|", tab[5],'|') print('|','-'* 9,'|') print('|',tab[6], "|", tab[7], "|", tab[8],'|') print('+-----------+') def jogadaHumano(): while True: jogada = input('Escolha sua jogada:') pos = int(jogada) if tab[pos] == 'X' or tab [pos] == 'O': print('Jogada invalida') continue tab[pos] = 'X' break # A "AI" NÃO VAI GANHAR SEMPRE MAS TENTAR EVITAR ALGUNS MOVIMENTOS def jogadaAI(): op = [] for i in range(0, 9): if tab[5] == 'X' or tab[5] == 'O': op = [8,1] # Coloca as opções disponíveis caso 5 esteja marcado elif tab[0] == 'X' or tab[0] == 'O': op = [1] # Coloca as opções disponíveis caso 0 esteja marcado elif tab [4] == 'X' or tab [4] == 'O': op = [0] elif tab[4] == 'X' or tab[4] == 'O': op = [6,8] elif tab[3] == 'X' or tab[3] == 'O': op = [1] elif tab[4] == 'X' or tab[4] == 'O': op = [8] elif tab[1] == 'X' or tab[1] == 'O': op = [7] elif tab[8] == 'X' or tab[8] == 'O': op = [2] elif tab[5] == 'X' or tab[5] == 'O': op = [7] elif tab[1] == 'X' or tab[1] == 'O': op = [0] elif tab[i] != 'X' and tab[i] != 'O': op.append(tab[i]) jogada = random.choice(op) tab[jogada] = 'O' #validção def ganhou(turno): #valida a primeira linha if tab[0] == turno and tab[1] == turno and tab[2] == turno: return True elif tab[3]== turno and tab[4]== turno and tab[5]== turno: return True elif tab[6]== turno and tab[7]== turno and tab[8]== turno: return True #valida diagonal elif tab[0] == turno and tab[4] == turno and tab[8]== turno: return True elif tab[2] == turno and tab[4] == turno and tab[6] == turno: return True #valida coluna elif tab[0] == turno and tab[3] == turno and tab[6] == turno: return True elif tab[1] == turno and tab[4] == turno and tab[7] == turno: return True elif tab[2] == turno and tab[5] == turno and tab[8] == turno: return True return False desenhar() turno = 'X' for i in range(0,9): if turno == 'O': jogadaAI() else : jogadaHumano() desenhar() if ganhou(turno): print('Jogador ', turno,' ganhou o jogo!!') break if i == 8: print('Deu velha!!') turno = 'X' if turno == 'O' else 'O' pensei em ela ter um jogada caso outro número seja jogado (como eu comecei no codigo) se o número 4 estiver marcado jogar em (0,2,6,8) se o número 5 estiver marcado jogar em (0,2,4,6,8) se os números (0,2,6,8) estiverem marcado jogar em (4) assim +/-
  2. https://repl.it/@MarcioMarcos/programajdv eu uso ele no repl.it tente por lá Sobre a lógica só quero evitar que o jogo fique fácil demais o computador não precisa ganhar todas
  3. A AI não precisa ser invencível ela precisa ser um pouquinho melhor mas não estou conseguindo evoluir ela mais que isso alguém pode ajudar? mport os import random tab = [0, 1, 2, 3, 4, 5, 6, 7, 8] Nome = input("Qual seu nome?") def desenhar(): os.system('clear') or None print('+-----------+') print('|',tab[0], "|", tab[1], "|", tab[2],'|') print('|','-'* 9,'|') print('|',tab[3], "|", tab[4], "|", tab[5],'|') print('|','-'* 9,'|') print('|',tab[6], "|", tab[7], "|", tab[8],'|') print('+-----------+') def jogadaHumano(): while True: jogada = input('Escolha sua jogada:') pos = int(jogada) if tab[pos] == 'X' or tab [pos] == 'O': print('Jogada invalida') continue tab[pos] = 'X' break # A "AI" NÃO VAI GANHAR SEMPRE MAS TENTAR EVITAR ALGUNS MOVIMENTOS def jogadaAI(): op = [] for i in range(0, 9): if tab[5] == 'X' or tab[5] == 'O': op = [8,1] # Coloca as opções disponíveis caso 5 esteja marcado elif tab[0] == 'X' or tab[0] == 'O': op = [1] # Coloca as opções disponíveis caso 0 esteja marcado elif tab [4] == 'X' or tab [4] == 'O': op = [0] elif tab[4] == 'X' or tab[4] == 'O': op = [6,8] elif tab[3] == 'X' or tab[3] == 'O': op = [1] elif tab[4] == 'X' or tab[4] == 'O': op = [8] elif tab[1] == 'X' or tab[1] == 'O': op = [7] elif tab[8] == 'X' or tab[8] == 'O': op = [2] elif tab[5] == 'X' or tab[5] == 'O': op = [7] elif tab[1] == 'X' or tab[1] == 'O': op = [0] elif tab != 'X' and tab != 'O': op.append(tab) jogada = random.choice(op) tab[jogada] = 'O' #validção def ganhou(turno): #valida a primeira linha if tab[0] == turno and tab[1] == turno and tab[2] == turno: return True elif tab[3]== turno and tab[4]== turno and tab[5]== turno: return True elif tab[6]== turno and tab[7]== turno and tab[8]== turno: return True #valida diagonal elif tab[0] == turno and tab[4] == turno and tab[8]== turno: return True elif tab[2] == turno and tab[4] == turno and tab[6] == turno: return True #valida coluna elif tab[0] == turno and tab[3] == turno and tab[6] == turno: return True elif tab[1] == turno and tab[4] == turno and tab[7] == turno: return True elif tab[2] == turno and tab[5] == turno and tab[8] == turno: return True return False desenhar() turno = 'X' for i in range(0,9): if turno == 'O': jogadaAI() else : jogadaHumano() desenhar() if ganhou(turno): print('Jogador ', turno,' ganhou o jogo!!') break if i == 8: print('Deu velha!!') turno = 'X' if turno == 'O' else 'O'

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!