Olá a todos e uma primeira pergunta

Olá, gente, meu nome é Alexandre, sou novo aqui no fórum.

Nesse jogo que estou fazendo, quando a partida se desenrola por um certo, Pilas é interrompido com a seguinte exceção:

    ERROR Exception(IndexError('list assignment index out of range',),)
-590
Exception(IndexError('list assignment index out of range',),)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.12-py2.7.egg/pilasengine/widget.py", line 25, in _decorator
    func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.12-py2.7.egg/pilasengine/widget.py", line 146, in keyPressEvent
    texto=event.text())
  File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.12-py2.7.egg/pilasengine/eventos/evento.py", line 30, in emitir
    raise Exception(e)
Exception: list assignment index out of range

Como ainda não conheço bem o código de Pilas, preferi não me aventurar a encontrar uma solução, a parte do meu código que está disparando a exceção é esta:

    class GameScreen(pilasengine.escenas.Escena):

        def iniciar(self):
            self.game = GameEngine()

        (...)

            pilas.eventos.pulsa_tecla.conectar(self.al_pulsar_tecla)

        (...)

        def al_pulsar_tecla(self, tecla):   
            if (tecla.codigo == 1) or (tecla.codigo == 2):
                self.game.where_to_turn(tecla.codigo)
                self.game.new_round()
                
                if self.game.current_bag == []:
                    self.game.bag()
                
                self.game.insert_stone()
                
                self.fill_rings(self.game.outer, self.outer_ring)
                self.fill_rings(self.game.middle, self.middle_ring)
                self.fill_rings(self.game.inner, self.inner_ring)
                
                self.print_score()
                
                if self.game.game_over:
                    self.game_over()
            else:
                pass
            return

        (...)

Alguém pode me ajudar a descobrir o que está acontecendo? Avisem-me se for necessário que eu poste mais trechos do código. Muito obrigado!

Olá @AlexPHorta , desculpe se você não entende o que estou escrevendo, estou usando o google translate …

O erro parece estar no código da função “al_pulsar_tecla”, mas há um bug nas pilas que não permite ver corretamente por que ele falha.

Por favor adicione esta linha no arquivo /usr/local/lib/python2.7/dist-packages/pilas-1.4.12-py2.7.egg/pilasengine/eventos/evento.py:

(à direita na linha 30)

Isso mostrará exatamente a linha de código que causa problemas.

Abraço!

Olá, Hugo, tudo bem?

Primeiramente, não se preocupe em traduzir sua resposta. Eu entendo um pouco de espanhol, só não consigo escrever nada muito elaborado.

Tentei a solução que você apresentou, mas a única mensagem foi ‘list assignment index out of range’ impressa em uma nova linha. De qualquer forma, consegui encontrar o problema.

Bom, por hora tudo bem, mas amanhã tenho uma outra dúvida pra postar. Agora tenho que ir dormir. Um abraço e obrigado pela ajuda!