Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ao passar mapa[heroi[0]][heroi[1]] = " " para a nova posição como o professor indica, o programa passa a imprimir H em onde deveria ser " "

def joga(nome)

    mapa = le_mapa(1)
    nova_posicao = []

    while true
        desenha(mapa)
        direcao = pede_movimento
        heroi = encontra_jogador(mapa)
        nova_posicao = calcula_nova_posicao(heroi, direcao)


        if nova_posicao[0] < 0
            next
        end
        if nova_posicao[1] < 0
            next
        end
        if nova_posicao[0] >= mapa.size
            next
        end
        if nova_posicao[1] >= mapa[0].size 
            next
        end

        if mapa[nova_posicao[0]][nova_posicao[1]] == "X"
            next
        end

    mapa[heroi[0]][heroi[1]] = " "
        mapa[nova_posicao[0]][nova_posicao[1]] = "H"


    end
end
1 resposta
solução!

Estranho durante a aula não tem o,

heroi = heroi.dup

porém vi adiante que teria de usa-lo, estranho, porém problema resolvido.

Malz.