2
respostas

Meu herói não se movimenta pela mapa.

require_relative "ui"

def ler_mapa(numero)

    arquivo = "mapa#{numero}.txt"
    texto = File.read arquivo
    mapa = texto.split "\n"
end

def encontra_heroi(mapa)
    caracter_do_heroi = "H"
    mapa.each_with_index do |linha_atual, linha|
            coluna_do_heroi = linha_atual.index caracter_do_heroi
            if coluna_do_heroi
                return [linha,coluna_do_heroi]
            end
    end

    # não achei o héroi
end

def jogar(nome)

    puts"apenas um teste"
    mapa = ler_mapa 1

    while true
        desenha mapa
        direcao =  pede_movimento
        heroi = encontra_heroi mapa

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

        case direcao
            when "W"
                heroi[0] -=1
            when "S"
                heroi[0] +=1
            when "A"
                heroi[1] -=1
            when "D"
                heroi[1] +=1
        end

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

end

def iniciar_fogefoge
    nome = dar_boas_vindas
    jogar nome
end
2 respostas

Olá, Vinicius.

Copiei e colei o seu código e funcionou perfeitamente aqui. Você pode dar mais informações sobre o erro?

Estava tendo erro no meu codigo, daí copiei e colei o código postado por você Vinicius e só precisei fazer alterações em 2 ou 3 chamadas de função do main.rb e ui.rb. Não sei se pode te ajudar, mas talvez seja questão de veririfcar se os nomes estão batendo corretamente.