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

Eu inicio o jogo no CMD do Ruby e ele diz: ruby problem: syntax error, unexpected end-of-input, expecting keyword_end --- Eu já olhei todos os end´s não consigo achar o erro. Meu código esta igual ao do Guilherme, me ajudem!!

require_relative 'pacman_ui'

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

def encontra_jogador mapa
    heroi = "H"
    mapa.each_with_index do |linha_atual, linha|
        linha_atual = mapa[linha]
        coluna_heroi = linha_atual.index heroi
        if coluna_heroi
            return [linha, coluna_heroi]        
        end
    end
end

def calcula_nova_posicao 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
heroi
end

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
        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

def inicia_fogefoge
    nome = da_boas_vindas
    joga nome
end
1 resposta
solução!

Vinícius, olha essa parte do código, você tem dois ifs seguidos e um deles não tem end. Será isso?

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software