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]