Return to Video

Modificando Vetores (Versão Vídeo)

  • 0:01 - 0:04
    Até agora, nós vimos como
    criar um vetor e acessá-lo
  • 0:04 - 0:06
    Assim como em outras
    variáveis, no entanto,
  • 0:06 - 0:09
    uma das coisas bem legais sobre vetores
  • 0:09 - 0:12
    é a maneira que podemos modificá-los
    dinamicamente enquanto um programa roda.
  • 0:13 - 0:15
    Ok, deixe-me mostrar o que
    eu quis dizer com isso.
  • 0:15 - 0:18
    Então aqui nós temos este programa que
  • 0:18 - 0:21
    mostra Hopper segurando
    alguns balões, super fofo.
  • 0:21 - 0:25
    E então isso funciona da seguinte forma:
    nós temos esse vetor xPositions
  • 0:25 - 0:30
    que possui dois números dentro que
    dizem onde queremos colocar os balões.
  • 0:30 - 0:32
    E aqui embaixo nós temos
    esse laço de repetição,
  • 0:32 - 0:35
    e esse laço passa por todos
    os elementos desse vetor.
  • 0:36 - 0:40
    Para cada um deles, é desenhado uma linha
    do "x" para baixo até o braço do Hooper,
  • 0:40 - 0:47
    e então desenha uma elipse em "x"
    que é 30x40 pixels, e esse é nosso balão.
  • 0:47 - 0:51
    Ok, legal. Então agora que
    sabemos como isso funciona,
  • 0:51 - 0:54
    sabemos que se quisermos
    outro balão aparecendo,
  • 0:54 - 0:59
    podemos adicionar um número a este
    vetor, certo? Como, por exemplo, 300.
  • 0:59 - 1:02
    Lindo. Agora nós possuímos
    três balões para um Hopper feliz.
  • 1:02 - 1:08
    Mas digamos que nós queremos dar
    a um usuário que não sabe programar
  • 1:08 - 1:11
    a habilidade de adicionar novos balões.
  • 1:11 - 1:14
    Então queremos dar o
    programa a um usuário e falar:
  • 1:14 - 1:18
    "Ei, você pode clicar em qualquer
    lugar, e o balão irá aparecer."
  • 1:18 - 1:21
    Isso não seria legal? Eu acho que seria.
  • 1:21 - 1:24
    Então, como faríamos isso?
  • 1:24 - 1:26
    Queremos nosso programa mudando
    ao longo do tempo, certo?
  • 1:26 - 1:31
    Toda vez que o usuário clicar,
    irá aparecer um balão lá.
  • 1:31 - 1:35
    Então vamos começar movendo
    tudo para uma função desenhar
  • 1:35 - 1:38
    assim será fácil de mudar
    ao longo do tempo.
  • 1:38 - 1:43
    Nós iremos mover isso para baixo
    e colocar a indentação aqui. Ok, ótimo.
  • 1:43 - 1:48
    Agora nós queremos checar e ver,
    o usuário está pressionando o mouse agora?
  • 1:48 - 1:51
    Bem, podemos fazer isso com o nosso "if".
  • 1:51 - 1:55
    Então if(mousePressionado), e
    então nós faremos alguma coisa.
  • 1:55 - 1:58
    O que nós iremos fazer?
    Se o mouse é pressionado,
  • 1:58 - 2:02
    então nós queremos de alguma forma
    adicionar um número a este vetor.
  • 2:02 - 2:05
    E vamos deixar isso com apenas
    dois elementos de novo. Ok.
  • 2:05 - 2:08
    Nós queremos adicionar um
    número a este vetor de alguma forma.
  • 2:08 - 2:11
    Bem, eu irei mostrar uma
    maneira que podemos fazer isso.
  • 2:11 - 2:18
    Então nós podemos dizer
    xPositons[2] = mouseX;
  • 2:18 - 2:22
    Muito bem, e deixe-me
    mostrar que isso funciona.
  • 2:22 - 2:27
    Eu cliquei, e eu tenho um balão.
    Então, o que isso faz?
  • 2:27 - 2:34
    Isso disse, xPositons[2] disse ache esse
    vetor e encontre o elemento na posição 2,
  • 2:34 - 2:36
    e lembre-se que este na
    verdade é o terceiro elemento,
  • 2:36 - 2:38
    porque nossos vetores começam do zero.
  • 2:38 - 2:42
    E, se você olhar, não existe terceiro
    elemento, certo? Não existe nada no lugar.
  • 2:42 - 2:46
    Então isso diz para achar isto, e
    então coloque o mouseX nessa posição.
  • 2:46 - 2:51
    Bem, já que não existe nada lá, então
    muda de nada para mouseX.
  • 2:51 - 2:54
    E agora nosso vetor possui
    três itens de tamanho,
  • 2:54 - 2:57
    e esse laço "for" aqui embaixo
    quando passa pelo vetor,
  • 2:57 - 3:00
    irá desenhar o terceiro balão.
  • 3:00 - 3:04
    Isso é bem legal, e deixe-me clicar mais
    um pouco para te mostrar como funciona.
  • 3:04 - 3:09
    Você vê que toda vez que eu clico, ele
    continua desenhando o terceiro balão
  • 3:09 - 3:11
    onde quer que eu clique com meu mouse.
  • 3:11 - 3:16
    E isso é porque estamos constantemente
    sobrescrevendo a posição dois.
  • 3:16 - 3:19
    A coisa com o índice dois.
  • 3:19 - 3:23
    Estamos constantemente
    sobrescrevendo com o atual mouseX.
  • 3:23 - 3:28
    Então nós sempre teremos três balões
    porque temos esse aqui na posição zero,
  • 3:28 - 3:35
    esse na posição um e nós iremos
    constantemente mudar a posição dois. Ok?
  • 3:35 - 3:37
    Então isso é legal, mas o
    que nós realmente queremos
  • 3:37 - 3:40
    é deixar o usuário criar
    vários balões, certo?
  • 3:40 - 3:43
    Para que toda vez que o usuário
    clicar, apareça um novo balão.
  • 3:43 - 3:46
    Então isso significa que devemos
    constantemente incrementar
  • 3:46 - 3:51
    o índice do elemento do vetor
    em que estamos guardando.
  • 3:51 - 3:53
    Não queremos que seja
    dois todas as vezes,
  • 3:53 - 3:56
    nós queremos que seja d\ois, e três,
    e depois quatro, e cinco, e seis, etc.
  • 3:56 - 3:59
    Poderíamos fazer isso tendo uma
    pequena variável de contagem.
  • 3:59 - 4:01
    Então digamos newInd=2;
  • 4:01 - 4:05
    Isso é como ela vai ser inicializada,
    então iremos dizer newlnd em vez de dois.
  • 4:05 - 4:10
    E então o que nós realmente
    queremos fazer é dizer newlnd++
  • 4:10 - 4:12
    Então cada vez adicionamos um a ela.
  • 4:12 - 4:15
    Iremos começar com dois,
    então se torna três e depois quatro.
  • 4:15 - 4:18
    Assim, toda vez que é pressionado,
    aparecem mais. Então vamos testar.
  • 4:18 - 4:22
    Ta-da! Vários balões.
    Festa de balões. Woo!
  • 4:22 - 4:28
    Então isso é legal, não é? Mas essa
    não é a melhor maneira de fazer isso
  • 4:28 - 4:32
    pois acontece que adicionar itens a um
    vetor é algo que queremos fazer muito.
  • 4:32 - 4:35
    Então temos uma maneira
    mais fácil de fazer do que essa.
  • 4:35 - 4:38
    Deixe-me deletar algumas
    coisas que eu fiz.
  • 4:38 - 4:43
    Tudo bem, então nós não precisamos
    disso. Vamos deixar isso comentado.
  • 4:43 - 4:51
    Então fazemos isso chamando
    xPositions.push e então mouseX.
  • 4:51 - 4:56
    Então o que estamos fazendo aqui, estamos
    chamando esse método no vetor xPositions.
  • 4:56 - 4:58
    Estamos chamando como
    um comando em um vetor.
  • 4:58 - 5:00
    Estamos dizendo ao vetor,
  • 5:00 - 5:05
    "Olha, coloque esse novo valor, que
    é mouseX, coloque isso no final do vetor."
  • 5:05 - 5:09
    Então toda vez que for chamado,
    toda vez que pressionar o mouse,
  • 5:09 - 5:12
    irá olhar para o mouseX
    e colocá-lo no final do vetor.
  • 5:12 - 5:17
    Assim, o vetor ficará maior e maior.
    Então vamos recomeçar e tentar isto.
  • 5:17 - 5:22
    Ta-da, funcionou! E é bem menos código
    do que nós tínhamos antes. Tudo bem?
  • 5:23 - 5:25
    Assim, a maior parte do tempo,
    você vai querer usar o envio,
  • 5:25 - 5:28
    se for adicionar coisas
    para seu vetor desse jeito.
  • 5:28 - 5:32
    E é elegante porque assim você pode ter
    vetores que crescem durante o programa.
  • 5:32 - 5:34
    Como quando você tem uma animação
    ou usuários fazendo coisas,
  • 5:34 - 5:36
    e então você pode fazer muito mais.
  • 5:36 - 5:42
    Então você viu 90% do que provavelmente
    vai fazer com um vetor e jeitos de usá-los
  • 5:42 - 5:44
    Mas ainda existe muitas
    utilidades para um vetor.
  • 5:44 - 5:47
    Então se você tiver dúvidas,
    pergunte na conversa.
  • 5:47 - 5:50
    Mas tenha certeza de
    dominar o básico primeiro.
  • 5:50 - 5:51
    Legendado por [Gabriel Mello Fernandes]
    Revisado por [Alberto Oliveira]
Title:
Modificando Vetores (Versão Vídeo)
Description:

O vídeo mostra como mudar dinamicamente o conteúdo de um vetor enquanto o programa está rodando.

more » « less
Video Language:
English
Duration:
05:51

Portuguese, Brazilian subtitles

Revisions