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

Lidando com Arrays - Vídeo 7

Aparti de 1m no vídeo há esse código

while true
        desenha_mapa mapa
        direcao = pede_movimento
        heroi = encontra_jogador mapa
        case direcao
            when "W"
                heroi[0] -= 1
            when "S"
                heroi[0] += 1
            when "A"
                heroi[1] -= 1
            when "D"
                heroi[1] += 1
        end                        
    end

por que heroi na casa 0 e 1 apenas? " heroi[0]" "heroi[1]"

E se o herói estivar na linha 5 na casa 4 por exemplo?

Não entendi o por que só passa na casa 0 e 1

3 respostas

Se é heroi na posição atual, não deveria ser heroi[linha] ou heroi[posição] ? Esse 0 ta me intrigando kk afinal ele não necessariamente vai começar na posição 0

Oi Nikolai,

Na verdade 0 e 1 representam a informação vertical e horizontal respectivamente.

W e S movimentam o personagem para cima e para baixo e A e D movimentam o personagem para esquerda e para a direita.

Se o personagem estiver na linha 5 e na casa 4 a informação do heroi estará assim:

heroi[0] = 4
heroi[1] = 5

Abraço!

solução!

entendi, é que acostumei em C que matriz a gente passa assim: heroi[4][5], por isso fiquei confuso hehe

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