Sou novo em python e estou tentando fazer um jogo da velha, eu até soube fazer a tabela e preencher corretamente a tabela do jogo, mas eu não estou sabendo fazer o código reconhecer quando algum jogador ganhou. Com esse código, vocês têm alguma ideia de como fazer isso?
#o jogo da velha
#essa 1ª parte é somente uma demonstração dos movimentos:
print('Movimentos'.center(11))
ex_screen = [[[' 1 '],[' 2 '],[' 3 '],[' 4 '],[' 5 '],[' 6 '],[' 7 '],[' 8 '],[' 9 ']],['\n---+---+---\n']]
print(f'{ex_screen[0][0][0]}|{ex_screen[0][1][0]}|{ex_screen[0][2][0]}{ex_screen[1][0]}{ex_screen[0][3][0]}|{ex_screen[0][4][0]}|{ex_screen[0][5][0]}{ex_screen[1][0]}{ex_screen[0][6][0]}|{ex_screen[0][7][0]}|{ex_screen[0][8][0]}')
#aqui, o 1º jogador pode escolher ser X ou O:
plr = input(‘escolha X ou O: ‘).upper().strip()
#esse i coloquei apenas para informar qual partida o jogo está:
i=0
#aqui é a tabela de fato que vai atualizando a cada jogada:
screen, sline = [’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘,’ ‘],[’\n---+---+---\n’]
#aqui, começa o jogo de fato:
while True:
i+=1
print(f’{i}ª Jogada’.center(11))
#aqui, o jogador informa a posição que deseja ficar:
pos = int(input(f’posição para {plr}: '))
#se o jogador digitar zero o jogo acaba:
if pos == 0:
break
#aqui verifica se a posição escolhida está disponível:
if screen[pos-1].isspace() == False or pos > 9 or pos < 1:
while screen[pos-1].isspace() == False:
print(‘posição já ocupada!’)
pos = int(input(f’escolha novamente para {plr}: ‘))
while pos > 9 or pos < 0:
print(‘posição inválida!’)
pos = int(input(f’escolha novamente para {plr}: ‘))
screen.insert(pos-1, f’ {plr} ‘)
del screen[pos]
else:
screen.insert(pos-1, f’ {plr} ‘)
del screen[pos]
#aqui apresenta a tabela atualizada com as posições dos jogadores
print(f’{screen[0]}|{screen[1]}|{screen[2]}{sline[0]}{screen[3]}|{screen[4]}|{screen[5]}{sline[0]}{screen[6]}|{screen[7]}|{screen[8]}’)
print(‘Fim do Jogo’)
Eu tentei fazer o código reconhecer quem ganhou usando listas mas não conseguir.
quem puder me ajudar, de já agradeço.