Depois de anunciar o meu jogo na PDJ, fui surpreendido por um bug!( obrigado Biliguedes!). O Bug era o seguinte: Na função joga(), eu coloquei para o primeiro jogador:
x=(int(raw_input('Jogador 1 Escolha a linha a jogar')))-1y=(int(raw_input('Jogador 1 Escolha a coluna a jogar')))-1
Ai tudo bem, pois o jogador vai escolher uma opção entre 1 e 3, enquanto Python indexa as listas a partir do zero(Notou que a matriz do jogo é na verdade uma lista contendo 3 listas, para linhas e colunas né!), dai que tínhamos de subtrair 1 opção, pois ao escolher [1,1], o jogador, na verdade, quis colocar o seu dado na posição [0,0] da lista. Mas para o jogador 2, eu não havia subtraído o 1, dai que sempre que o jogador 2 escolhesse uma posição maior que 2, o interpretador lançava uma excepção IndexError, pois a matriz só tem 3 linhas e 3 colunas( índice máximo=2 para o interpretador)! Se pretende corrigir o Bug por si mesmo, é só subtrair 1 na opção do jogador 2, se não, pode baixar a versão corrigida do meu jogo da velha feito em Python.Veja os dois scripts abaixo e note as mudanças:
x=(int(raw_input('Jogador 2 Escolha a linha a jogar')))y=(int(raw_input('Jogador 2 Escolha a coluna a jogar')))
x=(int(raw_input('Jogador 2 Escolha a linha a jogar')))-1y=(int(raw_input('Jogador 2 Escolha a coluna a jogar')))-1
Qualquer dúvida, sugestão( ou outro possível bug) coloque no fórum que te levou até aqui, ou na secção Python do nosso fórum.







Comentários Recentes