Seguindo a aula escrevi o código tal qual demonstrado, porém quando faço o teste o jogo impede que atravesse as paredes quando tento andar para cima ou para baixo. Só que ao tentar andar para direita ou esquerda o "H" é replicado ficando com até três "H" na mesma linha. Segue o código
def joga (nome)
mapa = le_mapa 1
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
Vi e revi a aula algumas vezes e não consegui identificar onde está o erro.