Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

3. Os cuidados com arrays usando boas praticas.

def soma_vetor(vetor1, vetor2)
    [vetor1[0]+vetor2[0], vetor1[1]+vetor2[1]]
end

def posicoes_validas_apartir_de(mapa, novo_mapa, posicao)
    posicoes = []
    movimentos = [[+ 1, 0],[0, + 1],[- 1, 0],[0, - 1]]
    movimentos.each do |movimento|
        nova_posicao = soma_vetor(movimento, posicao)
        if posicao_valida?(mapa, nova_posicao) && posicao_valida?(novo_mapa, nova_posicao)
                 posicoes << nova_posicao
        end
    end
    posicoes
end

Nao a soma de dois valores iguais em indices diferentes no vetor.

movimentos = [[+ 1, 0],[0, + 1],[- 1, 0],[0, - 1]]
    movimentos.each do |movimento|
        nova_posicao = soma_vetor(movimento, posicao)


def soma_vetor(vetor1, vetor2)
    [vetor1[0]+vetor2[0], vetor1[1]+vetor2[1]]
end
4 respostas

Nao entendi a soma de dois valores iguais em indices diferentes no vetor.

Oi Eduardo,

Onde tem essa soma de dois valores iguais? Tem muito código, o olho se perde, hehe!

solução!

Oi Mauricio, então eu debuguei isso até o maximo para entender (quarta-feira)


def soma_vetor(vetor1, vetor2)
    [vetor1[0]+vetor2[0], vetor1[1]+vetor2[1]]
end


def posicoes_validas_apartir_de(mapa, novo_mapa, posicao)
    posicoes = []
    movimentos = [[+ 1, 0],[0, + 1],[- 1, 0],[0, - 1]]
    movimentos.each do |movimento|

        puts "Movimentos"
        puts "#{movimentos}"
        puts "Movimento"
        puts "#{movimento}"
        puts "Posicao"
        puts "#{posicao}"
    #   puts
    #   puts "Posicoes validas = #{posicoes}" 



        nova_posicao = soma_vetor(movimento, posicao)
       puts "SOMA VETOR #{nova_posicao}"


Mas é aqui,  

Passo para soma_vetor dois argumentos, movimento, posicao. 
Estes dois argumentos são arrays contendo linha e coluna.

Então lá dentro da def soma_vetor 

 [vetor1[0]+vetor2[0], vetor1[1]+vetor2[1]]

Soma-se [[linha de movimento+posicao][coluna de movimento+posicao]]
retorno isto e armazeno em nova_posicao que posteriormente validarei.... 

Mas olha, debuguei pra enteder, com vários puts para varrer o caminho e entender a soma hahahahah.

Irei acompnhar a trilha de primeiros passo de logica de programaçao para reforçar alguns conceitos, acho que será proveitoso :)

Abração pra turma ae;

Boa, Eduardo! :)

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