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

O heroi não se movimenta

require_relative 'UI.rb'

def leMapa(numero)

  arquivo = leArquivo(numero)
  conteudoMapa = File.read (arquivo)
  mapa = conteudoMapa.split ("\n")

end

def encontraJogador(mapa)

  simboloHeroi = ("H")

  mapa.each_with_index do |linhaAtual , linha|

    colunaDoHeroi = linhaAtual.index (simboloHeroi)

      if (colunaDoHeroi != nil)

            return [linha , colunaDoHeroi]
        end

    end

    #NÃO ACHEI

end

def joga (nome)

  mapa = leMapa(1)

  while true

    desenhaMapa(mapa)
    direcao = pedeMovimento()
    heroi = encontraJogador(mapa)
    puts (heroi[0])
    puts (heroi[1])

    mapa[ heroi[00] , heroi[1] ] = ""

    case direcao

      when "W"

        heroi[00] -= 1

      when "S"

        heroi [00] += 1

      when "A"

        heroi[1] -= 1

      when "D"

        heroi[1] += 1

      end

      mapa[ heroi[00]  , heroi[1] ] = "H"

  end

end

def iniciaFogeFoge()

  nome = bemVindo()

  joga (nome)

end
1 resposta
solução!
require_relative 'UI.rb'

def leMapa(numero)

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

  return mapa

end

def encontraJogador(mapa)

  caractereDoHeroi = "H"

  mapa.each_with_index do | linhaAtual , linha |

    linhaAtual = mapa[linha]

    colunaDoHeroi = linhaAtual.index (caractereDoHeroi)

    if (colunaDoHeroi != nil)

      return [linha , colunaDoHeroi]

    end

  end

#NÃO ACHEI

end

def calculaNovaPosicao(heroi , direcao)

  case direcao

    when "W"

      heroi[0] -= 1

    when "S"

      heroi[0] += 1

    when "A"

      heroi[1] -=1

    when "D"

      heroi[1] += 1

    end

    return heroi

end

def joga(nomeUsuario)

  mapa = leMapa(1)

    while true

    desenhaMapa(mapa)
    direcao = pedeMovimento()
    heroi = encontraJogador (mapa)

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

    novaPosicao = calculaNovaPosicao(heroi , direcao)

    mapa [novaPosicao[0]] [novaPosicao[1]] = "H"

    end
end


def main()

nomeUsuario = daBoasVindas()

joga(nomeUsuario)

end

O erro está na linha "...mapa[ heroi[00] , heroi[1] ] =" " " e também em "...mapa[ heroi[00] , heroi[1] ] = "H" "