-
Vamos falar de algo que você
usa bastante: Funções.
-
Sempre se usa comandos como:
rect(), fill() ou text(), se usa funções.
-
E elasdesenham o que você
as diz para fazer.
-
O que é uma função? É uma coleção de
códigos que agrupamos e nomeamos
-
Pois queremos usá-los várias vezes.
-
Pense no rect() O que rect() faz? Ele
apenas desenha quatro linhas, certo?
-
Poderíamos apenas usar a função line(),
certo?
-
e aqui temos o que se parece com um
retângulo. Mas percebemos que
-
queremos desenhas um retângulo várias
vezes. E seria muito chato ter que fazer
-
contas toda vez para desenhar uma
linha para os próximos pontos.
-
Ao invés disso, fazemos apenas a
função rect() que faz a mesma coisa
-
que a funções line() fizeram, mas, em
muito menos códigos.
-
Isso é muito legal e rect() é uma dessas
funções disponíveis para todos os
-
programas na Khan Academy. Mas você
também pode fazer suas próprias funções
-
para usar em seus programas.
-
Por exemplo: estamos fazendo um
programa e queremos desenhar
-
"Winston" várias vezes, talvez vamos
contar a história de Winston
-
e mostrá-lo em cada época de sua vida.
-
Então é assim que o código do desenho
pode começar.
-
Temos variáveis "faceX" e "faceY"
para iniciar o centro do rosto
-
e então desenhamos os olhos e a boca
relativas a essas variáveis.
-
Agora, o programa vê o código e não
está dentro de nenhuma função.
-
Então ele o lê e executa só uma vez.
-
Vamos transformar em uma função.
Para isso, fazemos algo parecido com
-
o modo de declarar uma variável, pois é
isso que queremos.
-
Então escrevemos "var drawWinston"
- Damos um bom nome - bem fácil -
-
e depois "=", mas aqui ao invés de
escrever um número ou uma corda,
-
escrevemos "function()",e depois
uma chave aberta e uma fechada.
-
e o ponto e vírgula ;
-
Ok, então o que precisamos fazer é
colocar tudo que queremos
-
dentro da função entre as chaves.
Pegamos todo o código e colocamos
-
dentro da função.
-
E agora o que temos é uma variável que
guarda uma função.
-
Basicamente demos uma etiqueta
a esse bloco de código.
-
Para dizer ao programa a qualquer hora
achar esse bloco e executá-lo.
-
Então fazemos esse código reutilizável.
Mas agora perceba que Winston sumiu.
-
Para onde ele foi? O que aconteceu foi
que ao colocar o código na função.
-
Dizemos ao programa: esses são
códigos que eu quero executar depois,
-
Mas, somente quando eu quiser.
-
Então temos que dizer para
executar o código.
-
Quer dizer que precisamos "chamar"
a função
-
Como fazemos com ellipse(). rect() e
line().
-
Então escrevemos o nome da função
('drawWinston') seguido do parêntese
-
aberto e fechado '()' e o ponto e vírgula ;
e então, temos um Winston.
-
OK, eu acho legal, mas você pode não
achar, pois o que fizemos é fazer
-
o programa executar exatamente o que
fez antes.
-
O ponto das funções é que podemos
reutilizá-las. Então vamos fazer isso.
-
Podemos copiar e colar essa função
repetidas vezes. Mas, parece o mesmo.
-
Bom, funcionou. Desenhou vários
Winstons, mas estão no mesmo lugar.
-
Se tivessemos visão de raio X, poderiamos
ver 3 Winstons, mas não temos.
-
Eu não sei quanto a você.
-
Mas, faremos uma mudança na função
que será bastante óbvio.
-
Você vê faceX e faceY- estão sempre
202 e 208? Podemos mudar isso
-
usando a função random()-de 35 a 350.
Assim terá um número aleatório.
-
Faremos a mesma coisa aqui, então,
toda vez que "chamamos" a função,
-
gerará um número aleatório e se
pressionamos "restart", teremos
-
Winstons aleatórios, muito legal.
-
Eu acho isso legal, pois teríamos de
escrever vários códigos
-
se não tivéssemos a função.
-
Teríamos três vezes o mesmo código.
-
Mas ainda não é tão útil quanto poderia,
pois, não queremos Winstons aleatórios,
-
Queremos posicionar os Winstons em
um ponto específico na tela.
-
Então fiquem ligados, pois falaremos
sobre passar parâmentros
-
às nossas funções, e então você poderá
fazer isso.
-
Legendado por [Alef Almeida]
Revisado por [Cainã Perri]