Transcrições
1. Introdução ao curso de programação: Você quer dar a seu filho
o melhor começo possível em sua
jornada de programação e
equipá-lo com habilidades essenciais
que moldarão seu futuro Então você está no lugar certo. Oi. Meu nome é
doutor Craig Bird. Sou professor de TI com mais de 30 anos de experiência no
ensino de tecnologia. Eu tenho um PhD em tornar aprendizado envolvente
e eficaz E junto com meu filho Joshua, criamos alguns dos cursos
de programação mais bem
avaliados,
e este é de longe
o curso de programação e este é de longe
o curso de mais abrangente e envolvente
que você encontrará Então, o que seu filho
aprenderá? Neste curso, seu filho embarcará
em uma jornada empolgante para se tornar um programador
usando o Scratch, que é uma
linguagem de codificação que
transforma códigos
complexos baseados em texto em simples blocos de lego, significa que seu filho não
precisa de nenhuma Ao longo deste curso,
trabalharemos em vários projetos
interessantes que
lentamente desenvolvem habilidades,
começando com um jogo muito
simples de apanhar bugs Jogo de futebol, um jogo
Traffic Racer
e, em seguida, um divertido jogo de aventura de
esqui de arcade Vamos ensiná-los a criar seus próprios personagens,
histórias e animações. E quando
terminar este curso, seu filho terá um
portfólio de jogos e aplicativos que poderá exibir com orgulho
em seu próprio site, que também o
ajudaremos Neste curso, ensinamos todos os fundamentos da
programação, como variáveis,
loops, sintaxe, tipos de dados, algoritmos e várias
outras palavras sofisticadas .
Mas não se preocupe. Tornamos isso muito
fácil de entender. Tudo isso significa basicamente que seu filho será capaz de
pensar como um programador Resolvendo problemas e desenvolvendo soluções do mundo real. Por que escolher este curso? Bem, vamos esclarecer uma
coisa. Este não é apenas
mais um curso de programação. Este é o curso definitivo específico para crianças
porque nos
concentramos em tornar conceitos complexos de
programação realmente simples e
fáceis de entender. Com minhas décadas de experiência de
ensino e métodos comprovados,
junto com meu filho, que passou por
essa mesma jornada, garantimos que seu filho terá a melhor introdução possível à
programação. Em muitos cursos de programação, os alunos simplesmente acompanham, copiando o que o
instrutor diz É tipo, Simon dela, faça isso, e eles fazem isso Bem, eles podem acabar
com um programa interessante. Eles realmente não
aprendem a programar. Neste curso, fazemos
as coisas de forma diferente. Oferecemos a seu filho
as ferramentas e
as habilidades necessárias para realmente
entender como programar. Nós os ajudamos a entender não
apenas o que estão fazendo, mas também por que estão fazendo isso. E dessa forma, eles poderiam
conectar todos os pontos. E, no final, eles não terão
apenas criado um jogo chamativo. Eles terão o conhecimento e a
confiança para criar o que
quiserem, sejam jogos, aplicativos ou
qualquer coisa que possam imaginar. E se em algum momento eles se sentirem presos, bem, você tem nosso suporte premium, que significa que
poderemos ajudar a depurar seus projetos ou explicar qualquer coisa que eles não entendam
completamente Além disso, há nosso pacote de ativos, ao
qual seu filho
terá acesso total Está repleto de tudo o que é necessário para os projetos do curso. Pense nisso. Como um conjunto de Lego. Fornecemos os conjuntos principais para os projetos
que construiremos juntos
e, como bônus, são conjuntos
extras para explorar de
forma totalmente gratuita. Este curso é o
mais prático possível: seu filho
trabalhará em projetos interessantes desde a primeira seção. Não queremos apenas que
eles acompanhem. Nós os ajudamos a pensar por
si mesmos e a aprender ativamente com projetos extras divertidos e muitos desafios
ao longo do curso. Pais, sabemos que vocês querem o
melhor para seus filhos. Codificar é mais do que
apenas escrever código. Trata-se de estimular a criatividade,
aprimorar as habilidades de
resolução de problemas e
criar confiança Essas são habilidades que
beneficiarão seus filhos
por toda a vida, independentemente da
carreira que escolherem. Portanto, se seu
filho tem 6 anos ou até 16 anos, este é Então, você está pronto para capacitar seu filho com habilidades
para o futuro Animado em vê-los criar jogos e projetos
dos quais se orgulham. Bem, então, se você se juntar a
nós neste curso empolgante, podemos esperar para ver
o que seu filho cria Inscreva-se agora e vamos
começar essa incrível
jornada juntos
2. Introdução ao Coding Course: Ok, é isso. Vamos
dar uma olhada na ferramenta que usaremos para criar nossos incríveis projetos que
estão aprendendo a programar. Se você ainda não fez isso, acesse o site scratch.it.eu É aqui que toda a
ação vai acontecer. E como essa é a
primeira seção do curso, vou manter meu rosto
feliz e sorridente no canto
da tela
porque quero que você saiba que somos
humanos reais do outro lado do computador ensinando
você, não apenas um bot No entanto, à medida que avançamos e
entramos nas partes de ação do sol, onde você aprenderá a criar jogos realmente
incríveis, eu esconderei meu rosto. Então, nós realmente queremos
que você se concentre
na programação
sem distrações Mas não se preocupe, pois estamos sempre aqui e
prontos para ajudá-lo. Mas com isso, vamos embora. Em primeiro lugar, vamos dedicar um momento para entender o que é arranhão. Essencialmente, o scratch é
uma linguagem de programação que foi
especialmente projetada para jovens programadores e
pessoas que querem apenas começar
a aprender a
programar. Como você. Basicamente, ele pega
a
sintaxe e o texto complexos de
linguagens baseadas
em texto e os transforma em blocos de código fáceis de
entender que tornam a programação
envolvente, interativa e divertida Você sabe como construir todos os tipos de
coisas incríveis com blocos de lego. Certo? Você pode criar edifícios ,
veículos e até mundos
inteiros. Assim como os blocos de lego, scratch fornece blocos de codificação
coloridos, mas você pode se
encaixar para criar suas próprias
criações digitais, como jogos,
animações,
histórias interativas e muito animações,
histórias interativas E assim como você
não precisa ser
arquiteto ou
engenheiro para ter o Fongo, você não precisa de nenhuma experiência
anterior em codificação para começar a criar Ele foi realmente projetado para
ser fácil de entender. Assim, você pode se concentrar em ser
criativo e aprender a lógica da programação e como pensar
como um programador, que é a habilidade mais
importante E a melhor parte
é que você pode conseguir tudo isso sem se preocupar com uma sintaxe de
codificação complexa Portanto, é uma
maneira incrível de conhecer o que é programação e começar sua aventura de codificação Então, primeiro de tudo, abra o site do Scratch,
se você ainda não o fez. E vou
recomendar que você use o Chrome como navegador
à medida que continua. Um rascunho simplesmente funciona melhor com o Chrome em comparação com
outros navegadores. Então, se esta é a primeira
vez que você arranha, sua tela deve ser
parecida com a minha. Se você rolar para baixo,
verá vários projetos
interessantes que pessoas
como você estão criando, que exploraremos mais tarde. Aqui no topo, você verá
que temos opções diferentes. A primeira é
criar um projeto, que faremos muito. Existe a guia Explorar, e é aqui que você encontrará mais jogos divertidos desenvolvidos
por pessoas que usam o scratch, e é aqui que as pessoas também
poderão encontrar projetos
que você cria. Seguindo em frente,
há uma guia de ideias, que tem algumas ideias divertidas de
projetos para você
criar no futuro. E, finalmente, a
seção sobre é tudo. Bem, sobre o zero. Ok, com tudo isso dito, podemos criar nossa conta
temporária. Agora, isso é importante,
pois garantirá que
possamos salvar nossos projetos e
não perder nosso progresso. Então, tudo que você precisa fazer aqui
é clicar em Join Scratch. E, como você pode ver,
ele solicita um nome de usuário e uma senha. Pode ser o
que você quiser, mas
certifique-se de que não seja seu
nome verdadeiro, como diz aqui. Vamos apenas chamar
nosso nome, clique em. E então a senha pode
ser a que você quiser. Apenas certifique-se de
se lembrar disso. Depois disso, ele pergunta em que
país você mora. Agora você pode
percorrer essa lista enorme
para encontrar seu país. Bem, eu moro na África do Sul, então isso fica bem perto do fundo. E então ele perguntará sua agenda. Finalmente, ele
pedirá um e-mail. É importante inserir
seu e-mail corretamente, pois é aqui que o scratch
enviará uma confirmação. Depois de receber o e-mail de
confirmação, você pode clicar no
link de confirmação e pronto. Sua nova
conta de rascunho foi criada e estamos prontos para começar. Então, pronto, configure sua conta
temporária, e nos vemos na próxima lição,
à medida que explorarmos a interface do
Scratch.
3. Bem-vindo ao mundo da codificação com o Scratch!: Então, esse é o momento
que você estava esperando. É hora de criar
nosso primeiro projeto. Para criar um novo projeto,
tudo o que você precisa fazer é clicar no grande botão de criação
na parte superior da página. E isso cria um projeto
totalmente novo para você e leva você ao editor de projetos
do zero onde todas as
coisas incríveis acontecem. Agora, estamos no local
onde a ação acontece, vamos fazer um tour para que você
possa entender
rapidamente como tudo funciona. Então, toda essa área em que estamos no momento é
chamada de editor, e é aqui que você pode
criar e codificar seu projeto. É basicamente onde você
criará qualquer coisa que possa imaginar. O editor de rascunho
tem quatro partes principais o palco, os sprites, os blocos de código
e os scripts Deixe-me explicar o que cada
parte faz. Tudo bem. Vamos primeiro falar
sobre a área do palco. Você o encontrará na extremidade
direita da tela. O palco é onde todas
as coisas divertidas acontecem. Assim como um palco em um teatro. É aqui que você
vê a ação. Ao criar seu projeto, tudo o que você fizer
aparecerá aqui. É o
espaço especial onde você pode ver e construir seu
incrível projeto. Agora, olhando para baixo
do palco, você verá esta área aqui onde você pode escolher o
plano de fundo do palco. Atualmente, temos apenas esse plano de
fundo simples e chato selecionado Mas se você clicar nesse pequeno botão
no canto inferior direito, poderá escolher um novo pano de fundo, além de adicionar sons e
músicas ao palco, mas exploraremos tudo
isso em uma lição futura Um sprite de rascunho é o personagem que seu código de
rascunho controla Por exemplo, você pode escrever algum código para fazer seu
sprite se movimentar ou falar Esses sprites podem ser
todo tipo de coisas desde pessoas a
animais e objetos E, assim como
nos cenários do palco, você pode escolher entre vários
sprites pré-fabricados ou até mesmo desenhar suas
próprias vitórias exclusivas Além disso, você pode até mesmo fazer upload de
sprites do seu computador, o que faremos
nas próximas aulas Em seguida, estão os blocos de código. Estas são as
instruções que você pode usar para fazer seus
sprites fazerem coisas É como a programação
do mundo real. Mas, em vez de digitar linhas
complexas de texto, você usa esses blocos Mas, essencialmente, você está fazendo a mesma coisa, você está programando. Existem diferentes categorias
de blocos, como movimento, aparência, som, eventos,
controle e muito mais. Cada categoria representa um aspecto diferente
da programação, ajudando você a criar um projeto completo
e interativo. Para usar esses blocos de código, basta arrastá-los e soltá-los
da paleta de blocos
na área do script E ao juntar os
blocos, você começará a ver seu
projeto ganhar vida. E por falar na área do script, essa é a última grande
área que devemos discutir. É aqui que reunimos
os blocos em uma ordem especial que diz aos
seus sprites o que fazer Você pode conectar blocos de código juntando-os como peças de um quebra-cabeça Apenas como um exemplo rápido, trarei esse bloco de dez
passos para minha janela. Aqui, como você pode
ver, se eu clicar nele, meu sprite de tomografia computadorizada
avança na tela E, por fim, se você
olhar até o topo, verá que existem abas diferentes para
figurinos e sons Agora, esses também são espaços
muito importantes que nos ajudarão a criar projetos
impressionantes, mas abordaremos
isso mais tarde. Mas, por enquanto, essa é uma visão geral rápida da interface
Scratch
e de como ela funciona. Incentive você a brincar e conferir
as coisas por si mesmo porque é aí que o
aprendizado acontece na prática. Estou ansioso para ver você
na próxima lição, onde
começaremos a ver o que
todo esse código faz.
4. Como molhar os pés: a interface do risco: Bem, espero que você tenha se divertido
um pouco
brincando com os sprites
e os blocos de código, porque nesta
lição, vamos explorar alguns dos blocos de
código juntos Então, vamos começar com uma questão
importante sobre o que é código. O código é basicamente um conjunto de instruções para um computador. Veja, os computadores na verdade
não são muito inteligentes. Bem, eles não são muito espertos em descobrir o que você
quer dizer com os humanos Eles precisam de instruções muito claras e
específicas, passo a passo, para fazer
o que queremos que eles façam. Imagine que você está dizendo a alguém
como fazer um sanduíche. Para um humano, você pode simplesmente dizer,
por favor, me faça um sanduíche de
manteiga de amendoim e geleia Mas para um computador, você
teria que ser muito
mais específico, como. Pegue uma fatia de pão
e coloque em um prato. Pegue o pote de
manteiga de amendoim e abra-o. Insira uma faca e, depois de
pegar um pouco de manteiga de amendoim, use a faca para
espalhá-la uniformemente no pão Em seguida, pegue o pote de geleia, use uma colher para colocar um pouco na outra
fatia Coloque a fatia de pão em
cima da manteiga de amendoim e assim por diante. Você entendeu a ideia. Outro exemplo é se pudéssemos ver
o sprite que temos Digamos que queremos que ele vá
até o final da tela. O computador não
entenderá o que queremos dizer se apenas dissermos caminhar até
o final da tela. No entanto, o que podemos dizer
é dar dez passos. Como você pode ver, o gato
avança dez passos, mas ainda não está realmente
andando, está apenas se movendo. Ok, então o que
também podemos fazer é mudar para
a próxima roupa. Agora, se clicarmos aqui,
podemos ver que
parece que está andando.
Agora estamos chegando a algum lugar. Mesmo assim, não está caminhando
até o final da tela. Então, o que poderíamos fazer
é pegar esse bloco de repetição. Coloque-o sobre esses blocos e agora ele basicamente
repetirá todo o código dez vezes. Agora, se clicarmos nele, podemos
ver que ele se move muito mais longe, mas ainda não para o
final da tela. Assim, posso alterar as etapas de 10 a 50. Ok, agora, aí está. Um gato caminhando com sucesso até o outro lado da tela. Então, como você pode ver,
embora os computadores sejam incrivelmente poderosos e
possam fazer coisas incríveis, eles precisam de instruções
muito precisas e específicas para
fazê-los funcionar, porque os
computadores farão exatamente o que você
mandar e nada mais. Mas prepare-se agora, porque para a próxima aula, vamos programar oficialmente
5. O ABCs da codificação: o que é o código?: Bem, este é o momento que
você estava esperando. É hora de programar e criar
alguns dos nossos primeiros scripts. Bem, tecnicamente,
já criamos nosso primeiro script, como fizemos
na lição anterior Mas desta vez, será melhor. Mas antes de fazermos isso, você
pode estar se perguntando,
bem, o que, até mesmo, é um roteiro. A resposta curta é que um script
é apenas blocos de código conectados
que dizem ao nosso Sprite o que fazer Como eu descrevi anteriormente
, são instruções
para o computador. Então, como vimos, um bloco de código é
apenas um bloco de código. Mas quando combinamos isso, fazemos com que coisas incríveis
aconteçam, como o roteiro, que faz nosso gato caminhar
até o final da tela. No entanto,
falta uma
peça-chave do quebra-cabeça antes de podermos
chamar oficialmente nossos blocos de código de script, e a peça-chave está localizada
no grupo de eventos. É isso quando a
bandeira é clicada. Você verá agora
que podemos arrastar esse bloco de código até o início
do nosso script de caminhada. E agora, quando clicamos nessa bandeira
verde, um script é reproduzido. Não é necessário clicar manualmente nele. Mas isso é só o começo porque você ainda não
é programador. Ainda há uma
coisa que você precisa fazer. É praticamente um
direito de passagem. Depois de fazer isso, você pode se chamar
oficialmente de programador, contar aos seus amigos
que você é um programador, dizer ao seu cachorro que você é um programador, para quem
quiser Então, vá até o grupo
Lux Code, arraste o s e conecte-o quando
a bandeira clicar Agora, para a etapa mais
importante, você
está pronto para digitar
hello world. OK. Feito. Agora, clique em
Jogar. Aqui, você tem. Olá, mundo. Você criou o
primeiro programa icônico mais clássico de todos os tempos. Agora você é oficialmente
um programador. Ninguém mais pode
te dizer o contrário. Então, com isso resolvido, vamos criar roteiros legais e
brincar com alguns dos blocos. Mais uma vez, vou
arrastar este bloco de clique com a bandeira W. E desta vez,
vou seguir em frente e
jogar com
alguns dos códigos aqui Vamos experimentar W flag click. Dê dez passos e
gire 15 graus. Agora, quando clicamos na bandeira, nosso gato se move, gira e diz: Hello World. Isso é muito legal. Mas antes de continuarmos, não
sei se você percebe, mas nosso gato está girando muito mais e menos se movendo.
Então,
como podemos resolver isso? Bem, antes de eu
ir em frente e consertá-lo, eu quero que você tente consertá-lo. Lembre-se de que o aprendizado
acontece no fazer. Então, tente ver se você consegue fazer esse gato se mover
mais e depois se vire. Eu estarei esperando. Pause o
vídeo e experimente Bem, espero que você tenha descoberto, mas mesmo que não tenha descoberto,
isso não é problema Então, se você se lembra de antes, mudamos o que nosso
gato disse simplesmente
clicando nessa textura e
digitando nossas novas palavras E podemos fazer a mesma coisa um movimento e, na verdade, com
todo o resto do zero. Isso é uma
coisa muito importante de se lembrar. Quase todos os blocos
de código do zero são personalizáveis e nos permitem
alterar seus valores Basta rolar para baixo e você
pode ver como eu poderia mudar roupa selecionada
ou qual som é reproduzido Isso realmente nos dá muito
mais controle sobre o que acontece. Então, para nosso problema
de mover mais, tudo o que preciso fazer é
alterá-lo para 20 etapas. Agora, como você pode ver,
quando clicamos na bandeira, nosso gato se move em um círculo
muito maior. Mas não vamos parar por aí. Vamos trazer alguns
outros blocos de código interessantes. Vamos colocar isso em uma posição aleatória. E espero que você consiga
adivinhar o que isso faz. Bem, movendo-o para o nosso roteiro. Você pode ver que nosso gato
pula pela tela, movendo-se em posições bem
diferentes Muito legal. Mas vamos
tentar algo melhor. Que tal deslizar
para uma posição aleatória. O que vou fazer aqui é
desconectar esse script de quando iniciar, clique e
conecte esse novo bloco Dessa forma, esse script não será executado. Mas agora, como você pode ver,
quando clicamos na bandeira, o gato desliza para posições
aleatórias na
tela, o que é bem legal Mas a única coisa irritante é como temos que continuar
clicando nessa bandeira Em vez de fazer isso, poderíamos trazer esse bloco de repetição, como fizemos anteriormente, e colocar
esse código dentro do bloco. Dessa forma, o código
será repetido dez vezes. Agora, mesmo quando
clicamos nele novamente, nosso gato
corre automaticamente pela tela. Agora, embora seja um pouco lento, o
que podemos fazer é alterar o número de
segundos de 120,2 Agora, é disso que
estou falando. O OCT amplia a tela. Embora nosso gato
acabe parando. Então, como podemos fazer com
que isso continue para sempre, ou pelo menos até
clicarmos no botão parar? Alguma ideia? Veja se consegue descobrir como fazer o
gato continuar se movendo para sempre. Isso é uma pista. Pause o vídeo
e veja se você consegue fazer isso. Bem, espero que você
descubra isso, porque para fazer nosso gato
continuar se movendo, tudo o que precisamos fazer é
usar o loop eterno. E, basicamente, qualquer
código que esteja
nesse loop se repetirá para sempre. Legal. Então, desligue-o
e pressione play novamente. Você pode ver que nosso
gato se
move continuamente pela tela
como um louco OK. Agora, em vez de deixar nosso gato se
movimentar aleatoriamente. E se quisermos que ele
siga nosso mouse? Isso seria divertido. Você entendeu? Gato e rato? OK. Sim, sim. Muito engraçado. Certo. Para fazer o gato perseguir o mouse, podemos inserir
esse bloco de código e alterá-lo de uma
posição aleatória para um ponteiro do mouse No entanto, se clicarmos em Jogar, você verá que nada
realmente acontece. Nosso gato meio que se move
para o canto da tela. Mas eu quero que você
pense sobre isso agora. Por que nosso gato está apenas se movendo
para a borda da tela? Por que não está
seguindo o mouse? Eu quero que você corrija esse código
e me diga quando terminar. Claro, eu não vou
conseguir te ouvir. É uma tela de computador com a qual
você está falando. E eu não sou para o explorador. Mas me avise quando
terminar de qualquer maneira. Pista. A solução está vinculada a um bloco de código
que acabamos de ver. Então, faça uma pausa e experimente. Consertou isso? Legal. Ou se você
não fez isso, isso também é legal. Desde que você tentasse. Ao longo de nossas aulas,
sempre darei a você a
oportunidade de tentar fazer
coisas antes de mostrar. Lembre-se desse aprendizado,
o que acontece na tentativa. Portanto, sempre tente, mesmo que
você não acerte. Mas, basicamente, o que está
acontecendo aqui é que nosso sprite está
indo para o mouse Mas ele só faz isso uma vez, e isso só acontece quando
clicamos em nossa bandeira verde. Então, para corrigir isso, tudo o que
precisamos fazer é colocar o bloco de código Go to Mouse em um fevolu E desta vez, clicamos em Play
e você verá que funciona. E é muito legal. Como você pode ver,
não importa o quão rápido
eles movam o mouse, o gato sempre acompanhará. E isso funciona
porque nosso sprite sempre
vai para
o ponteiro do mouse, não apenas quando clicamos em Reproduzir Ok, vamos tentar mais um script antes de encerrarmos esta lição. Vamos pegar esse ponto
em direção ao bloco aqui. E acho que você tem uma ideia do que isso faz,
porque, como você pode ver, o ponto do mouse está selecionado, o
que significa que nosso sprite
apontará Vamos também pegar
outro bloco
de código desta vez
do grupo Looks. Aqui. Vamos aumentar esse efeito de
mudança de cor em 25. E, como antes, colocaremos esses
dois
blocos de código em um loop livre. Dessa forma, ele não faz isso
apenas uma vez. Além disso, adicionaremos isso quando a bandeira clicar para
completar o código. Certo. Vamos dar uma
chance. Como você pode ver, nosso gato se transformou em um teclado RGB e está constantemente
apontando para o mouse Sim, bom. Ok, isso é
tudo para esta lição. Cobrimos bastante, e tenho certeza que você aprendeu muito. Agora, eu só quero que você aproveite este momento para escrever
alguns de seus próprios scripts, apenas experimente com diferentes blocos de código
e veja o que eles fazem, e nos vemos
na próxima lição. Então, divirta-se.
6. Como dar vida a ideias: como criar seus primeiros scripts: Espero que você tenha se divertido
brincando com alguns
dos blocos de código, então vamos continuar
nossa jornada de aprendizado e ver o que mais podemos fazer. Mas antes de prosseguirmos e criarmos alguns jogos,
aplicativos e animações incríveis, primeiro
precisamos falar sobre o que todos esses grupos de blocos de código e quais
são seus propósitos Porque se conseguirmos
entender adequadamente o que cada grupo
faz desde o início, você achará muito mais
fácil criar seu próprio código. Como vimos, todos os blocos e
o scratch são organizados
em grupos diferentes. Como você pode ver, tudo
isso é azul, roxo, rosa e assim por diante. Basicamente, cada um deles é
agrupado pelo que faz e representa diferentes
aspectos da programação Então, vamos examinar cada um
dos grupos para entender seu propósito e também ver algumas das
coisas divertidas que eles podem fazer. Em primeiro lugar, todos esses blocos
azuis têm a ver com o movimento e com a movimentação do
sprite pela tela E estamos
brincando bastante com esse grupo de códigos. Então, tenho certeza de que você tem uma boa ideia do que
se trata. Mas há muito mais que você pode fazer aqui usando blocos de movimento. Mas seguindo em frente. Sim, sim. Há muitas coisas para serem engraçadas.
O próximo grupo é Los. E isso é tudo.
Sim, bem, você adivinhou. Aparência. Então, vamos dar uma olhada. Também testamos alguns blocos de código, como
trocar de roupa, dizer palavras diferentes ou
até mesmo mudar a cor. Mas ainda há muito mais que
podemos fazer, como mudar
o tamanho e tornar o gato maior ou fazê-lo
se esconder ou aparecer e muito mais. Mas, basicamente, tudo o que
você precisa saber é que o grupo de looks tem
tudo a ver com looks, e geralmente o usamos
quando queremos criar gráficos e animações
sofisticados que você verá mais tarde Descendo, temos sons, e tenho certeza que você pode
adivinhar do que se trata. Aqui, podemos fazer com que nossos sprites
façam sons específicos. Então, com nosso gato, podemos
fazer esse som M. E também podemos mudar
o tom, como você pode ver. E sim, começa a
ficar um pouco louco. OK. Descendo, nosso próximo
grupo é chamado de eventos. E você pode não ter certeza do
que se trata esse grupo. No entanto, esse é um grupo
muito importante de blocos de código, pois nos
permite
reproduzir automaticamente nossos scripts quando um determinado evento acontece. Até agora, usamos o evento clicked flag
w, que basicamente inicia
nossos scripts de código quando esse sinalizador verde é clicado E você verá como isso
é útil quando temos muitos sprites Mas, como você pode ver, há outros eventos, como
quando o Space clicou Isso só iniciará
o script quando a barra de espaço for clicada Ou esse evento inicia
o script quando o sprite é clicado ou
quando eu recebo uma mensagem Todos esses eventos
fazem a mesma coisa. Em vez de
esperar que cliquemos na bandeira verde para reproduzir nosso código, eles esperarão
que algo mais aconteça. E isso nos permite controlar
quando o código deve começar. Agora, você
realmente saberá como tudo isso funciona quando criarmos alguns aplicativos mais
avançados posteriormente. Mas com isso, podemos passar para nosso próximo grupo de código,
que é controle. Todos os blocos aqui são
usados para controlar nosso código, que basicamente
significa que eles nos ajudam a gerenciar o fluxo e a
estrutura de nossos scripts,
da mesma forma que os semáforos ajudam a direcionar carros em cruzamentos
movimentados Por exemplo, temos
blocos para criar loops, o que nos permite repetir
seções do código um número específico de
vezes ou até para sempre. Assim como fizemos anteriormente
para fazer nosso gato caminhar até o final da
tela ou
seguir constantemente o ponteiro do mouse Também temos
declarações condicionais, como blocos
if then e if then ls, que permitem que os sprites tomem
decisões com base no cumprimento de determinadas
condições Da mesma forma que você pode
escolher usar um casaco, se estiver chovendo ou
usar óculos escuros, se estiver ensolarado lá fora Há também esse bloco
aqui, que espera. Movendo isso para o nosso script, você notará que agora,
quando clico na bandeira, ela espera 1 segundo
antes de reproduzir o script Isso também é
importante saber. Portanto, preste muita atenção. Quando executamos um de nossos
scripts como esse,
por exemplo, o código
é executado em uma ordem de cima para baixo. Então, podemos ver isso logicamente
quando clicamos na bandeira, ela primeiro espera por 1 segundo, e esse é o
primeiro bloco de código Em seguida, ele mudará de cor 25 e, em seguida, apontará para
o ponteiro do mouse
e, é claro, isso repetirá esse código
para sempre aqui Mas se você reproduzir o script, parece que esses
dois blocos de código estão
sendo executados ao mesmo tempo. E isso ocorre porque os computadores
são tão rápidos que
você nem percebe que isso
está acontecendo em ordem. Mas vamos adicionar alguns
blocos de peso para ver em ação. Então, arrastando nossa espera por 1 segundo aqui e outro aqui antes de executar o
código, você consegue adivinhar O que vai fazer? Pense, adivinhe o
que os pesos farão? Clicamos na bandeira. Ele
espera por 1 segundo Ele muda de cor, espera
por mais um segundo, aponta para o mouse, espera por mais um segundo, depois volta a mudar
a cor e assim por diante Então, jogando este programa, você pode ver como ele
faz exatamente o que
previmos e como acontece
na ordem que especificamos. E à medida que avançamos,
você verá como a ordem em que colocamos
nosso código é tão importante. Mas, nesse tópico,
esses blocos de controle nos
dão o poder de tornar nosso projeto mais inteligente e interativo, respondendo a
diferentes situações à medida que elas acontecem E ainda tem muito mais, mas você entenderá
a ideia por enquanto. Passando para o próximo
grupo, temos sensores. E esses blocos
são bem legais. Detectando blocos, permita que seus sprites detectem coisas como
tocar em outro sprite, mover o
mouse ou até mesmo ouvir quais são os tipos de
usuário Esses blocos ajudam seus projetos reagirem ao ambiente. E isso é muito útil quando queremos criar jogos
interativos E vamos jogar com
alguns deles mais tarde quando criarmos alguns jogos divertidos. Descendo novamente,
temos operadores. E tudo isso tem a ver com matemática. Sim, sim, matemática pode
ser chata às vezes, mas eu vou te dizer que
quando estamos fazendo jogos, precisamos de um pouco de matemática
para fazê-los funcionar, e isso se torna
muito divertido Os operadores são
como as ferramentas que usamos para criar e resolver
quebra-cabeças em nosso projeto Eles nos ajudam a fazer contas
e fazer comparações, assim como fazemos quando estamos descobrindo coisas
na vida cotidiana Por exemplo, podemos somar, subtrair, multiplicar ou
dividir números juntos Encontre o restante quando
um número é dividido por outro ou até mesmo escolha
um número aleatório Esses operadores também nos permitem comparar valores para ver
se eles são iguais, maiores ou
menores que um do outro. É como quando você está
jogando um jogo de cartas e precisa descobrir
quem tem a carta mais alta, usamos comparações para decidir quem
ganha e precisa descobrir
quem tem a carta mais alta,
usamos comparações para decidir quem
ganha. E não apenas números. Podemos até combinar texto, também conhecido como strings, para criar frases ou fazer nosso sprite
dizer coisas bem engraçadas Então, os operadores
nos dão um monte de ferramentas
legais para
trabalhar quando estamos criando nossos jogos e
projetos do zero. E eles nos ajudarão a
tornar nossos projetos mais dinâmicos e interativos. E, finalmente, temos variáveis. As variáveis são como
pequenas caixas
de armazenamento de informações que
podemos usar em nossos projetos. Imagine que você está jogando um
jogo e tem uma pontuação. Onde você
acompanharia essa pontuação? Você o obteve em uma variável. No zero, podemos criar
nossas próprias variáveis para armazenar e acompanhar valores
diferentes, como pontuações, vidas ou até mesmo o nome de um jogador. Podemos alterar esses valores
adicionando, subtraindo, configurando ou até mesmo mostrando e ocultando a variável
na tela Assim como no mundo real, usamos notas para lembrar informações
importantes que talvez
precisemos mais tarde. No scratch e na programação,
usamos variáveis. Por exemplo, digamos que
você esteja criando um jogo em que um personagem
coleta moedas. Cada vez que eles coletam uma moeda, você gostaria de aumentar
essa pontuação em um. Você pode usar uma variável para
armazenar a pontuação dos jogadores e , em seguida, adicionar uma a ela toda
vez que eles pegarem uma moeda. As variáveis são muito
úteis para tornar nossos jogos e projetos
mais envolventes, interativos e
divertidos, além de nos ajudar a acompanhar informações
importantes à medida que nossos
projetos se tornam mais complexos. Olhando para baixo novamente,
você verá que há mais
uma área chamada Meus blocos. E, como você pode ver,
não há nada aqui no momento, mas veremos como usar o bloco de código especial em aulas
mais avançadas. De qualquer forma, é só isso. Nesta lição, você realmente adquiriu uma boa
compreensão básica de como todos esses blocos funcionam
juntos para formar scripts
complexos que podem nos
ajudar a criar jogos incríveis. Também analisamos como nosso código funciona de
cima para baixo. Além disso, sempre teste alguns dos blocos agora
mesmo e veja se você consegue
se divertir criando alguns de
seus próprios scripts interessantes, e nos vemos
na próxima lição, à
medida que continuamos nossa jornada de
aprendizado.
7. Um olhar mais de perto: como descobrir blocos de arranhões: Então, examinamos todos
os diferentes co-drives, todas as diferentes
áreas, como o palco, nossos sprites e muito mais Neste estágio, você tem uma compreensão muito boa
de todas as áreas, mas há algumas coisas que ainda não
abordamos. E para que você tenha
uma compreensão completa de como todo esse
ambiente do Scratch funciona, nesta lição,
faremos exatamente isso. E acho que a melhor maneira de
fazer isso é ir
do lado esquerdo da tela para o lado direito da tela para garantir que cubramos tudo. Então, primeiro, começando
pelo canto superior esquerdo da tela. Nós temos o código. E você sabe do que se
trata. É o nosso código. Mas movendo-se um
pouco para a direita, você verá que temos fantasias. Agora, ainda não falamos
sobre isso, mas cada sprite que temos em nosso programa pode ter
quantas fantasias você quiser E todas essas roupas são
específicas para esse sprite. Então, lembre-se de como
fizemos nosso gato andar pela tela adicionando
o código ao lado da roupa. Bem, isso usa
esses dois trajes para criar o efeito de caminhada. E a parte legal aqui é
que o scratch oferece muito controle para criar novas roupas e editar
as que você tem. Por exemplo, eu poderia usar a segunda
fantasia do sprite, clicar na cauda aqui e girá-la um
pouco para baixo Então, vamos ativar o roteiro de
caminhada novamente. Agora você verá como a cauda do
gato também se
move quando ele anda. Mas
não parou por aí. Também podemos importar
novas roupas, biblioteca do Scratch, fazer o upload das nossas ou até mesmo desenhar nossa
própria roupa personalizada, é aí
que suas
habilidades artísticas entrarão em jogo. De qualquer forma, você entenderá
como essas roupas funcionam quando criarmos as nossas em nossos jogos e animações
em aulas futuras Movendo uma guia para cá,
você pode ver que temos sons. E isso é bem parecido com fantasias, exceto que aqui você pode ver esse sprite de gato vem
pré-instalado com esse som Mo, que usamos anteriormente E, novamente, você pode fazer upload de
seus próprios sons ou escolher entre alguns
dos sons que estão
disponíveis no zero. Você pode adicionar muito mais
profundidade ao nosso personagem e objetos em nosso
programa usando o som. Agora, mais uma coisa a saber sobre figurinos e sons é que ambos são controlados
por esses dois grupos de código. Portanto, o grupo de códigos Looks
pode controlar nossas roupas, e o grupo de som pode controlar nossos sons
para nosso sprite Vamos continuar nos movendo para o lado. Aqui, temos nosso editor de scripts, onde vai todo o nosso código, e você sabe tudo sobre isso. Então temos nossa
bandeira verde e nosso botão de parada. Seguindo em frente, temos
esses botões aqui, que permitem que você altere
o layout da nossa interface. Mas acho que esse
layout é muito bom no momento e o
melhor, então vamos deixar isso. E na borda, há um botão de tela cheia, para que possamos ver nosso programa
em toda a sua glória. Seguindo para baixo, temos nossa visualização de código, que
você também conhece. É onde a ação acontece. E então, novamente, temos essa área, que
ainda não discutimos. Em primeiro lugar, podemos mudar
o nome do nosso sprite. Então, em vez de ser um sprite, podemos chamá-lo de CT.
E avançando, você pode ver, temos
essas entradas x e y. E esse é um conceito
importante. Portanto, preste muita atenção. As coordenadas X e y são como as posições de tudo o que acontece
no estágio inicial. Isso nos ajuda a saber onde as coisas estão e como
movê-las. exemplo, imagine uma grade
gigante cobrindo todo
o estágio do rascunho com linhas
horizontais e
linhas verticais se cruzando. A grade é composta pelas coordenadas
x e y. A coordenada x representa a posição horizontal ou a posição esquerda e direita
do sprite no palco,
e a coordenada y representa a posição vertical
ou
a posição para cima e para baixo do sprite no Agora, vamos pensar nisso
como um mapa do tesouro. As coordenadas x e y são
como as instruções sobre quantos passos dar em cada direção para
encontrar o tesouro. Se nos dissessem para dar dez passos para a direita
e cinco para cima, moveríamos dez passos ao longo do eixo x e cinco
passos ao longo do eixo y. No zero, o palco tem seu
próprio sistema de coordenadas com zero x e zero y sendo
o ponto central As coordenadas x variam de menos 24240, enquanto
as coordenadas y variam de menos
um 80 a um 80 Quando você quiser
mover um sprite para um ponto específico no palco, basta definir suas coordenadas x
e y. Por exemplo,
digamos que queremos mover nosso sprite CT para o canto superior
direito do palco Em seguida, definiríamos
a coordenada x para 240 e a
coordenada y para um 80 Você também pode usar os blocos de
movimento no zero, como ir para x 240 e y um 80 ou alterar y por menos cinco para mover seus sprites pelo palco
usando as coordenadas x e y. Compreender
as coordenadas x e y é importante para criar animações suaves
e jogos empolgantes, pois nos ajuda a
posicionar nossos sprites exatamente onde queremos que
estejam no palco E é por isso que eles
são tão importantes. Ok, descendo novamente, você pode ver que temos
a capacidade de mostrar e ocultar nosso sprite, e isso é algo que
também podemos fazer com o código na
seção E avançando, podemos alterar o tamanho e a direção em que
o sprite está apontando, o que também podemos fazer
no grupo Looks Code Ok, descendo novamente. Acho que só há
mais uma coisa que precisamos saber, que é adicionar novos sprites No zero, você pode ter
quantos sprites quiser. E, assim como nas fantasias, você pode usar os sprites
que vêm com o Scratch Você pode fazer upload de suas próprias formas e desenhos ou até mesmo criar suas próprias
formas e desenhos. De qualquer forma, vamos
imaginar que queríamos
criar um jogo em
que um cachorro persegue um gato e você precisa controlar
o gato para fugir. Aqui, podemos adicionar um novo sprite e pesquisar um cachorro, e vamos escolher este aqui E aí está,
um novo sprite. E, como você pode ver, ele
não tem nenhum código
porque cada sprite tem seu
próprio código para controlá-lo Além disso, como um sprite para gatos, este vem com
diferentes roupas e sons pré-instalados e
prontos para uso Só tem mais uma coisa,
que são os cenários, que são bem
parecidos com os Sprites É basicamente apenas o
plano de fundo por trás do sprite. Então, digamos que nosso jogo esteja
na neve clicando aqui. Você pode ver que podemos
mudá-lo para o Ártico ou o deserto. podemos fazer upload nosso próprio pano de fundo, se quisermos,
ou podemos até desenhar um De qualquer forma, é só isso. Agora você é um profissional no ambiente de
rascunho. Mas agora, vamos fazer de
você um programador profissional.
8. Como dominar os fundamentos: como navegar pelo espaço de trabalho do Scratch: Bem, é isso. É hora de desenvolver nosso primeiro jogo. Não se preocupe, vamos
simplificar, mas você desenvolverá algumas habilidades básicas de
programação
ao criar este jogo. Conforme mencionado anteriormente,
o jogo que vamos criar é bem simples,
mas deve ser divertido. Basicamente, teremos
um sprite de libélula e uma joaninha brincando,
e você
poderá controlar
o movimento das libélulas
com suas flechas e a joaninha simplesmente correrá
pela tela
enquanto brincando,
e você
poderá controlar
o movimento das libélulas
com suas flechas e a movimento das libélulas
com suas flechas e tentamos pegá-la . Também vamos
montar o cenário com um belo fundo de selva Ok. Agora que sabemos qual
é o nosso jogo e os sprites e o plano de
fundo de que precisamos, quero que você importe
os dois sprites
para o projeto e escolha
um cenário apropriado Pause este vídeo e faça isso. Bem, se você conseguir
isso, bem feito. Para esta etapa, tudo o que estamos fazendo é adicionar dois sprites
e um pano de fundo Para nosso sprite,
basta clicar neste botão de sprite do anúncio, pesquisar por libélula e Você verá como ele
foi adicionado ao projeto. Novamente, podemos fazer a mesma
coisa com a joaninha. Ok. E, finalmente, podemos adicionar nosso pano de fundo da selva clicando neste botão E se você pesquisar Jungle, você o encontrará aqui Aí está.
O cenário está pronto e temos todos os recursos
necessários para criar nosso jogo. Antes de continuarmos a escrever
alguns códigos para nossos sprites, eu só quero que você
pense sobre o processo passamos, porque,
ao programar, uma parte muito importante é pensar
no panorama geral, que no nosso caso é esse jogo Depois de sabermos
exatamente o que queremos fazer, precisamos pensar no que
precisamos para criar esse jogo. Bem, aqui, tudo o que precisamos são esses dois sprites e
um bom plano de fundo Mas tudo se resume
a entender o panorama geral
do que queremos
fazer e dividi-lo em etapas
menores e gerenciáveis Por exemplo, Ok. Digamos que você queira construir uma casa na árvore em seu quintal Em vez de tentar
construir tudo de uma vez, você pode dividir o
projeto em etapas menores, como
reunir os materiais, medir e cortar
madeira, construir a estrutura, adicionar paredes e um telhado e depois decorar
o interior. Ao fazer isso, você pode tornar o projeto mais
gerenciável e menos opressor e
garantir a construção uma casa na árvore
segura e resistente qual poderá desfrutar O mesmo acontece com a
programação, bem, praticamente tudo na
vida. Mas é isso por enquanto. Estamos prontos para começar
a dar vida aos sprites com código
9. Sua primeira aventura no jogo: como criar uma perseguição de libélulas no zero: Ok, é hora de
começar a programar, e acho que o melhor lugar para começar é com nosso sprite de mosca
dragão,
pois afinal de contas é o
personagem principal Além disso, antes de fazermos qualquer coisa, vamos nos livrar
desse gato que está
na tela e não precisamos
dele para todo esse projeto. Para fazer isso, podemos simplesmente clicar no botão de exclusão ao lado do sprite ou talvez você já criado um
código interessante para ele Em vez disso, você pode simplesmente ocultar o
sprite e trazê-lo de volta a qualquer momento
clicando em Mostrar Mas antes de tudo,
certifique-se de selecionar esse sprite para garantir que você esteja
codificando a coisa certa Com isso, é hora de criar nossa primeira faixa para o sprite. Então, vamos
pensar sobre isso. Em nosso jogo, queremos
ser capazes de controlar
essa mosca dragão e fazê-la subir e
descer para a esquerda e para a direita
usando nossos ancinhos Então, como podemos fazer isso? Então é aqui que você precisa pensar como um computador
e pensar logicamente Quais são todas as instruções
que o computador precisa para se mover
com as teclas de seta? Se você está pronto para o
desafio, faça uma pausa e experimente Tente ver se você
consegue escrever o script que permite que o sprite
se mova com os ancinhos Mas se você não tem
ideia, não se preocupe. Eu só quero que você faça uma pausa e espere um momento
para pensar sobre isso Bem, vamos dar uma olhada em
como resolvemos isso com código. Em primeiro lugar,
começaremos com o bloco de cliques da
bandeira W, pois isso iniciará nosso script automaticamente quando
clicarmos na bandeira. Agora sabemos que nossa libélula precisa se mover pela tela Sabemos que vamos precisar de um desses blocos
no grupo de movimento. Você pode estar pensando
que devemos usar esse bloco de código de movimento de
dez etapas, assim como o
usamos
para fazer nosso gato andar pela tela. Sim, embora pudéssemos usá-lo para fazer a libélula dar
dez passos para a direita e para a esquerda por menos dez passos,
há Não podemos fazer a mosca-dragão
subir e descer com isso. Em vez de usar
esse bloco de movimento, há algo
muito melhor que você deve sempre usar, que é essa mudança x
por e mudança y por blocos. Agora lembre-se de como
dissemos que nosso palco
é visto como uma grade, e nosso sprite pode estar em qualquer ponto dessa
grade por menos dois 40 x mais dois 40 y menos
um 80 y mais um 80 y. Se mudarmos nossa posição x
por um número positivo, basicamente
estamos movendo nosso sprite para a
direita da tela E se for um número negativo, vamos movê-lo para o lado
esquerdo da tela. O mesmo vale para mudar y. Se mudarmos y por
um número positivo, estamos movendo nosso sprite para cima, e se
mudarmos para um número negativo, estamos movendo nosso
sprite para baixo na tela Agora que sabemos tudo isso, podemos pegar duas de cada
alteração x e alterar y. Porque lembre-se, para cada uma, precisamos de uma delas
como negativa. Agora, se você clicar em
cada um desses blocos, poderá ver como ele
move nosso sprite pela tela, que
é exatamente o que queremos Agora precisamos de uma maneira de
controlar isso com nossas
teclas em vez de clicar. Se você se lembra de
nossa lição anterior, podemos fazer isso com o grupo de código de
detecção Aqui você verá que
existe um bloco para verificar se uma
tecla está pressionada, que é exatamente o que precisamos. Se
revelarmos isso, você verá que podemos trocar
o espaço por praticamente qualquer chave que quisermos Vamos mudar para a seta para a
direita pressionada. Está tudo bem, mas
precisamos conectar isso. Para fazer isso,
talvez seja necessário um
dos blocos mais importantes de todos os tempos:
ele está sob controle, e é o bloco if then. Agora lembre-se de como eu disse com que
frequência você tomará decisões. Se uma determinada condição for verdadeira, como se estivesse chovendo lá fora, você usará uma capa de chuva O mesmo conceito é muito
importante na programação. Aqui, queremos verificar se
uma determinada tecla está pressionada, então algo deve acontecer obviamente se movendo em
uma determinada direção. Eu também quero
que você
note algo muito importante sobre esses blocos importante sobre esses blocos com os
quais você está trabalhando, que são as diferentes formas, como peças de lego, e elas se
encaixam de maneiras específicas. Agora, essas formas
foram projetadas para ajudar você a entender
facilmente quais blocos
podem se conectar, assim como certas
peças de lego podem se encaixar. As formas evitam que você conecte blocos que não
deveriam ser unidos, o que é útil para
evitar erros e manter seu código funcionando sem problemas No mundo da codificação baseada em
texto, é crucial garantir que seu código esteja organizado
e livre de erros Basicamente, ele será estruturado forma
bastante semelhante ao
seu código rascunho. Por ter diferentes
formatos de blocos e arranhões, a plataforma orienta você a criar um código bem estruturado
e funcional
, semelhante à forma
como as peças de lego se juntam para formar uma estrutura
estável. Por exemplo, você descobrirá
que alguns blocos têm um entalhe na parte superior e
uma protuberância na Esses blocos são projetados para serem
empilhados uns sobre os outros. Outros blocos têm
uma forma especial em C, o que significa que eles podem envolver outros blocos, como essa
declaração ou um loop eterno. Isso ajuda a criar loops ou controlar o fluxo do seu código De qualquer forma, com tudo isso esclarecido, vamos conectar esse código Se a seta para a direita for pressionada, queremos alterar x
por um número positivo. Podemos colocar isso aqui
e, em seguida, adicionar quando a
bandeira clicou no bloco no
topo, completando o script Vamos ver. Clique e jogue e, em seguida, clique
no botão direito. Oh, isso não é bom. Como você vê,
absolutamente nada acontece. E sabemos que temos
nossa declaração if. Estamos verificando se a tecla está
pressionada. Então, o que está faltando? Bem, você tem alguma ideia sobre
o que está errado? Basicamente, basta verificar
apenas uma vez, e quando queríamos que nosso gato
seguisse o ponto do mouse, verificar não é suficiente. Precisamos do código para verificar
continuamente se seta para
a direita está
pressionada. Para corrigir isso. Tudo o que precisamos fazer é colocar todo
esse código em um loop eterno. Agora, ele está constantemente verificando se essa
condição é verdadeira. Se clicarmos em play novamente, observe
que se clicarmos na
seta para a direita agora, ela se move. Ótimo. Agora, tudo o que precisamos fazer é o
mesmo para as outras teclas. Agora, vou
te dar uma dica muito útil. Em vez de voltar
à nossa paleta de código e encontrar o bloco e
esse bloco de pressionar a tecla, o que podemos fazer
é clicar com
o botão direito do mouse no bloco de código
desejado e clicar em duplicar Agora você pode ver que temos dois e podemos duplicar esses
dois blocos
clicando com o botão direito na parte superior
e duplicando novamente Agora temos quatro,
o que é tudo o que precisamos. A próxima coisa a fazer agora é
alterar a entrada da tecla pressionada. Aqui vamos fazer a seta esquerda, seta
para cima e seta para baixo. Mas ainda não terminamos. Agora precisamos mudar o que acontece. Se a seta esquerda for clicada, precisamos que x seja negativo Então, se a seta para cima for clicada, precisamos alterar y e, desta
vez, por um número positivo Por fim, para a seta para baixo, devemos alterar y por
um número negativo Se jogarmos agora,
aí está. Podemos
controlar oficialmente nosso personagem, e você está a caminho de
se tornar um desenvolvedor de jogos. Há duas coisas que
eu quero fazer agora. Agora, o primeiro é bem fácil. Em primeiro lugar, eu só
quero que essa libélula não se mova tão rápido E simplesmente tudo que eu preciso fazer
é reduzir esses números. Então, vou
dividi-lo pela metade e alterá-lo para cinco e menos Então, agora você verá que nosso
personagem é fácil de controlar. Então, o próximo passo
é que eu quero que
a joaninha
deslize aleatoriamente pela Então, reserve um momento para tentar ver se você
pode fazer isso sozinho. Como podemos fazer com que a joaninha
se mova pela tela. Bem, isso é
realmente muito simples. Como fizemos isso com nosso
sprite de gatos, se você se lembra, tudo o que precisamos fazer é inserir, ao clicar
no botão inicial,
um loop eterno e, em seguida, deslizar 1 segundo para uma posição aleatória Agora, se você clicar em jogar novamente. Você pode ver que nosso jogo está
realmente chegando lá. Uma dama Big está se movendo e somos capazes de controlar
nossa libélula Ótimo trabalho. Estou chegando
a esse ponto. Certamente
percorremos um longo caminho.
10. Como codificar sua libélula: a jornada começa: Bem, nosso jogo está se
saindo muito bem. Agora precisamos apresentar
o objetivo do jogo, que obviamente é tentar
pegar essa joaninha? Porque agora, se
tocarmos na joaninha,
nada realmente Mas o que queremos que
aconteça é que
a joaninha desapareça e
que nossa libélula e talvez toque
um
som pop como se tivesse Então, vamos começar
com nossa libélula. Eu quero que você tente fazer com que ele diga, hum, o que você quiser. Mas faça com que ela diga alguma coisa
quando tocar na joaninha. Veja se você pode fazer isso. Pause
este vídeo, experimente Você consegue fazer a libélula dizer
alguma coisa ao tocar na joaninha Vamos pensar sobre
isso. Precisaremos de um bloco de detecção para
sentir se o sprite
está tocando outro, e podemos usar esse aqui Agora, clicando
aqui, podemos mudar o sentido do toque do
ponteiro do mouse para Lady Bug two Então, assim como com
nossos cliques de seta, precisaremos de um bloco
condicional if e de um loop frontal. Em seguida, precisamos dizer olá
por 2 segundos para que ele diga o que queremos quando tocar na joaninha Também tem
mais uma coisa. desse bloco play sound pop. Assim como antes, podemos
organizar nosso roteiro para que ele sempre verifique se
está tocando na joaninha Nesse caso, faremos com que diga hum e depois
tocaremos o som pop. Agora, se jogarmos agora, você
verá quando
tocarmos na joaninha, se eu posso tocá-la. Lá vamos nós. Diz, hum, toca o som pop. Agora, uma coisa que posso fazer para melhorar isso é tocar primeiro
o som pop depois dizer Yum por 2 segundos. Isso só o
torna mais simples. OK. Legal. Então, nosso
jogo está quase lá. E antes de prosseguirmos
com a programação da joaninha, eu só quero apontar uma
coisa Porque você pode estar se perguntando por que temos dois scripts
separados aqui? Por exemplo, por que não colocamos esse trecho de código aqui, então temos apenas um script. Bem, se você estava
se perguntando isso, boa
pergunta. Bem, vamos tentar. Então, adicionando-o e agora clicando em
reproduzir, você verá isso. Agora, quando tocamos na joaninha, se eu puder tocá-la, aí está Mas observe como, de repente, não
consigo mais controlar
a libélula Simplesmente congela. Por que isso acontece? Bem, se olharmos
nosso script logicamente, retirando o código novamente, veja, tudo isso é um loop Portanto, estamos constantemente verificando se alguma dessas
condições é verdadeira. Se uma delas for verdadeira, como clicamos na
seta para baixo, ela desce. Mas lembre-se de como eu disse que o código
é executado de cima para baixo. Bem, isso está acontecendo aqui. Então, quando clicarmos em Iniciar, ele verificará se a seta
direita foi pressionada, depois
verificará se a
seta esquerda está sendo pressionada, depois a seta para cima e depois para baixo. Portanto, não está realmente verificando todas essas
condições ao mesmo tempo. Está indo de cima para baixo. Mas como aconteceu tão rápido, parece que está verificando
tudo ao mesmo tempo. No entanto, se eu fosse
adicionar um peso de 1 segundo, exemplo, verifique a seta
para baixo. Observe como as outras
setas funcionam perfeitamente, mas assim que ela verifica a seta
para baixo, todas as outras flechas congelam E isso é porque ele está executando o código
de cima para baixo. E quando chega a esse código, ele precisa esperar por um segundo e só pode continuar o loop quando o
segundo terminar. Então, basicamente,
é por isso que esse código tem o mesmo problema, porque
existe esse hum por 2 segundos e ele só
continuará repetindo o código quando terminar de
executar Então esse é um dos motivos pelos quais
usamos outro script, para que possamos ter várias coisas em
execução ao mesmo
tempo sem nenhum problema. Agora, eu poderia tirar essa soma por 2 segundos e
adicioná-la novamente ao loop. Olha, se jogarmos de novo, você verá que funciona
e não congela. Mas mesmo que você só quisesse que
nosso sprite tocasse um som, você ainda deve usar um script
separado para isso Basicamente, ter scripts
separados é muito melhor para
manter as coisas organizadas. Veja, quando você faz programas
realmente grandes, ganhos
muito grandes, as coisas
podem ficar bem confusas E se você tiver apenas um roteiro
ultralongo, talvez não saiba
o que está acontecendo. O que sugerimos é que cada script que você tem
faça apenas uma coisa. Lembre-se disso. Cada script
deve fazer apenas uma coisa. Esse script controla os ancinhos, este verifica se estamos
tocando na Lady Bug
e, se você estiver bem organizado
assim desde o início, ficará muito grato
no futuro ao criar divertidos e Com isso,
só falta
programar mais uma coisa para que nosso jogo
fique completo fazer com que
a joaninha
desapareça ao tocar na libélula Tente dar
uma chance a esse desafio e veja se você
consegue fazer isso sozinho. Caso contrário, nos vemos
na próxima lição e
mostrarei como isso pode ser feito.
11. A perseguição conclui: como capturar a joaninha: Bem, vamos ver como podemos
terminar nosso primeiro jogo. Agora, assim como com
a libélula, precisamos sentir se
estamos tocando Então, tenho certeza de que você
sabe o que fazer aqui, porque basicamente é
exatamente o mesmo a libélula, exceto que em vez da
libélula sentir, se ela está tocando a joaninha,
é o é Mas eu quero te mostrar
outro pouco mais complicado. Lembre-se de
que aprendemos anteriormente que poderíamos
duplicar o código em um sprite Bem, também podemos duplicar o
código entre os sprites. Voltando à nossa libélula, podemos simplesmente clicar
e arrastar o script
e soltá-lo em
nosso sprite de joaninha Isso
duplicará automaticamente o script. Agora dois não têm esse script. Isso é legal. Agora, tudo o que
precisamos fazer é mudar toque
das joaninhas
para o toque das libélulas Se você ainda não
descobriu como excluir o código,
basta arrastá-lo para essa
área aqui e nós o excluiremos Agora, o que queremos que ele faça é se esconder quando
toca a mosca-dragão, quase como se estivesse sendo comido Então, aqui, podemos simplesmente
ir até a guia Looks,
inserir o código de ocultação,
para que nosso sprite se esconda ao tocar na libélula Agora, se jogarmos novamente. Observe que se tocarmos em uma
joaninha, ela se esconde. Mas, infelizmente, temos
alguns problemas porque é uma espécie de palco escondido,
e não queremos isso. E em segundo lugar, nossa libélula não toca o som
que queremos Mas isso nos leva a um aspecto importante da depuração de
programação Não estou
falando da nossa joaninha, mesmo que seja uma coincidência
engraçada A depuração é
essencialmente o processo de encontrar e corrigir
erros em Na programação, existem
dois tipos principais de erros. Em primeiro lugar,
existem os chamados erros de sintaxe. Basicamente, tudo isso
significa que esses são erros quando você escreve um
código que não segue a sintaxe correta
ou as regras de como o código e a linguagem de
programação
devem ser escritos Os erros de sintaxe geralmente impedem que seu código
seja executado Mas, felizmente, você não
precisa se preocupar com isso porque o scratch evita esses erros, pois
você pode
tentar conectar dois blocos que realmente
não se encaixam, e isso é basicamente
dizer que não, fazer isso
causaria essencialmente um tipo de erro de sintaxe Mas, basicamente, o scratch está forçando você a escrever
com o uso de blocos, código
perfeito sem erros de sintaxe, o que não é uma coisa ruim No entanto, o próximo tipo de bug são aqueles relacionados a
erros lógicos. Esses erros ocorrem quando seu
código é escrito corretamente, mas não faz o que
você pretendia fazer. Por exemplo, em nosso jogo, se a joaninha
não se esconde
quando está acordada ou se
esconde muito cedo, isso seria um erro lógico Seu código ainda está em execução, mas o resultado não é
o esperado. E esses erros
ocorrerão o tempo todo. Mas isso é apenas parte
da programação. Você nunca deve esperar que seu programa funcione
perfeitamente na primeira tentativa. Você realmente terá muita
sorte se isso acontecer. Em vez disso, trata-se de
depurar e encontrar todos os erros que estão em seu código e se livrar
deles para que ele funcione Além disso, à medida que
você ganha
mais experiência, fica melhor em detectar
e corrigir esses erros Então, com tudo isso dito, vamos dar uma olhada nesses erros lógicos e
ver se podemos corrigi-los. Olhando o
roteiro de Lady Bug, você pode ver que fazemos com que ela se esconda quando toca
na libélula Mas nunca mais
o mostraremos. Então, o que poderíamos fazer é colocar um bloco de exibição logo abaixo disso. Mas você também deve perceber imediatamente que
isso vai se
esconder e aparecer
imediatamente e acontece tão rápido que
parece que nada acontece. E podemos confirmar
isso clicando em play. Você pode ver que isso realmente
não se esconde. O que precisamos aqui é de
um bloco de código de peso. Assim, podemos fazer com que o sprite se esconda e
apareça depois de um tempo, adicionando-o entre
esses dois blocos e depois reproduzindo novamente. Sim, você pode ver
que ele se esconde corretamente e depois aparece
novamente por um segundo No entanto, ainda
temos mais um bug, que é que nossa
libélula não está dizendo hum e fazendo
aquele som legal Agora, isso é um pouco mais difícil
, pois nosso código parece perfeito. Para corrigir, precisamos
pensar como um computador e descobrir por que ele
não está funcionando conforme o esperado. Vamos analisar a situação. Se olharmos nosso código de
libélula, quando ele toca na joaninha, ele deveria dizer
hum e tocar um som No entanto, quando
observamos o jogo, a joaninha se esconde imediatamente ao tocar na libélula, o
que significa que a
libélula não tem a chance de detectar que está tocando a joaninha chance de detectar que está tocando a Para corrigir esse problema, podemos adicionar um pequeno atraso antes que
a joaninha se esconda, permitindo que a libélula
registre que está tocando a joaninha E podemos fazer isso
simplesmente adicionando um bloco de peso antes
do bloco oculto no código
do Lady Bugs e
definindo o tempo de espera para algo curto,
como 0,1 segundo. Isso criará uma breve
pausa diante da joaninha, mas dará à mosca-dragão tempo
suficiente para sentir que está
tocando a joaninha, mas ainda parece Vamos testar o código novamente. Então você tem. Nosso
primeiro jogo está funcionando e todos os bugs
foram eliminados e depurados. É um trabalho muito bom para
chegar a esse ponto. Você sabe, eu poderia dizer
um desenvolvedor de jogos. Coloque isso em sua receita,
mas prepare-se para criar jogos muito mais emocionantes do que isso nas próximas seções
12. Como preparar o palco para um jogo de cabeçalho de futebol: Bem, estamos prontos para
começar nosso
novo projeto. Então, espero que você esteja
pronto para aprimorar suas habilidades de programação.
Primeiro de tudo. Como este é um jogo novo, precisamos criar um novo projeto. A boa notícia é que
, na verdade, é muito fácil. Mas primeiro, certifique-se de que seu projeto atual esteja salvo. Agora, ele faz
isso automaticamente. Mas se você estiver prestes
a sair do t ou fechar o computador, basta clicar no botão salvar agora. Se você não vê o
botão, significa apenas que seu projeto já
está salvo. Então, com ele salvo,
tudo o que precisamos fazer é clicar no botão de rascunho
aqui e depois clicar em Criar. E mais uma vez, temos
um projeto totalmente novo. E também temos esse
gato gratuitamente. Mas, infelizmente, para o gato, não
precisamos dele neste
projeto, então não podemos excluí-lo. Além disso, como você pode
ver, nosso projeto se chama apenas Sem título, então também podemos nomeá-lo Vamos chamá-lo de jogo
de futebol Header. Sim. Eu sei que não é
realmente um nome criativo, mas você pode nomeá-lo
como quiser, embora seja uma boa ideia
nomear seu programa de forma que seja mais fácil
identificá-lo e
encontrá-lo posteriormente. Agora, com isso feito,
estamos prontos. Mas antes que você morra de escrever, lembre-se de que, na seção
anterior, falamos sobre a importância de detalhar um grande projeto como criar um jogo e etapas
menores que possam ser realizadas Fazemos isso porque isso não apenas torna o processo
mais gerenciável, mas também ajuda você a desenvolver bons hábitos de programação
e até hábitos leves É como
escalar uma montanha. Se você está na
parte inferior e está olhando diretamente para o topo, honestamente
parece impossível Mas se você apenas olhar dez passos para
frente, você pensa consigo mesmo: Sim, eu poderia dar esses dez passos. E então você espera
mais dez passos e caminha esses dez passos. E antes que você perceba, você está no topo
da montanha. E o mesmo acontece
com a programação. Estamos apenas enfrentando
essa montanha de jogos dividindo-a em
uma série de etapas menores Felizmente, este jogo não
é muito grande e complexo, mas ainda podemos detalhá-lo Vamos começar fazendo um jogo simples de
cabeçalho de futebol em o jogador move um personagem
para manter a bola no ar. Agora, usaremos recursos
encontrados na biblioteca de rascunhos, incluindo nosso personagem principal,
Ben, a bola de futebol Sprite e um cenário de campo de futebol
chamado soccer two Porque essa montanha
de jogos não é muito grande. É mais parecido com uma colina
do que com uma montanha. Podemos dividi-lo em
apenas três etapas. As etapas são
configurar a estrutura básica, desenvolver a mecânica de jogo
e aperfeiçoar o Primeiro, configuramos a estrutura
básica. Então, vamos trazer todos os recursos
necessários, como sprites e cenários, para
criar a base do jogo Agora, para jogos ainda maiores, você pode dividir esse
estágio em tarefas
menores, como
criar a tela inicial depois o personagem principal ou elementos
específicos do jogo. Em segundo lugar, temos que desenvolver
a mecânica de jogo. Assim que tivermos os elementos
essenciais prontos,
podemos começar a programar
a mecânica do jogo Agora, precisaremos codificar o movimento
do personagem, a física da bola e as interações entre o
personagem e a bola. E, finalmente, temos o estágio de
polimento e refinamento. Então, depois que a
mecânica principal estiver funcionando, podemos adicionar mais detalhes, como efeitos
sonoros e animações
e até mesmo E é também nesse momento que jogaremos
e testaremos minuciosamente o jogo, fazendo
os ajustes necessários para garantir que seja divertido
e envolvente Bem, com esse
conceito muito importante resolvido, quero que você tente concluir a primeira etapa sozinho, que é trazer todos
os ativos necessários. Lembre-se de que esses são
nossos personagens principais, um sprite da bola de futebol e um cenário de campo de futebol
chamado soccer two Então, pause o vídeo
e tente ver se você consegue fazer isso. Se você tentar sozinho,
bem, muito bem. Mas vamos ver como isso é feito. Em primeiro lugar, podemos importar nossos dois sprites para o
nosso projeto scratch Então, clicando aqui em
um botão de sprite, podemos simplesmente procurar por Ben, e aqui está ele Em seguida, podemos clicar novamente
e procurar a bola. Aqui está uma
bola de meias. Nós podemos usar. Finalmente, há o pano de fundo. Para isso, basta clicar
aqui e escolher futebol para. Então você tem. A
primeira etapa está concluída. Você criou com sucesso a base para seu jogo de cabeçalho de
futebol e estamos prontos para
começar a dar vida aos nossos sprites com código Mas
à medida que continuamos desenvolvendo este jogo e todos os jogos e projetos em
que você trabalhará aqui depois, lembre-se da
importância de dividir um grande problema em etapas
menores, porque
quando você faz isso, realmente nada é impossível. Até mesmo escalar o Monte
Everest pode ser feito.
13. Como dar vida aos personagens com código: Bem, agora que temos
tudo em ordem, podemos passar para a próxima fase, que é desenvolver a mecânica de
jogo Agora, assim como em
nosso projeto anterior, podemos começar com nosso
personagem principal, que é Ben. Então, neste jogo, queremos que Ben
tente manter a bola
no ar cabeceando-a. Tudo o que Ben precisa fazer é ir esquerda e para a direita e clicar
nos ancinhos Agora, estou muito
confiante de que você pode resolver esse problema
sozinho. Por que não? Pause o vídeo e
tente concluir essa parte sozinho.
Faça uma pausa e vá embora Vou te mostrar como
fazer isso em um momento, mas veja se você consegue
descobrir como podemos fazer Ben se
mover para a esquerda e para a direita. OK. Vamos ver como fazer isso. Estamos praticamente criando exatamente
o mesmo roteiro
que tínhamos para nossa libélula,
exceto que desta vez, nosso personagem não
precisa subir nem descer O código que precisamos é quando a
bandeira é clicada, um para sempre e um F. Agora, antes de
adicionarmos o resto, eu só quero que você observe com que
frequência usamos
esse grupo de Quando a bandeira clica
para sempre e em F. Esse é um grupo de
código muito importante que é frequentemente usado
porque permite criar programas que são executados continuamente com o
Forever e reagir a condições
específicas com o
F. Esses blocos de código formam a base de muitos projetos
arranhados e são essenciais para a criação Seguindo em frente, o resto
é o mesmo. Vamos trazer a tecla pressionada, mudá-la para a seta direita. Em seguida, siga os movimentos e
faça essa alteração x por dez. Isso significa que pressionamos
a seta para a direita, ela se moverá dez
vezes para a direita. Agora podemos simplesmente
duplicar isso, alterá-lo para a seta esquerda e alterar x para menos dez Isso significa que ele se moverá dez vezes para a esquerda. Aí está. A primeira parte da nossa
mecânica de jogo está pronta e limpa. Foi bem rápido, não foi?
14. Como saltar para o sucesso: como animar a bola de futebol: Ok, então definimos
nossa mecânica
de jogo para nosso personagem principal Agora precisamos fazer o
mesmo com a nossa bola. Em primeiro lugar, queremos que
nossa bola salte pela tela antes de tentar fazê-la
interagir com o plano de futebol Como podemos fazer com que nossa bola salte aleatoriamente
pela tela Bem, vamos tentar. Vamos pegar a bandeira de vitória clicar e também criar um loop
eterno. Além disso, sabemos que tem
algo a ver com movimento. Vamos dar uma olhada para
ver o que poderíamos usar. Sabemos que podemos mover a bola pela tela
mudando sua posição. E há um
bloco elegante que diz “
I on edge bounce”, o
que parece esperançoso Vamos colocar os
dois em nosso script e clicar em play. Hm. Não, não é
bem isso que queremos. A bola está apenas se movendo
para o lado direito
da tela e quicando
quando atinge a borda, o que era de se esperar Portanto, essa mudança de claramente
não é o bloqueio de que precisamos. Mas antes de continuar,
tente jogar uma rodada
de blocos e veja
se consegue acertar. Vá lá. Faça uma pausa e
experimente Você conseguiu descobrir isso? Bem, vamos ver como
podemos resolver isso. Em primeiro lugar, essa mudança x não
é o que queremos. Vamos nos livrar disso. Agora, lembre-se de como, com
nosso primeiro programa, eu disse para você não usar o bloco de mover dez etapas porque não
podemos fazê-lo subir e descer. Bem, isso não é bem verdade
porque você realmente não pode. Veja, quando damos dez passos, estamos nos movendo dez passos em qualquer direção que
o sprite esteja voltado Se nosso sprite estivesse voltado para
cima, subiremos. Tudo isso tem a ver
com a direção, e a direção de
um sprite pode ser definida aqui ou por
esses blocos de código De qualquer forma, não vamos nos preocupar
muito com a forma como a
direção funciona no
momento , pois você ficará bom
nisso em nossos próximos jogos. Mas o que você deve saber é que
quando ricocheteamos na borda, ele aponta o sprite em uma direção aleatória
oposta à parede,
ele está ricocheteando Com tudo isso em mente, se colocarmos o
bloco móvel aqui em vez disso, observe como nossa
bola salta
pela tela, como queremos Estamos chegando lá
com nossa mecânica de jogo. Em seguida, precisamos conectar esses
dois sprites
para que possamos
começar a exibir alguns anúncios. OK.
15. Como dominar a interação: dinâmica de bola e do jogador: Bem, agora que temos
a mecânica básica do jogo funcionando para os dois sprites É hora de fazer tudo
funcionar em conjunto, verificando a bola está tocando
a cabeça do jogador e depois se
recuperando, se Mas antes de resolver isso, há duas coisas que eu quero
corrigir com o player. A primeira é fazer com que
o jogador apareça mais abaixo para
que tenhamos mais espaço, e a segunda é mudar para uma roupa mais apropriada. Aposto que você pode descobrir
como fazer as duas coisas. Vá lá. Vamos pausar o
vídeo e descobrir. A primeira coisa é clicar com o botão direito em nossos jogadores para que
possamos ver os jogadores mais abaixo. Agora, eu poderia simplesmente
arrastá-lo assim. Mas isso não é o ideal porque se eu movê-lo
novamente por acidente, tudo
não funcionará corretamente. Em vez disso, o que vou
fazer é inserir esse go para bloquear e
alterar o x para zero, e vamos fazer com que y seja -90 Isso realmente parece perfeito. Vamos adicionar isso
ao início do script. Então, agora, toda vez, nosso script começará na posição
correta. Por fim, para que
nosso personagem tenha a aparência
correta neste jogo, podemos vestir o traje
e trocá-lo por este, Ben C, que funciona muito melhor Agora, precisamos fazer com que a bola responda ao
nosso personagem principal. Clique no sprite da bola. Agora, vamos pensar sobre isso. Basicamente, o que
queremos que aconteça é que a bola salte na
cabeça do jogador Quais
instruções ou códigos específicos? Precisamos escrever para
conseguir isso? Bem, esse problema também
tem a ver com a detecção. Como estamos sentindo, se a
bola está tocando nosso jogador. Sabemos que teremos nossos blocos de código
básicos para isso, que eu os listo antes de lembrar
os blocos de código básicos. O único começo, o
para sempre e o F. Assim como nossa libélula,
precisaremos desse
código tocante E aqui podemos alterá-lo para
sentir se está tocando Ben. Legal. Agora sabemos se a
bola está tocando Ben Agora, o que podemos fazer para que ele salte
se tocar OK. Você notará que, infelizmente,
não
há como tocar no bloco do personagem principal, o
que é muito legal Mas lembre-se, com código, nunca
haverá um
único bloco que faça isso. É tudo uma questão de combinar código e criar
scripts para conseguir isso. Essa é realmente a
melhor coisa, que você verá nas próximas aulas. Isso é programação, e o que
você pode fazer é salvar esses scripts e usá-los
em diferentes programas. Talvez em um programa diferente, precisemos de um script que
retorne a outro sprite Depois de criarmos esse script, podemos reutilizá-lo para sempre, e essa é uma codificação
conceitual importante É chamado de código reutilizável e economiza muito tempo Mas voltando ao assunto, vamos passar para o grupo de moções Agora lembre-se de que como estamos
usando esse bloco de código de movimento, e o que é especial
nisso é como a direção a bola se move
depende da direção para a qual ela está voltada. Simplesmente para fazer nossa
bola quicar, tudo o que precisamos fazer é
colocá-la em uma direção ascendente E para fazer isso, tudo o que
precisamos fazer é trazer esse ponto
no bloco de direção. Mas agora você pode ver que
está tentando 0,90 graus, que está à direita Mas se clicarmos nisso, observe que isso traz essa pequena flecha
útil Para o nosso código,
queremos que a bola suba
para que possamos
virar a seta para cima, que é de zero grau. Agora, se tocarmos nosso código, você verá que quando
tocamos a bola, ela salta para cima. Perfeito. Porém, como você pode ver, ele simplesmente sobe e
desce, o que o torna
um jogo muito fácil. Mas na próxima lição, veremos como podemos tornar
esse jogo um pouco mais desafiador e divertido com aleatoriedade.
16. Como abraçar a aleatoriedade: como elevar o desafio do jogo: OK. Neste momento, dizer que nosso jogo é fácil
provavelmente está além de um
eufemismo Você meio que senta aí
e espera pela bola. Mas isso acaba aqui. É hora de tornar este
jogo muito mais desafiador e divertido,
adotando Olhando nosso código para
ver a direção do ponto, você pode ver
que ele meio que aponta para cima, então esse comportamento é esperado, pois é isso que
estamos mandando a bola fazer. Mas o que realmente queremos é que
a bola não apenas aponte para cima a cada vez, mas que
aponte um pouco para um lado. Então, como
poderíamos fazer isso? Bem, lembre-se de como eu disse, esse código é como um lego onde peças diferentes podem
se encaixar umas nas outras. Bem, se você olhar, notará que essa área tem esse formato circular
ou oval. Agora, examinando nosso código, você verá que muito
código é uma forma. Por exemplo, se pegarmos
esse bloco de exposição, veja como podemos colocá-lo dentro desse bloco de direção pontual
porque ele tem a mesma forma Você notará que,
se jogarmos o jogo agora, a bola não
faz o que queremos. Claramente, esse não é o
bloco que estamos procurando. Mas, para dar uma dica,
o bloco que
precisamos é, na verdade, encontrado no
grupo de operadores Agora, lembre-se do que
dissemos no início, por blocos de código que
lidam com matemática, que agora são importantes
para usarmos. Por que não tentar?
Tente ver se você consegue encontrar o bloco de código que
usaremos para fazer nossa
bola Basta fazer uma pausa e tentar. Você o encontrou? Bem,
vamos dar uma olhada. Basicamente, queremos que
a bola salte para cima e também
morda para a direita ou para a Se você observar esse
código, verá que existe esse bloco aleatório de
seleção. Aqui, podemos simplesmente colocar esse bloco na direção do
ponto. Jogando rapidamente, você pode ver que ele faz o que queremos,
mas não exatamente. É mais simplesmente
flutuar para o lado. Isso porque precisamos
mudar esses números. Removendo isso novamente, podemos
clicar na direção do ponto para ter uma ideia de quais
números ele deveria ser? Movendo essa seta. Eu diria que -45 e 45
ou uma direção muito boa. Vamos inserir isso em
nossa escolha aleatória. Novamente, coloque-o de volta em nosso
código. Clicando em reproduzir novamente. Aí está.
Isso é muito melhor. O jogo finalmente está
chegando a algum lugar e é muito mais desafiador. Sim. Quem disse que matemática não é divertida?
17. Programação de precisão: como aperfeiçoar o cabeçalho: Um jogo está realmente chegando. Mas, afinal de contas, este é um
jogo de cabeçalho. Se você jogar,
verá que não precisa apenas bater na
bola com a cabeça. Você pode usar qualquer
parte do corpo e bater na bola com cabeça não parece ser o
elemento principal do jogo Como podemos consertar isso de forma que somente quando a
bola atingir nossa cabeça, ela comece a quicar Veja nosso código.
Isso era de se esperar. Na verdade, tudo o que está fazendo é sentir que a bola
está se tocando, que é todo o personagem Não temos nenhum
código para lidar com isso porque
não é como se tivéssemos um código que diz que, se estiver tocando
sua cabeça, faça alguma coisa Mas tudo bem, porque
somos programadores e resolvemos problemas O que poderíamos fazer? Bem, talvez pudéssemos escrever um
código completo que verifique a posição y da bola e a compare com a
posição y da cabeça de Ben,
e assim por diante, e talvez
pudéssemos resolver o
problema dessa forma Mas eles precisarão de
muito código e programação. Mas também se trata de
pensar fora da caixa para encontrar soluções simples
para problemas complexos. Tudo o que queremos que nosso código faça é
verificar se estamos
tocando a cabeça de Ben Pause o vídeo e
pense por um momento. Que coisa inteligente poderíamos
fazer para resolver esse problema? Queremos que a bola só
ricocheteie na cabeça de Ben. Faça uma pausa e pense. Você
teve alguma boa ideia? Bem, aqui está uma maneira horrível
, mas inteligente, de fazer isso. Que tal isso? Nós
cortamos a cabeça de Ben. Ok, espere um pouco. Eu pareço
louco. Mas me escute. Se pudermos ter um
sprite separado para a cabeça de Ben, podemos facilmente verificar se a bola está apenas
tocando a Mas é claro que
também precisaremos do corpo de Ben, então podemos tê-lo também
como um sprite separado Mas antes de cortar o corpo de
Ben da cabeça, vou
te mostrar outro truque. Na verdade, podemos duplicar
um sprite inteiro botão direito do mouse
e clicando em Aqui você pode,
agora somos dois. Agora, com isso feito, podemos ir ao nosso corpo original, usar roupas. Aqui você pode ver que podemos realmente fazer
muitos ajustes em nosso personagem. Mas tudo o que precisamos fazer
é remover o corpo. Podemos arrastar e selecionar tudo
isso e clicar em backspace. Aí está. Ben
agora está flutuando. No entanto, como o
duplicamos anteriormente, nem percebemos isso E se jogarmos o jogo novamente, veja como funciona perfeitamente
e, mesmo que a bola toque
o corpo, ela não conta A única coisa que vou dizer, porém, é que o fato de nosso
sprite bend two funcionar perfeitamente é um pouco involuntário, pois não o
programamos Na programação,
causamos um feliz acidente. Mas a razão pela qual
funciona é porque os controles são exatamente
os mesmos. Eu só sigo. Embora isso funcione,
o que é legal, ainda
precisamos alterar esse
código porque o problema que
temos é que, se alguma vez mudarmos nosso código original e
Ben, por exemplo, alterando o xp dois
sete e menos sete, você pode ver que agora
as coisas começam a ficar um pouco estranhas, pois Ben
tem uma Em vez desse código aqui, podemos nos livrar dele e substituí-lo
por apenas um bloco “go to to”. E agora podemos selecionar Ben. Agora, se aplicarmos nosso
código mais uma vez, você notará que
ele funciona sem problemas, e isso é o que
chamamos de código robusto, pois é capaz de se adaptar
às circunstâncias. Então, aprendemos algumas
lições importantes nesta lição. Pense de forma criativa, mas
também certifique-se de codificar de uma forma resiliente que funcione
mesmo que as coisas Com o tempo, você aprenderá
a fazer isso cada vez mais.
18. Game Over: como apresentar consequências para cabeçalhos perdidos: Bem, um jogo está
funcionando muito bem. Mas acho que você pode
ver o problema claro aqui, o que é isso mesmo? Se perdermos o cabeçalho,
ele simplesmente continua, o que torna a jogabilidade
bastante fácil. Simplesmente não há nenhum desafio real. Nesta lição,
veremos como podemos terminar nosso jogo quando
perdemos o cabeceamento. Se você passar para
o grupo de controle, você deve ter notado
um bloco
especial aqui com a palavra pare tudo. Acho que não
há nenhuma explicação necessária
para o que isso faz, como tenho certeza que você pode adivinhar,
esse bloqueio impede tudo. Por exemplo, se eu
jogar esse script e clicar
nesse bloco, observe como o jogo fica parado. O bloco está claramente
fazendo seu trabalho. Está interrompendo todos os
scripts em todos os sprites. Mas, assim como os outros blocos, podemos mudar o que ele
faz clicando aqui. Em vez de parar tudo,
poderíamos simplesmente parar esse script. Basicamente, seja qual for o script em que
colocarmos esse bloco, ele interromperá esse script quando o script atingir
esse bloco de código. Como alternativa, também podemos interromper outros scripts
no sprite
e, como indica o nome, todos os outros scripts
no sprite, exceto
este, serão interrompidos Há um outro aspecto
importante que eu
quero que você veja. Mas, basicamente, observe
que, no momento, isso é como um bloco de código
normal. No entanto, se eu alterá-lo para
interromper esse script ou todos, veja como o bloco de código muda e não há
recuo na parte inferior Basicamente, isso significa que não
pode haver código nesse bloco. Você vai ver se tentamos. Simplesmente não se conecta. Se você pensar bem,
faz todo o sentido porque se pararmos tudo
ou pararmos esse script, o código abaixo dele
nunca será executado em nenhum lugar. Não faz sentido
poder adicionar nenhum
código abaixo dele Bem, agora que você entende
como o bloqueio funciona, vou lhe dar um desafio
bastante complicado Eu acho que você está pronto para isso. Quero que, em
um momento, pause o vídeo e veja se
consegue fazer o jogo parar quando a bola tocar
o chão Agora, lembre-se de
que isso exigirá muito pensamento
lógico
ou pensamento inovador,
mas experimente. Você consegue fazer o jogo parar para
parar quando a bola
toca o chão Faça uma pausa, pense e tente. Bem, se você realmente
conseguiu fazer isso funcionar,
isso é incrível. Mas mesmo que você não tenha, isso também é ótimo, porque
é aqui que o aprendizado acontece ao tentar
descobrir as coisas. É aqui que você realmente
se diverte muito. Vamos ver como isso poderia ser feito. Vejamos duas
maneiras diferentes de fazer isso. Em primeiro lugar,
precisaremos de um dos nossos,
começaremos para sempre, e se forem pacotes combinados Vou apenas duplicar este e me livrar
do código interno Em seguida, vou duplicá-lo novamente porque estamos
abordando dois métodos Agora, o primeiro método em que
vamos
pensar um pouco está
um pouco fora da caixa. Não sei se você
inventou essa, mas se inventou, é ótimo. Vamos descer
até o grupo de detecção. Veja esta opção tocando em
cores. Isso é legal. Podemos verificar se nosso sprite está
tocando em uma cor específica. Interessante O único
problema é a cor que verificamos, porque a parte inferior é
praticamente da mesma cor. Bem, vamos mudar isso. Clicando em nosso pano de fundo e
depois indo para este editor. Observe como existem várias ferramentas que você pode
usar para personalizá-lo. Mas tudo o que precisamos é de uma
cor específica na parte inferior. Para fazer isso, eu posso
simplesmente usar essa ferramenta. Escolha uma cor exclusiva e
desenhe uma linha na parte inferior. Então você tem.
Agora eu posso mudar o toque para essa cor
usando o seletor de cores Finalmente, acrescente minha parada total. Agora, quando jogamos o jogo, e depois quando
erramos, nosso jogo para. É ótimo. Isso funciona. Essa foi uma forma criativa
de resolver esse problema. Mas antes de prosseguir, vou mostrar outro método, mas será rápido. Como você pode ver aqui, eu
já montei o roteiro
e, se jogarmos o jogo, você verá que ele funciona da
mesma forma e nem precisa
do toque e da cor. Olhando o script, você
pode ver que ele verifica se a posição y da bola
é menor que menos um 50, que basicamente significa que
ela está tocando o chão;
se estiver, bem, ela Fácil demais. Esses dois
métodos funcionariam e, às vezes, precisamos de maneiras
criativas de fazer as coisas. Mas se pensarmos ainda mais, talvez
encontremos uma maneira ainda mais fácil, sempre continue pensando. É basicamente isso. Seu
jogo está pronto para ser jogado. Nas próximas aulas,
tornaremos tudo muito mais divertido com
pontuação e níveis. Mas, por enquanto, aprecie quão longe você chegou neste
jogo que você construiu, jogue-o um pouco
e divirta-se.
19. Como manter a pontuação: como apresentar variáveis e lógica de jogos: Acho que todos
concordamos que falta
algo crucial neste jogo . Algo fundamental
e absolutamente necessário para todos os jogos, que é a pontuação,
porque como você vai enganar seus amigos quando nem consegue mostrar a
eles uma pontuação alta Ao inserir um recurso de pontuação, você aprenderá um
dos conceitos de
programação mais fundamentais e usará um
bloco de código que ainda não abordamos, que são variáveis Então, você está pronto para continuar com sua aventura de
aprendizado? Olhando para o nosso jogo,
o que queremos é uma pequena pontuação no topo que
indique quantas vezes
cabeceamos a bola, e queremos que
a pontuação seja reiniciada se errarmos. Passando para o grupo de códigos de
variáveis, você pode ver que, na verdade,
não
há muitos blocos de código aqui. E para blocos de código
considerados tão importantes, você pode estar pensando que essa
área deveria ser empilhada Bem, ao contrário de todos os
outros grupos de blocos de código que
analisamos, com variáveis, você pode realmente criar mais blocos de código
clicando neste botão aqui, que veremos
em um minuto. Mas antes de fazermos
isso, eu só quero que você entenda o que são
variáveis. Agora, na programação,
muitas vezes precisamos armazenar
informações para que
possamos usá-las mais tarde e
também precisamos de uma maneira de obter
essas informações facilmente. É aqui que entram as variáveis. As variáveis são como contêineres
que contêm informações, e é por isso que são
chamadas de variáveis. Basicamente, significa que o contêiner pode conter vários
tipos de informações. Podemos dar nomes às variáveis para que possamos
acessá-las facilmente colocar informações nelas e
usá-las sempre que precisarmos. Pense em variáveis como caixas nas quais podemos
armazenar coisas. Assim como você pode ter uma
caixa para guardar seus jogos, uma caixa para guardar seus livros, uma caixa para guardar suas meias
velhas ou qualquer outra coisa As variáveis são
praticamente as mesmas. Mas, em vez de armazenar objetos
físicos, como livros e jogos, e meias velhas e fedorentas, as variáveis armazenam dados como números e texto.
Imagine assim. Temos uma pontuação variável. E dentro dessa variável, estamos armazenando o valor zero. Mas quando nosso jogo
avança, voltamos, examinamos nossa pontuação pontuada
na caixa de variáveis para descobrir qual valor está
atualmente dentro da variável. Nesse caso, quando
olhamos para dentro, zero. Agora que examinamos dentro da caixa e
descobrimos que é zero, podemos simplesmente adicionar um, que nos dá um, e
armazená-lo de volta na caixa. Em seguida, podemos exibir
nossa variável e a pontuação de uma é
exibida na tela. Quando recebermos outro cabeçalho. O que o programa
faz? Vou voltar, dar uma olhada dentro da caixa de pontuação
e, desta vez, ela verá que tem um número
um armazenado lá. Podemos simplesmente adicionar um a isso, o que agora nos dá dois, armazená-lo de
volta em nossa variável e exibi-lo na tela. Obviamente, isso continua
indefinidamente. Mas, basicamente, quero que você entenda
como as variáveis são apenas
caixas de armazenamento digital com nomes. Essas variáveis nomeadas podem armazenar qualquer número de texto em números, etc., e podemos
verificar facilmente quais valores
nossas variáveis têm. E podemos usar nossas variáveis
de várias maneiras, como
manter nossa pontuação em nosso jogo ou até mesmo de uma
forma
invisível nos bastidores , como aumentar
a dificuldade do jogo, como
veremos mais tarde. Agora que você entende
a ideia básica de variáveis, vamos dar uma
olhada nesses blocos e ver como eles se relacionam com
o que dissemos. Em primeiro lugar, lembre-se de como eu
disse que o grupo de variáveis permite criar novos blocos. Bem, para fazer isso,
basta clicar nesse botão, e isso cria uma nova variável. Então, basicamente, uma nova caixa para
armazenar nossas informações digitais. Como você pode ver, ele pergunta como queremos
chamar a variável. Como isso
conterá nossas informações de pontuação, chamaremos isso de pontuação. Então, logo abaixo disso, veja como isso nos dá uma decisão. Essa variável é
para todos os sprites ou é somente para esse sprite Agora, basicamente, isso significa
que todos os outros sprites podem ver e modificar nossa variável de pontuação ou somente esse
sprite pode acessá-la Em programação, isso
é o que chamamos de escopo. É como uma
palavra sofisticada para dizer qual parte do código pode ver
ou modificar variáveis Se todos os sprites puderem ver
e modificar a variável, isso é chamado de escopo global Embora o sprite só
possa ver e modificar, essa é uma variável de escopo local Escolheremos o
sprite apenas porque nosso sprite não precisa ter
acesso à nossa variável de pontuação e todas as modificações podem
acontecer dentro do E clicando em OK,
aqui você pode ver nossa nova
variável de pontuação aparecendo aqui. Veja como você pode até mesmo
ver isso na tela, o que nesse caso
funciona perfeitamente para nós. Agora que
temos nossa variável, vou arrastar cada um
desses blocos para fora para que você
possa ver o que eles fazem. Primeiro, definimos a
variável como um número. E se você alterar
esse número e clicar nele, bem, nada acontece. E isso é só porque
não selecionamos nossa variável de pontuação. Ao fazer isso,
agora você verá que nossa pontuação está definida como três, conforme
refletido na tela. Então, esse bloco aqui não se importa com qual era nossa variável. Ele apenas define
o valor que você quiser, e isso pode até
ser uma palavra como alto. Mas queremos
mantê-lo como um número, então vamos voltar para zero. Descendo para nossa
próxima variável, esta é para alterar o valor. Então, se colocarmos um
aqui e depois clicarmos, pontuação
CR aumenta em um E, basicamente, o que esse bloco está fazendo é o que eu
expliquei anteriormente. Quando eu clico nele, ele
olha
qual valor está armazenado em nossa variável de pontuação, está armazenado em nossa variável de pontuação, que neste caso é dois, e então ele olha para
qual valor ele precisa ser alterado, que é um,
considera dois como um, e você fez as
contas na sua cabeça. Muito bom E obtemos
uma pontuação de três. Finalmente, olhando para baixo, temos esses dois blocos, que
são bem simples. Podemos mostrar uma variável em
nosso palco ou ocultá-la. Bem, isso é tudo o que há nisso. Com isso, agora você entende os fundamentos das
variáveis na programação, o que é um conceito super
importante Quero que você experimente agora
e veja se consegue implementar a
variável de pontuação em seu código
e, na próxima lição,
mostrarei como fizemos isso.
20. Como ajustar o sistema de pontuação: Bem, como foi? Você pode ter
enfrentado alguns problemas, mas um problema é apenas
um trampolim em seu aprendizado que
leva ao crescimento Sim, é muito profundo, não é? Mas isso é o que é. De qualquer forma, vamos começar. Então, queremos alterar
a pontuação em um. Cada vez que nosso cara recebe um cabeçalho. E nosso cara fica com a cabeça quando toca na bola Então, se você olhar o script aqui, ele está basicamente fazendo isso. Parece que
estamos tocando em Ben. Portanto, funciona perfeitamente
para nossa mudança de variável e nem precisamos
criar um novo script. Então, vamos fazer isso. Se a bola tocar em
B, queremos mudar nossa pontuação variável em um e mudar a direção da bola Vamos dar uma
olhada nisso. Clicando em reproduzir. Você verá que, quando
avançarmos, funciona. Mas pouco antes de
comemorar demais, veja isso se tocarmos
a bola pela lateral. Ganhamos uma pilha inteira de pontos. E essa é uma forma de
trapacear em nosso jogo. Isso é meio que um truque. Então, definitivamente precisamos corrigir isso. Além disso, observe que
quando reiniciamos o jogo, nossa pontuação permanece
no mesmo número. Então, primeiro, podemos corrigir que
nossa pontuação não seja reiniciada, simplesmente adicionando esse bloco de
variáveis definido ao
início do nosso script Dessa forma, cada vez
que iniciamos nosso jogo, nossa pontuação é zerada. Nosso próximo problema precisa uma solução mais inteligente, porque se
você olhar esse código, se Ben estiver tocando a bola, ele muda a variável em uma, e continua fazendo isso até que
ele não toque Mesmo se
tocarmos apenas por um segundo, a pontuação aumentará
várias vezes nesse segundo Para corrigir isso, adicione um peso de 1 segundo
até o final do código, e nem
precisamos demorar tanto, vamos alterá-lo talvez
para meio segundo. Agora, se você olhar o script, definimos nossa pontuação para zero. Então, se tocarmos em Ben,
mudamos a direção, mudamos nossa pontuação e esperamos 1 segundo, que significa que nossos jogadores não
podem mais trapacear Com isso, sua pontuação
está concluída, uma vez rápida. Se você
clicar duas vezes na variável, poderá torná-la grande assim. Além disso, você pode movê-lo e colocá-lo
em qualquer lugar da tela. Agora, divirta-se
com este jogo,
experimente e veja o quão
alto você consegue chegar? Qual é a sua pontuação mais alta?
Divirta-se porque você está ocupado criando um jogo
absolutamente incrível.
21. Suavizando as bordas: como depurar o fluxo de jogos: Nesta lição,
vamos fazer algo muito interessante, que é a depuração Talvez não. Talvez a depuração
não seja uma parte tão interessante da programação porque está
tentando resolver algo
que não está Mas, dito isso,
não há nada mais satisfatório do que corrigir um problema em
seu código que está realmente incomodando você.
Você vai se acostumar com isso. E os dois problemas que estamos abordando têm
a ver com a bola. Agora, embora
tecnicamente falando, isso seja na verdade um bug, são apenas recursos que não
implementamos completamente Mas primeiro, quando
começamos nosso jogo, nossa bola não
começa no meio. Em vez disso, ele simplesmente começa de
onde parou. Em segundo lugar, ele simplesmente se move em qualquer direção em que
estava indo anteriormente. Isso literalmente
torna impossível quando o jogo começa e nossa bola vai direto para o chão. Como resolvemos esse problema? Não olhe para mim.
Você é o programador Use suas habilidades de programação codificação e
resolução de problemas para
fazer a bola começar
no meio e também fazer com que a bola
comece a subir automaticamente quando
o jogo começar Você pode fazer isso?
Eu estarei esperando. Pause o vídeo
e experimente. Então, como você foi? Bem, vamos ver como você poderia ter feito
isso. Primeiro de tudo. Para garantir que nossa bola
comece no meio, podemos fazer isso facilmente,
basta entrar em movimento, trazer esse bloco go to,
alterá-lo para zero x
e, digamos, 60 y, e depois adicioná-lo ao
início de qualquer um dos nossos scripts dentro do sprite
da bola Agora, quando começarmos, você verá que nossa bola começa
no centro. Ótimo. Estamos chegando a algum lugar. O próximo problema, no entanto, é que às vezes nossa
bola vai direto para baixo, o que não é uma colisão de trem,
mas, por uma questão de consistência, vamos garantir que nossa bola
comece com um movimento ascendente E, novamente, a solução para
isso não é muito complexa. Tudo tem a ver com a
direção em que nossa bola está apontando. Assim como
definimos a posição da bola
desde o início, também
podemos definir a
direção para a qual ela está apontando. Então, arrastando esse bloco,
podemos definir a direção em podemos definir a direção zero grau e, em seguida, trazê-lo para o
início do nosso script Agora, cada vez que clicarmos em Iniciar, você notará que o jogo
é consistente com a posição
e direção da bola. E com isso, seu
jogo é muito jogável. Mas não se preocupe,
pois na próxima lição,
levaremos o jogo simples para o próximo nível
com níveis de dificuldade,
animações e
22. Como subir de nível: como apresentar problemas dinâmicos: Agora, o jogo é bem divertido.
Não há dúvida sobre isso. Mas não podemos
nos iludir e dizer que é muito desafiador
, porque na verdade não é tão complicado Agora, a bola
praticamente permanece em uma velocidade constante e a dificuldade do jogo é sempre a mesma. Onde está
a diversão nisso? Vamos ver como podemos adicionar
um pouco de desafio ao nosso jogo criando níveis
de dificuldade cada vez maiores. Agora, essencialmente, o que
queremos que aconteça é que
nosso furo aumente continuamente
em velocidade à nosso furo aumente continuamente medida que nossa pontuação aumenta Agora, é aqui
que você começará a ver o verdadeiro poder das variáveis pois vamos
usá-las para mudar toda
a dinâmica do
nosso jogo e do nosso código. Se você der uma olhada no que
realmente está ditando a
velocidade da nossa bola, verá que é exatamente esse bloco de dez passos de
movimento Então, se aumentarmos o número para digamos, 15 e depois clicarmos em play novamente. Agora, agora mesmo, como a bola
está indo muito mais rápido. O que isso significa é que para aumentar
a dificuldade de um jogo, precisamos aumentar
o número aqui. Obviamente, não queremos
sentar aqui e fazer isso manualmente, vamos pegar as variáveis
para fazer o trabalho por nós. Voltando
às nossas variáveis, vamos criar uma nova. Desta vez, chamamos
isso de velocidade da bola. Novamente, podemos transformar isso em uma variável local
clicando aqui. Agora, como você pode ver,
nossa nova variável aparece diretamente na nossa tela. Mas, diferentemente da pontuação, nossa placa não
precisa realmente ver esse número, mas podemos deixá-lo
aqui por enquanto enquanto
editamos o código para garantir que
ele esteja fazendo a coisa certa. Agora que temos nossa variável de velocidade da
bola, você verá que
podemos arrastar esse bloco cá e para nossa área
de script Como você deve notar, esse bloco tem a
mesma forma que este aqui, então podemos simplesmente
arrastar nossa variável para o bloco de etapas de movimento. Infelizmente, você
também percebe que, bem, o jogo realmente não faz nada e
o que não deveria. Porque se você observar o código, estamos movendo etapas de velocidade da bola, e a
variável de velocidade da bola é zero, então estamos movendo zero etapas. solução rápida para isso é
definir a velocidade da bola para dez no início do jogo, que é a mesma
velocidade de antes. Mais uma vez, ao clicar em jogar, você verá que o jogo
voltou a funcionar. Mas agora estamos de
volta à estaca zero. No entanto, agora, queremos que nosso jogo aumente
em dificuldade à medida que jogamos. Nesse estágio, se você olhar
para o teclado, verá uma barra longa
chamada barra de espaço. Se você clicar aqui, o que
faremos é
pausar este vídeo Mas antes de fazer isso, você
terá
a oportunidade de descobrir como
adicionar esse recurso sozinho
e desenvolver suas habilidades de resolução de
problemas. Clique na barra de espaço
para pausar este vídeo e tentar ver se você
consegue resolver esse problema Vou sugerir a criação
de um novo script. Mas vou esperar
do outro lado
dessa pausa e ver
se você consegue fazer isso funcionar
agora.
Você descobriu Como mencionei, geralmente
há várias maneiras de
implementar novos recursos, mas a solução mais simples geralmente
é a melhor solução. Vamos criar um novo script que controle a dificuldade do nosso jogo. Como sempre, precisamos
desse bloco aqui. Então, precisamos dessa
variável de mudança por bloco aqui e garantir que a velocidade da
bola seja selecionada. Agora, precisamos de uma maneira de aumentar
isso continuamente. Simplesmente, podemos fazer isso
pegando um loop eterno
ou repetido, e qualquer um deles nos permitirá atualizar
constantemente a dificuldade
do jogo No nosso caso, vou usar um bloqueio de repetição
porque não
queremos que o jogo
fique cada vez mais difícil a ponto
de ser impossível Então, vamos colocar esse
bloqueio neste, e tenho certeza que você pode adivinhar o que acontecerá quando
começarmos o jogo. Sim. Nossas pranchas
vão direto à velocidade. Bem, felizmente,
há uma solução fácil é arrastar esse bloco de peso e depois
configurá-lo para 5 segundos Agora, quando jogarmos novamente,
você pode ver que é nosso jogo. Lentamente, mas com certeza, começa a ganhar dificuldade com
o passar do tempo. Eventualmente, chega ao
ponto em que se torna
quase impossível. O script pode precisar
de alguns ajustes, mas vamos
deixar você fazer isso O que também podemos fazer agora que nossa variável de dificuldade
aqui foi adicionada corretamente ao nosso
jogo é que podemos
escondê-la da tela simplesmente
desmarcando esta caixa R: Não há necessidade real de
os jogadores verem isso. Bem, isso é tudo por enquanto. Concluímos a segunda fase e desenvolvemos a mecânica de jogo Agora, vamos à última fase, que é a fase
divertida em que aprimoramos
nosso jogo e adicionamos alguns gráficos bonitos pouco de som e até animação.
23. Toques finais: polindo seu jogo de cabeçalho de futebol: Então, estamos na fase três, que está aprimorando o jogo, e é aqui
que garantimos que tudo fique bem adicionando animações e sons
musicais, etc Mas, como eu disse, esse é um estágio
bastante empolgante. À medida que você vê, seu
jogo realmente ganha vida. Agora, esse estágio pode levar um curto período de tempo ou
pode ser muito tempo. Tudo depende da aparência e do
quanto você deseja jogar. Mas certamente é verdade que
ter bons gráficos e som pode ajudar
muito a melhorar seu jogo. Portanto, é importante
garantir que você dê
ao palco um pouco de vida real.
Ok, vamos embora. Olhando para esse jogo, a primeira coisa que
eu não gosto é o tamanho da bola.
Vamos torná-lo menor. Vamos definir seu tamanho para
80%. Isso parece melhor. Agora, a segunda coisa que precisa ser melhorada é como nosso transportador
principal flutua para a esquerda e para a direita, enquanto na verdade
deveria estar
movendo as pernas Agora, é aqui que
realmente
entenderemos melhor as roupas. Clicando em nossa curva para sprite, que tem pernas,
quero fazer
parecer que as pernas dele estão se movendo Podemos clicar nas fantasias. Aqui, a primeira coisa que
precisamos fazer é nos livrar dessas outras roupas,
pois não precisamos delas, e elas só vão
bagunçar a animação Agora, se você clicar em
nossa primeira fantasia, verá que
pode duplicá-la Agora temos dois
deles, e
é aqui que começa o mundo divertido
da animação. Clicando na ferramenta de seleção. Podemos apenas selecionar
apenas as pernas.
Abaixo, aqui, você pode ver que
somos capazes de girar as pernas Como queremos que
pareça que está funcionando, faremos uma mudança para a esquerda
e depois para a direita. Agora, para a parte tediosa, gire-a um pouco mais
para a esquerda e centralize-a Agora, duplique o sprite. Selecione as pernas novamente, gire-as, envie para elas, enxágue
e repita E quando
chegarmos a esse ângulo, começaremos a deslocar as pernas para
a direita,
novamente, enxágue e Agora, quando as pernas
atingirem a extrema direita, mova-as para trás mais uma vez. Dessa forma, temos uma animação
perfeita. Agora, embora agora tenhamos
a animação especial, ainda
precisamos do
código para fazê-la funcionar. Voltando à nossa guia,
poderíamos começar a escrever o código, ou poderíamos ser inteligentes
e perceber que o código do nosso
ben original também é perfeito para o bend. Basta arrastá-lo e remover todos esses blocos
desnecessários. Tudo o que precisamos fazer agora é colocar a próxima coluna em cada uma
dessas verificações condicionais Ou seja, se clicarmos esquerda ou para a direita, ele
mudará a roupa. Se jogarmos o jogo agora, observe
como isso é muito melhor, quanto mais
realista parece. Mostra o
poder da animação, mesmo que você quisesse,
poderíamos ter feito o
corpo girar um pouco Você pode tentar se quiser. Mas para a próxima coisa, que é a bola. E aqui, há algumas
melhorias que eu quero fazer. Em primeiro lugar, quero que ele
toque um som saltitante quando Ben bate na bola e um árbitro apita quando
ela Passando para o nosso grupo de som, podemos escolher o som inicial. Além disso, como observação lateral, a diferença entre os
dois é que este reproduzirá o som até que ele termine antes de passar para o
próximo bloco de código, como um bloco de peso, enquanto
este não interfere Este funciona melhor em
nosso caso, pois queremos
garantir que ele não interfira em nosso código enquanto o
som está sendo reproduzido. Dito isso, se nossa
bola tocar Ben, queríamos tocar o som, que possamos adicioná-lo aqui Em seguida, para o som do árbitro, você verá
que não o temos no sprite, então
precisamos adicioná-lo Vá para a guia de som, basta clicar
neste botão aqui e pesquisar e aqui está. Agora, com ele adicionado ao nosso sprite, você pode ver que agora podemos
selecioná-lo em nosso código Novamente, logicamente, isso deve
soar quando nosso jogo terminar, para que possamos adicioná-lo
aqui mesmo antes da parada Porém, quando jogamos o jogo, você pode ficar um pouco
desapontado porque embora nosso
som ligado à bola funcione, o
apito Bem, como acabei de dizer, o bloco de som
tocará até terminar enquanto esse bloco de som
tocará e executará o próximo código. Então, com
a parada no próximo quarteirão, o som não será reproduzido
até o fim. Vamos trocar isso
pelo outro bloco. Você tem isso. Isso funciona. Agora, com os dois lados adicionados, a última coisa que quero fazer a bola é fazer com que
pareça que está girando no ar, em vez de ficar
estática como está E para isso, precisamos
voltar às roupas. Mas desta vez para a bola. Agora eu aposto que você pode
descobrir isso. de pausar o vídeo, você
acabou de ver o que já
fizemos, pause o vídeo
e veja se consegue fazer com que a bola
pareça estar girando Certo. Deixe-me mostrar
como você pode fazer isso. Se você ainda não descobriu que eu aposto que você faz Como você pode ver,
temos apenas uma fantasia aqui, então precisamos fazer a
animação nós mesmos. Aqui, assim como com nossas pernas, precisaremos
duplicá-lo Em seguida, selecione-o,
gire-o um pouco, depois selecione, duplique,
gire Tenho certeza que você pode ver para
onde isso está indo. Mas, basicamente,
precisamos continuar girando até que nossa bola volte
à posição em que começou Com o poder da edição, vou
acelerar esse processo. Mas, infelizmente para você, esse não é um processo tão rápido
, mas não deve demorar
muito para continuar fazendo isso.
Bem, aí está. Como você pode ver, temos
todas essas roupas que se juntam para
formar um laço perfeito. Se voltarmos ao nosso código, podemos implementar isso facilmente, colocando a próxima roupa
em nosso loop eterno
e, quando jogarmos, ver como isso parece muito mais
realista Agora estamos em nosso último toque. Para isso, podemos passar para nosso cenário aqui para tornar o jogo realmente
mais vivo. O que eu quero fazer é animar o fundo com luzes
piscando no estádio Você sabe o que fazer, vamos ao nosso pano de fundo. Podemos
deletar esse. Agora, desta vez,
vou primeiro duplicar o
original três vezes, então temos quatro
cenários no total Para o efeito de luz intermitente,
é realmente muito fácil. Tudo o que precisamos fazer é
selecionar essa ferramenta, que nos permite
criar círculos. Em seguida, pinte o círculo de
branco clicando aqui e arrastando o controle deslizante Agora, como você pode ver,
agora podemos desenhar
esses círculos brancos. Então, o que vou fazer é cobrir alguns
desses círculos com branco para que pareçam luzes piscando Uma dica rápida: você pode ampliar
clicando aqui e também pode redimensionar e
reposicionar seu círculo OK. Então, agora vou examinar cada uma dessas roupas e cobrir
alguns círculos aleatoriamente. Ok, pronto. Assim como antes, podemos usar uma fantasia
ou pano de fundo para sempre
e para sempre neste caso Isso é definitivamente um pouco
demais para torná-lo menos louco. Vamos trazer um, você adivinhou
, nosso bloco de peso. Agora podemos fazer
algo pequeno, como 0,1 segundo. Isso é muito melhor. Agora, para o
toque final, algumas músicas do jogo. Para isso, podemos simplesmente
acessar a guia de som, adicionar um novo som e aqui você pode escolher
o que quiser, mas certifique-se de que seja nosso loop. Para este jogo, o som do
videogame two funciona. Voltando ao código. Podemos duplicar
o script porque não
queremos uma declaração
branca aqui e apenas adicionar o som e
alterá-lo para videogame também. E isso, meus amigos, é isso. Nosso jogo acabou. É polido. É onde
queremos que esteja neste estágio. Tenho certeza que você pode ir
ainda mais longe. Mas, por enquanto, basta apreciar
onde está e
a quantidade de detalhes
e animações sutis que o levaram
até onde está Ótimo trabalho. Aproveite seu jogo e ainda mais o
fato de ser um programador
24. Prepare-se: como criar uma aventura de tráfego sem fim: No momento, você realmente desenvolveu muitas habilidades de
programação. Estou muito feliz em ver o
progresso que você fez. Agora vamos embarcar
em uma nova aventura, pois a
programação geralmente é uma
aventura de voltas e reviravoltas, se perder e
depois encontrar um caminho É muito parecido com navegar
por uma floresta densa. Mas, eventualmente, você encontra
um caminho para a clareira onde a beleza de sua
criação espera por você Dito isso, para nossa próxima aventura de
programação, vamos realmente
aprimorar suas habilidades criando um jogo muito mais
complexo e dinâmico Este jogo é um jogo de corrida de
trânsito sem fim onde você é um carro e está
correndo por uma rodovia Este jogo desafiará
suas habilidades de programação, mas também
será muito divertido. Então, antes de mergulharmos na importação de sprites e no
design do jogo, vamos primeiro dar um passo atrás e entender
o panorama geral Ao criar um
jogo, como eu disse, é crucial dividir o projeto em etapas menores
possíveis, e isso se torna
ainda mais importante quanto mais complexo
o
projeto se torna Dito isso, em nosso jogo End of
Traffic Running, criaremos os
seguintes componentes. O carro do jogador, as árvores de cada
lado da estrada, as linhas da estrada,
o carro de obstáculos e o cenário da estrada Agora vamos
ver por que precisamos desses sprites e como eles
contribuirão para o nosso jogo Em primeiro lugar, o sprite do carro do jogador será o personagem principal
que o usuário controla, evitando obstáculos e
navegando pelo trânsito Em seguida, os sprites das árvores criam um ambiente visualmente atraente e ajudam a definir o
cenário para um Enquanto estamos dirigindo,
parecerá que
estamos passando por árvores,
outras plantas e pedras. As linhas da estrada têm como objetivo proporcionar uma sensação de
movimento ou a ilusão de movimento, porque obviamente nosso carro não
consegue avançar
e sair da parte superior
da tela, então
podemos fazer com que
pareça que está avançando
com o sprite da estrada O sprite do carrinho de obstáculos será o desafio
do nosso jogo É o que o jogador deve
evitar para continuar a corrida. Finalmente, o cenário da estrada
prepara o cenário para o jogo, imergindo o jogador no
mundo que criamos Agora que temos uma compreensão
clara dos componentes
necessários para nosso jogo, vamos começar a importar nossos atos Agora, esta será a primeira vez que
importamos ácidos sprite do nosso computador, mas não se preocupe É um processo simples. Antes de continuarmos, conforme mencionado anteriormente, você
tem uma escolha aqui. Você tem dois tipos diferentes
de ácidos para escolher. Ou você pode
baixar os ácidos brutos, que serão todas as diferentes
imagens, sons, músicas, etc., e acompanhar enquanto mostramos como
importá-los e editá-los. Isso lhe dará alguma experiência em trabalhar
com gráficos. Ou se você quiser se
concentrar apenas no
lado da codificação, você pode baixar
o ativo do projeto, que terá todos os sprites, músicas e efeitos sonoros
prontos para uso Mas, pessoalmente, eu encorajo você a
acompanhar os ativos brutos. Isso lhe proporcionará
uma ótima experiência. Em primeiro lugar, vamos
criar nosso novo projeto. Como todas as vezes anteriores, podemos simplesmente clicar em selecionar
este botão de criação. Se, neste estágio, você quiser
usar o projeto pré-carregado, basta clicar aqui e
carregar do seu computador. A mudança para o nosso arquivo de projeto Starter
Traffic Runner. Mas vamos ver
a maneira correta agora. Em primeiro lugar, vamos deletar o sprite
catch, que não precisamos. A próxima coisa que precisamos fazer
é enviar nosso sprite antes, passar para esse botão,
mas não clicar nele Em vez disso, podemos selecionar
esse botão logo na parte superior que
diz, fazer upload do sprite O primeiro sprite que queremos
enviar é o sprite do carro do jogador Passando para a pasta de ativos do
projeto. Aqui você verá nossa pasta
Traffic Runner
e, se clicar nela, verá que temos uma
pasta para cada um dos nossos sprites Selecionando nosso PlayerSprite. Aqui você pode escolher o carro que quiser para o seu jogador Sprite Vou selecionar este
aqui e clicar em abrir. Então você tem.
Nosso sprite de jogador está agora em nosso projeto
e pronto para ser usado Mas não vamos parar por aí.
Vamos fazer o upload do nosso outro sprite Como antes, basta clicar em Carregar. Desta vez, podemos selecionar
o sprite do carro de obstáculos. Aqui, não importa qual deles você selecionar, pois
usaremos todos eles. Podemos selecionar abrir. Antes de
passarmos para nosso próximo sprite, precisamos fazer o upload de nossos outros sprites de obstáculos
de carros Você pode estar pensando que teremos vários sprites de
obstáculos diferentes aqui, mas faremos algo um
pouco mais inteligente do que isso Estou indo para as roupas
desse carro, certo? Aqui podemos, novamente, clicar em upload. E desta vez, podemos
selecionar todos os outros carros, simplesmente chutando este carro, mantendo pressionada a tecla Shift e
clicando no último carro Aí está. Todos os nossos carros estão em
um. Imagine isso Vamos passar para o
nosso próximo sprite. Novamente, clicando em carregar. Desta vez, podemos selecionar nosso sprite de
árvores e folhagens. Assim como com o sprite do nosso carro, podemos simplesmente selecionar o
primeiro e clicar em abrir Em seguida, passando para
o editor de figurinos, podemos clicar neste botão aqui. Então, mais uma vez, podemos selecionar todas essas outras roupas e
fazer o upload e pronto. Agora só há mais
um sprite. em carregar e, desta
vez, podemos selecionar este road la sprite
aqui e clicar em abrir Esse é todo o nosso sprite. Agora só precisamos fazer o upload do nosso pano de fundo Basta clicar nele, clicar nos cenários e depois fazer o upload Aqui podemos escolher
essa imagem de fundo aqui e clicar em Abrir É só isso. todos os nossos sprites
prontos para começar. Prepare-se para isso. Mas ótimo trabalho até agora. Como todos os nossos
sprites foram enviados, concluímos nossa primeira
etapa de desenvolvimento do jogo Você também tem uma boa ideia
do panorama geral
do jogo e por que temos
todos os sprites que temos
25. Como estabelecer as bases: como organizar seus conjuntos de jogos: OK. Bem, agora temos
todos os nossos sprites importados, então temos tudo o que
precisamos para começar a desenvolver Mas antes de começarmos a programar, acho melhor organizarmos
isso um pouco melhor para
sabermos o que está acontecendo Porque se você não
soubesse, isso é um pouco confuso. Programar e, bem, a maioria das
outras coisas na vida, manter-se organizado é fundamental. Não sei se
você já cozinhou em uma cozinha muito bagunçada, mas se já cozinhou,
conhecerá a dificuldade Mas, felizmente para você, isso
vai ser rápido pois há apenas algumas coisas que precisam ser feitas. OK. Em primeiro lugar, mudando para nossos sprites de
árvores aqui, como você pode ver, isso
é muito grande. Você pode estar pensando, bem, eu posso simplesmente mudar o
tamanho aqui. Mas pense sobre isso. Se você acidentalmente
alterá-lo novamente, tente
se lembrar de como o tinha,
é sempre melhor fazer
isso no editor de código Podemos simplesmente trazer esse bloco
de dois blocos e, em seguida, esse bloco de tamanho
definido. Vamos definir o tamanho para 30 e depois podemos
mudar a posição. Vamos esconder rapidamente o outro sprite para que
possamos ver o que está acontecendo OK. Bem, o tamanho
parece muito bom. Então, para que o G bloqueie, nem
precisamos adivinhar. Eu posso simplesmente arrastá-lo para onde eu quiser,
no canto aqui, e depois copiar essas
coordenadas x y no meu bloco go to. Por fim, podemos simplesmente colocar uma bandeira de vitória clicada
no script Em seguida, olhando para as faixas da estrada. Você não precisa se preocupar muito porque trabalharemos com
isso na próxima lição, mas você pode simplesmente arrastá-lo
para o centro por enquanto. Então, para nosso carro de obstáculos aqui. Também precisamos
diminuí-lo e alterar
a posição para que possamos simplesmente
arrastar esse código novamente
e, enquanto estamos aqui, também
podemos arrastá-lo
para o carro do jogador. Para x, podemos simplesmente
defini-lo como zero, então y está bem. O tamanho pode ser um pouco maior e isso deve ser bom por enquanto. Por fim, olhando para o nosso carro, vamos mover isso para o
centro e mudar y para
negativo, pois queremos que nosso carro fique deste
lado da tela Isso é um pouco longe demais,
nosso carro é um pouco pequeno. Novamente, podemos aumentar o tamanho. Então, vamos falar um pouco sobre você. Como você pode ver, isso é um
pouco difícil e tudo mais, mas parece certo. Bem, aí está. Olha como isso parece muito melhor. Na verdade, podemos ver
o que está acontecendo. Agora que estamos
devidamente organizados, podemos começar a cozinhar. Bem, no nosso caso,
podemos começar a programar.
26. Como criar a ilusão de movimento: o caminho para o realismo: Agora que tudo está em ordem, podemos passar para a próxima fase, que é desenvolver a
mecânica do jogo Agora, normalmente,
começaríamos com nosso sprite de jogador principal
porque, afinal de contas, é nosso jogador principal No entanto, antes disso, há algo
ainda mais importante, que é a nossa estrada,
porque faz com que realmente
pareça que estamos dirigindo. Agora você pode estar se perguntando :
como podemos fazer parecer que
nosso carro está avançando? Bem, é aqui que entra a
arte da ilusão. Veja, em nosso jogo, queremos dar ao
jogador uma sensação de movimento
contínuo, como
se estivesse dirigindo por
uma estrada sem fim. Para conseguir isso, precisamos
prestar muita atenção ao alinhamento
de nossas linhas rodoviárias e também a outros elementos visuais É como um truque de mágico. Se fizermos isso da maneira certa, podemos criar uma ilusão que pareça real e perfeita
para o jogador Agora, imagine que você está assistindo a
um truque de mágica bem executado. Seus olhos estão grudados nas mãos dos
mágicos, pois eles criam
sem esforço a ilusão da
realidade É isso que queremos
fazer com nosso jogo. Queremos que nossos jogadores
fiquem tão cativados pelo ciclo contínuo que
não percebam
o
truque não percebam
o
truque Para criar essa
ilusão de movimento, usaremos fundos
esticados e uma manipulação inteligente
das A chave aqui é garantir que nossas linhas rodoviárias e
outros elementos estejam perfeitamente
alinhados para que o circuito pareça suave e contínuo Mas por que a precisão é tão
importante, você pode perguntar? Bem, o menor desalinhamento
pode quebrar a ilusão,
fazendo com que o jogo pareça Lembre-se de que nosso objetivo é
cativar o jogador e fazer com que ele sinta
que está realmente dirigindo por uma estrada sem fim Essa parte pode
ficar bem complicada. Se você encontrar o
desafio da segunda fase, lembre-se sempre
pode baixar o ácido completo do projeto com
os sprites concluídos No entanto, esse estágio
definitivamente aumentará sua habilidade em design de figurinos
e desenvolvimento de jogos. Vamos começar esse
ciclo infinito. Se usarmos nosso
sprite da estrada e depois as roupas, você pode ver que temos, bem, apenas essas linhas. No momento, nossas linhas de estrada têm o tamanho
exato da nossa tela Se elas
caíssem um pouco,
a ilusão O que queremos é
estender a estrada além
dessas fronteiras aqui. Se você tentar fazer isso agora, verá que simplesmente
desaparece no abismo A primeira coisa que precisamos fazer é convertê-lo em um vetor, o que agora, como você pode ver, nos
dá muito mais opções, incluindo tirar a
imagem da tela. Para ampliar essa imagem, o que podemos fazer é derrubá-la. Lembre-se de que podemos usar as teclas apenas para ter mais controle. Além disso, se você apertar a
tecla Shift ao clicar, poderá ver que ela se move
muito mais. De qualquer forma. Aqui
parece muito bom. Agora podemos copiar
e colar antes de
movê-lo para cima, podemos ter certeza de que está
exatamente alinhado horizontalmente Agora, novamente, usando as
teclas de seta, podemos trazê-lo à tona. Agora, a etapa final é
garantir que essas
lacunas sejam as mesmas. Aqui, basta observar cuidadosamente a estrada enquanto a move
lentamente para cima para ter
certeza de que essas duas lacunas são as mesmas. Isso parece muito bom. Novamente, isso pode exigir um pouco de teste e nunca
ficar perfeito. Mas com isso, nosso
cliente está pronto. Agora podemos passar para
a parte empolgante, animando-a, o que
faremos na próxima lição
27. Como dominar o loop: a arte das transições sem costuras: Ok, então é isso. Que a ilusão comece. Bem, antes de programar, vamos ver o que
queremos que aconteça. Isso nos ajudará a entender
o que precisamos codificar. Arrastando nosso sprite de estrada, queríamos
descer assim, fazendo parecer que
estamos avançando Então, quando chegou ao fim, queríamos
voltar ao início, mas fazê-lo perfeitamente, que parecesse que
nada aconteceu. Bem, comece, vamos
começar com uma vitória, uma para sempre, e uma
mudança y até dez. Podemos clicar rapidamente em play,
essa é a maneira errada. Vamos fazer com que seja menos dez. Bem, isso é
basicamente o que queremos. Agora precisamos fazer com
que a estrada
volte a subir antes
que desça. Para isso, tudo o que precisamos fazer é, bem, eu não vou te
contar ainda. Que tal fazer uma pausa e
tentar descobrir
você mesmo como
fazer esse circuito perfeito para que a
estrada volte a subir Faça uma pausa e pense nisso. Bem, vamos dar uma
olhada. Em primeiro lugar, precisaremos de uma condição if. O que queremos verificar é a posição
y do nosso sprite. Aqui, precisamos verificar
se a posição y é menor que, digamos, menos um 60, para que possamos usar esse
operador para ver se y é menor que menos um Lembre-se de verificar para que
lado a seta está apontando. Esse caminho é menor que e
esse caminho é mais que. Para ajudar você a se lembrar disso,
preste atenção ao
tamanho no início. Aqui está indo de um tamanho menor do
que o início, e aqui está indo de
um tamanho maior. Agora que você sabe disso,
podemos mover nosso bloco dentro do nosso F e depois dentro do
nosso loop eterno. Agora tudo o que precisamos fazer é
mudar a posição de volta. Então, usamos um bloco go to,
definimos x como zero, Handf y, para começar, podemos simplesmente configurá-lo para um 60 Agora, clicando em play, você pode
ver esse tipo de trabalho. Mas, como você também pode ver
, o loop está muito errado. É aqui que precisamos de um pouco de tentativa e erro para
torná-lo perfeito. Agora, a maneira mais fácil de conseguir isso é pegar
dois blocos O primeiro, podemos
definir como menos um 60, é
aqui que o alteramos novamente, e o próximo podemos definir como
um 60, que é esse bloco Agora, primeiro clique
no primeiro, depois no próximo. Bem, você pode ver que a
posição está um pouco errada. O que precisa acontecer é que
precisamos diminuir um pouco nosso y. Isso é melhor, mas ainda está um
pouco errado. Novamente, um pouco mais. Isso parece melhor.
Como você pode ver, é só um pouco de
tentativa e erro. Agora, embora nosso loop seja bom, você pode ver que nosso custo não está
perfeitamente alinhado, então podemos
voltar ao editor e tentar fazer alguns
microajustes Novamente, aqui, você só precisa mexer nas teclas até conseguir
algo que pareça bom OK. Bem, com isso, podemos mudar nossos valores y
para este novo aqui. E quando chutamos o play mais uma vez. Sim, acho que os resultados
falam por si mesmos. Além disso, embora pareça bom, se mudarmos de
menos um 60 para menos um 50 e
tocarmos o loop novamente, você verá que funciona
um pouco Isso, meus amigos, é o que
chamamos de ilusão adequada. Obviamente, você pode
mexer sem parar para
torná-lo ainda mais simples Mas, por enquanto, isso parece bom. Sei que foi um processo um
pouco tedioso, mas acredite em mim quando digo que essa é uma habilidade muito boa de se ter Agora podemos começar a
codificar os outros sprites.
28. Como dirigir o jogo: como implementar o controle do jogador e a dinâmica de camadas: Agora que parece que nosso
carro está avançando, agora
podemos criar
a mecânica para nosso carro Basicamente, o que queremos que
aconteça é
poder mover nosso carro
pela estrada com nossos arcos Preciso até explicar
como fazer isso, porque tenho certeza de que agora você sabe como
obter esse código corretamente,
pois construímos a mesma mecânica em
nossos jogos anteriores Se quiser, você pode
tentar fazer isso por si mesmo. Caso contrário, vou
passar por isso rapidamente. Se você estiver interessado,
pause o vídeo e veja se consegue descobrir essa
parte sozinho Bem, você conhece o sorteio. Precisamos de uma eternidade,
precisamos de dois e depois blocos. Precisamos de dois desses blocos de detecção de
pressionamento de tecla em cada uma de nossas declarações if Então, podemos alterar
o primeiro para o erro à esquerda e o
segundo para o erro à direita. Podemos então entrar em
nossos blocos de movimento, pegar a alteração x por e adicionar um a cada um deles. Então, para a direita,
trocaremos x por uma
dezena positiva do jeito que está para a esquerda,
será uma dezena negativa. Clicando no avião
agora. Aí está. Nosso carro é controlável e nosso jogo está começando
a tomar Uma coisa, porém, é que você pode ver que a estrada
está em cima do nosso carro. Eu acabei de ir para a estrada, sprite. Podemos ir para Los e
trazer esse bloco aqui, que diz: Vá para, e
podemos mudar a camada posterior. Essa é outra
coisa importante que você deve saber. exemplo, quando
olhamos para nossa tela aqui, parece apenas uma imagem plana, mas na verdade existem
várias camadas e cada sprite pode ser
uma camada diferente Veja, as camadas nos ajudam a
criar profundidade em nossos projetos, tornando-os
visualmente mais atraentes, e também usaremos camadas
neste projeto. Pense em camadas como uma pilha
de papéis ou um sanduíche. No começo, cada sprite
existe em sua própria camada. Quando você adiciona novos sprites, eles são colocados em cima
dos existentes, e isso determina a ordem em que eles aparecem
na tela Mas você pode alterar a
ordem dessas camadas. Isso permite que você
organize facilmente seus sprites para que alguns apareçam
sobre os outros, criando profundidade e uma aparência mais
polida para seu projeto Você entenderá melhor a ideia
à medida que avançarmos,
mas, por enquanto, observe como isso é
muito melhor.
29. Como refinar a vez: dinâmica direcional e fluxo lógico: Ok. Agora precisamos mudar a
direção do nosso carro, que ele não
pareça apenas deslizar pela tela, mas, na verdade,
girar para conseguir isso Como em nosso outro projeto, podemos usar esse bloco de
direção de pontos Mas você pode ter
notado algo estranho ao tentar usá-lo. Ou seja, se você apontar em uma direção reta
e clicar nela, verá nosso carro
apontar para o lado, o que parece um pouco estranho Mas isso faz algum sentido. Scratch pressupõe que direção padrão do
seu sprite
esteja voltada para a direita Vamos usar o sprite de
gato padrão como exemplo. Ao incluí-lo
em seu projeto, você verá que realmente
parece que está voltado para a direita. Quando você usa um bloco para
deixá-lo voltado para cima ou zero grau, ele realmente
parece estar voltado para cima porque estava inicialmente
voltado para a direita. Agora, eu sei que ainda é
um pouco confuso, mas a chave aqui é
entender que o scratch
pressupõe que todos os seus sprites
estejam voltados para Ao criar seu próprio
sprite ou usar um diferente, certifique-se de ajustar
sua direção inicial no editor de figurinos para que fique direção certa quando você
começar a trabalhar com ele Voltando para o nosso carro, podemos entrar no editor. Ok. E usando essa seta, podemos girar nosso carro para que fique
virado para a direita. E
aqui está. Agora você pode ver
que ele aponta
na direção exata em
que o definimos. Ótimo. Agora, vamos implementar
isso em nosso código. Simplesmente, o que queremos é
virar para a direita quando clicamos na seta para
a direita e quando clicamos na seta para
a esquerda. Podemos simplesmente arrastar a direção do nosso
ponto e colocar um em cada uma
dessas declarações f. Para o primeiro, podemos
tê-lo em cerca de 15 graus. Para o segundo,
podemos configurá-lo para -50. Agora, se jogarmos novamente e depois virarmos,
você verá que funciona. Embora existam
claramente alguns bugs aqui. O primeiro é bem
fácil de vestir
, ou seja, quando começamos o jogo, nosso carro aponta para o lado, que não parece muito certo. Podemos simplesmente adicionar uma
direção de ponto ao início e fazer com que ela aponte
diretamente para o início. Agora, como você pode ver,
está muito melhor. Porém, como você também pode ver, se pararmos de virar
e seguirmos em frente, nosso carro ainda aponte
em qualquer direção, estava apontando por último. Agora, isso é um pouco mais complexo, pois precisamos de uma maneira de um carro
apontar em linha reta se nenhum
dos botões for clicado Mais uma vez, pause o
vídeo e tente ver se você consegue fazer isso funcionar e colocar o carro em linha reta Você descobriu isso? Olhando nosso código, você
pode ver que temos essas duas declarações if que verificam se estamos clicando em uma
tecla ou em outra tecla. Mas há outro tipo de declaração que realmente
não usamos, e é muito importante. Se formos
até nosso controle, você verá que temos
esse bloco, bem, sabemos o que o bloco if faz, uma condição for verdadeira, ele executará algum código, se a seta direita for clicada, ele virará à direita e, com esse
bloco, fará o mesmo Mas se a condição não
for verdadeira, ele executará qualquer
código nesse bloco. Vamos ver isso em ação. Em primeiro lugar, retirando
todo esse código, podemos trocá-lo por isso Aqui podemos
clicar na seta para
a direita e depois apontar
a ereção e mudar. Então, para o ls, vamos
inserir esse outro código. Agora, se você clicar em play, verá que, se
clicar na seta para a direita, o carro faz o que é esperado. Mas se a seta para a direita for anotada, a carta desliza para a esquerda Agora entendemos
como tudo isso funciona. Vamos voltar à
forma como foi uma dica útil. Basta clicar em comandos ou controles, se você estiver no Windows,
e verá seu código voltar ao que era Vamos fazer isso. Vamos trocar essa seta
esquerda por
esse LS e mover
o código para dentro Finalmente, no LS, podemos trazer uma direção de
ponto
e fazer com que ela aponte em linha reta. Bem, isso faz sentido. Se clicarmos com o botão direito,
ele apontará para a direita. Se clicarmos para a esquerda,
ele aponta para a esquerda. Caso contrário, ele aponta para cima. Vamos tentar isso. Bem,
isso não está certo, não é? Vamos tentar
desvendar isso um pouco. Temos uma
situação em que clicar com o botão direito não parece funcionar conforme o esperado,
mas clicar com o botão esquerdo funciona. A resposta está na ordem em que o código é processado. Lembre-se de que, na programação, o
código é executado de
cima para baixo. Ele verifica cada condição
na ordem em que elas aparecem. Quando clicamos com o botão direito, nosso sprite é realmente instruído
a apontar para a No entanto, há mais código depois disso nos estilos de
computador para verificar, que é isso aqui. Se clicarmos para a esquerda, aponte para a esquerda. Mas veja aqui, se essa condição não for verdadeira, o que quer que esteja nesse
bloco acontecerá. O bloco final de código fornece um comando para o sprite
apontar diretamente O sprite seguirá esse
comando se essa condição não
for atendida porque
esse bloco foi perdido; em última análise,
é o que
será executado Eu sei que a lógica de programação
é incrível. Mas quanto mais você realmente
tenta entender isso, mais claro fica: tudo se resume a pensar
como um computador. Dito isso, como podemos corrigir isso? Bem, na programação, você
geralmente não quer ter uma situação em que haja blocos
if em um único
script ou loop. Em vez disso, o que
queremos usar é um F L. Em vez desse
código ficar assim, pegaremos outro FL. Coloque esse código lá dentro. Coloque-o no laço. Finalmente, podemos colocar isso se
nesta declaração. Agora, se olharmos o código, se a seta direita for
clicada, isso será executado Caso contrário, se a
seta esquerda for clicada, esse código será executado
e, somente se nenhuma das condições
acima for verdadeira, nenhuma esquerda ou direita for clicada, nosso carro apontará Jogando o jogo novamente, veja agora como ele funciona perfeitamente. Adicionar isso if else
garante que esse código inferior só
possa ser executado se não estivermos
clicando no erro certo
e, se não estivermos
clicando também no erro esquerdo
, finalmente,
esse outro será executado. Agora, tudo isso pode ser um
pouco confuso, mas essa é realmente a
essência da programação entender a
ordem das operações e como o código é executado e
organizado logicamente Confie em mim, quanto mais você construir, mais claro ficará Brinque com isso e
tente entendê-lo, porque são coisas
empolgantes que estão por vir.
30. Como criar entraves dinâmicos: a estrada ganha vida: Bem, é hora de colocar esse programa na estrada literalmente. Nesse estágio,
temos essa ilusão de movimento, como nossos carros dirigem por uma
rodovia, e temos a capacidade de controlar nosso
carro virando à esquerda ou à direita Mas agora precisamos nos concentrar em colocar nossos
carros-obstáculo na estrada Esses são os carros
que vamos tecer entre eles enquanto
jogamos nosso jogo Como você pode ver nesta fase, temos apenas um sprite de carro, mas em breve você
verá como, a partir dele, podemos criar uma quantidade
infinita de carros Novamente, antes de
começarmos a programar, vamos pensar no
que ele precisa fazer Então, podemos considerar como
conseguiremos isso com o código. Então, para aumentar a
ilusão de movimento e
adicionar um obstáculo
que devemos evitar, queremos que este carro
pareça estar dirigindo a uma
velocidade mais lenta Então, estaria
descendo lentamente uma pista como essa. Então, precisaríamos
evitá-lo virando à esquerda ou à direita. Então, vamos tentar resolver
o primeiro problema. Vou até o nosso carro, sprite. Podemos primeiro anexar
um bloco
eterno a esse
script atual, simplesmente, tudo o que faremos é fazer com que
o carro se mova lentamente pela tela, alterando
o valor y bi negativo de, digamos, cinco. Então apertando play? Bem, é perfeito. Porque está
chegando. Ainda parece que está
avançando porque voltando mais devagar do que
a estrada está voltando Mas agora que temos
esse carro em movimento, você pode ver que
ele simplesmente para quando chega
ao final da tela.
E isso funciona perfeitamente. Bem, perfeito, se tudo o que queremos é um obstáculo em nosso jogo,
que não é o objetivo aqui Em vez disso, precisamos que o carro
volte ao início da tela quando
chegar ao fundo. Bem, para fazer isso, precisamos adicionar alguma verificação de
condição. Mas se você passar para nosso grupo de movimento,
se você se lembra, tínhamos essa posição y e
podemos usá-la para verificar
qual é
a posição y do nosso sprite, é
a posição y do nosso sprite, o que significa que podemos
verificar se nosso sprite chegou
ao final da tela
e, nosso sprite chegou
ao final da tela
e, se chegou, podemos
fazê-lo voltar ao Em primeiro lugar, o que precisamos
é de uma declaração if, você notará aqui que não
pode colocar esse
bloco de posição y na instrução F. Bem, por razões óbvias, é como se minha posição
fizesse alguma coisa. Bem, isso não faz sentido. O que precisamos fazer é verificar se a posição y é
menor que um determinado valor. E, assim como com
nossas linhas rodoviárias, podemos fazer isso pegando esse bloco verde
do grupo de operadores Isso é o que verifica se um valor é maior
ou menor que outro. Lembre-se de prestar atenção
ao tamanho no início. Aqui está indo de um tamanho menor do que o início, e aqui vai de
um tamanho maior. Queremos verificar se
y é menor que -210, que é basicamente a
parte inferior da tela Agora, se essa condição for verdadeira, queremos que nosso carro volte
para o topo da tela. Tudo o que precisamos fazer
é inserir um bloco G dois e definir
o valor y como 210, que é basicamente a
parte superior da tela. Jogue Bem, como você pode ver, nosso carro desce e,
quando chega ao fundo
, volta para o topo. É bom. Está
parecendo muito bom. Mas ainda há mais
uma coisa que precisamos resolver. Esse é o nosso carro. Bem, ele continua
descendo a mesma pista, que tornaria o
jogo muito fácil porque tudo o que você precisa fazer é dirigir em qualquer uma das outras
pistas e nós venceremos Não queremos vitórias baratas aqui. Então, o que precisamos é que
o carro, de alguma forma alterne
aleatoriamente entre cada uma
dessas faixas toda vez
que voltar ao topo Agora, isso é um
pouco mais complicado do que
você imagina Mas vamos começar
com o que sabemos. Sabemos que isso terá algo a ver
com o valor x. No momento, nós o configuramos para zero toda vez
que ele vai para o topo. Precisamos mudar isso. Também sabemos que
isso tem a
ver com a escolha de um número aleatório Para começar,
vamos colocar a escolha aleatória
em x. Agora podemos ver quais serão
os
limites superior e inferior arrastando nosso carro
até a primeira faixa Sim, você pode ver
que está a menos 145, e a última faixa é o poço 1405 Podemos definir x um número aleatório de
menos 1405 a 1405 Se jogarmos, dá ver que cada vez que nosso
carro chega ao fim, ele muda de faixa,
o que é bom Mas o problema
é que às vezes fica entre nossas pistas, o que não é bom, e é
aí que fica
um pouco complicado Precisamos mudar a
forma como abordamos isso. Em vez de definir
o número entre menos 1405 e 1405, precisamos fazer um
pouco de matemática, de O que precisamos é um bloco positivo e um
bloco de vezes, e você verá o porquê. Nossa exposição do nosso carro pode
ser no mínimo de menos 1405, podemos inserir isso em
nossa primeira Agora, existem cinco faixas possíveis
diferentes nas quais nosso carro pode estar
a qualquer momento O que precisamos fazer é descobrir o espaço
entre as pistas. Nossa primeira faixa é menos 1405. Se a movermos para a
segunda faixa, está em -70. Agora, 14570, dá 75, mas podemos dizer que cerca de 75
75 é a distância
entre as faixas Se movermos esse
bloco de vezes para o bloco positivo, podemos inserir 75, pois há cinco faixas, podemos novamente usar pick aleatoriamente, e aqui podemos configurá-lo
para 040 Por que não um a cinco?
Isso ocorre porque, bem, menos 1405 é nossa primeira faixa E qualquer coisa vezes zero. Então, se o número aleatório for zero, nosso carro estará em
nossa primeira pista. Eu sei que isso pode
ser um pouco confuso. Mas à medida que você trabalha mais com
esses tipos de blocos, melhor você
os entende. Mas sim, vamos ver
isso em ação. Bem, isso parece quase perfeito. Podemos ajustá-lo um
pouquinho para torná-lo ainda melhor. Como você pode ver, a última
faixa está um pouco longe, então vamos mudar
isso para 74, tudo gira em torno de tentativa e erro. Mas sim, isso
parece muito bom. Agora,
relaxe e aproveite sua criação, porque ela
só vai ficar melhor.
31. De entraves ao engarrafamento: como dominar a clonagem para entraves dinâmicos: Bem, acho que está realmente
começando a tomar forma. Temos nossa estrada que
se move constantemente. Temos um carro que controlamos. Temos nossos obstáculos
que devemos evitar. Agora vamos transformar isso
em obstáculos gerando mais tráfego
adicionando mais carros. Você pode estar pensando consigo mesmo, bem, isso é bastante fácil. Tudo que eu preciso fazer é duplicar esse carro de obstáculos algumas
vezes e Bob é seu tio Bem, Bob, talvez você seja tio, mas essa não é
realmente a solução. Bem, vamos experimentar o show. Você sabe, como eu disse,
a solução simples é a melhor solução e
isso com certeza parece simples. botão direito do mouse em nosso carro e depois clique em duplicar, e vamos fazer isso mais uma vez Lá vamos nós. Agora temos três carros prontos para
ir. Vamos nos testar. Bem, isso funciona um pouco. Mas nossos carros aparecem todos
ao mesmo tempo e às vezes
na mesma linha. Poderíamos simplesmente ir até esses carros duplicados e colocar uma placa de espera em cada um deles no
topo do roteiro e
fazer com que fossem 1 segundo
e 2 segundos
para que eles fossem espaçados uniformemente
e, mais uma vez, Bem, depois de esperarmos que
esses carros comecem a se mover. Na verdade, você pode ver
que funciona muito bem. Agora, se tudo funciona tão bem
, por que não
usamos a solução Deixe-me apresentar
a você uma pequena sigla
, chamada
código seco, código D R. O que significa dry é
não se repetir. Deixe-me dizer isso de novo.
Não se repita. Ah, hein. Isso é muito engraçado. Esse é um
ditado muito popular na programação geralmente diz que duplicar código pode parecer a solução mais fácil No entanto, quando você
começa a fazer isso, as coisas podem ficar muito confusas Também dificulta a manutenção das coisas
. Por exemplo, se eu quisesse
mudar a velocidade dos meus carros, não poderia simplesmente
mudá-la em um só lugar. Eu teria que entrar em
cada sprite para alterá-lo. Dito isso, vamos
procurar uma solução mais inteligente. Primeiro, excluindo todas
essas duplicatas. Em seguida, indo para o nosso sprite de obstáculos
principal e, finalmente, indo para
os blocos de controle, você verá que temos
esses blocos Quando eu começo como um clone, crio um clone e
excluo esse E esses são blocos muito
importantes. Arrastando-os para baixo e,
em seguida, vamos dar uma olhada. Vamos testar isso
trazendo esse clone de criação de mim mesmo para
dentro dessa declaração F. Em seguida, apertando play, você verá que cada vez que nosso
carro chega ao fim, um novo clone aparece no topo Mas você também vê que esses
carros realmente não se movem. Eles simplesmente ficam lá, o que não é realmente uma ideia. isso que
serve esse bloco, meus amigos . Basicamente, o que está acontecendo
é que nosso roteiro está sendo reproduzido
e, quando essa
condição é verdadeira, ele cria um clone de si mesmo, que é o carro-obstáculo C é essencialmente uma cópia
idêntica de um sprite, como todas as roupas que ele tem, efeitos
sonoros e muito mais No entanto, uma
diferença fundamental é que um clone não é o mesmo duplicar um sprite
porque, como você viu, os sprites duplicados se movem
como os normais,
enquanto o clone ficou preso na parte superior Isso porque o clone não tem acesso ao script
porque esse script só é ativado quando o
sinalizador é clicado, e isso só acontece
uma vez no início É aqui que entra esse
bloco. Isso nos permite adicionar código
aos nossos sprites clones. Se simplesmente duplicarmos esse código e adicioná-lo a
quando eu começar como clone e
depois jogar, você verá que cada vez que um personagem
chega ao fim, um clone é adicionado e tem
a Mas, como você também pode ver, ele realmente não para de aparecer. Mas acho que você entendeu. Agora que você tem uma
boa compreensão do importante conceito de código seco e codificação, não se repita.
Vamos fazer isso funcionar. Primeiro, podemos nos
livrar do código
no bloco de código, pois também
podemos desconectar esse código do botão de clique na
bandeira de vitória Agora podemos adicionar um
bloco eterno e um bloco de peso
e, em seguida, criar um
clone do meu bloco Basicamente, cada segundo
criará um c de si mesmo. Agora, o importante, mas, vamos arrastar esse código aqui
para quando eu começar como um clone Lembre-se de que não podemos mantê-lo
assim porque ele
continuará criando novos cones. Basicamente, o que podemos fazer é quando o carro
chegar ao fim, podemos deletar esse
c, vamos testar. Mais uma vez, isso
não está certo. O carro está apenas dirigindo vivo. Isso faz sentido, obviamente, porque se você olhar o código toda vez que o carro
começa em um clone, ele vai para zero x e um 90 y. Tudo o que precisamos fazer é nos
livrar disso e depois movê-lo para posição
aleatória no
início do script Mais uma vez, se clicarmos em play. Bem, isso funciona muito melhor. Há duas
bicicletas pequenas que podemos consertar. Primeiro, vamos esconder
nosso sprite principal, para que ele não grude na
nossa tela e depois
mostre nosso sprite clone Além disso, podemos alterar esse go para
y para um número alto, como 250, o que faz com que pareça
mais perfeito Aí está. Está
funcionando corretamente agora. Se você acompanhar, será um trabalho
absolutamente incrível
concluir esta lição. Nós realmente cobrimos um pouco de
terreno aqui, muito bem. Vamos manter esse
ritmo e começar a dar vida a esse jogo
32. Como randomizar a estrada: como criar padrões de tráfego realistas: Ok, então nosso tráfego
parece muito bom, e isso não existe,
mas temos dois problemas. Em primeiro lugar, o tráfego é gerado a uma taxa muito
consistente, como você pode ver,
é apenas um carro, o próximo carro, o
próximo carro e assim por diante. Eles realmente deveriam aparecer
em taxas diferentes. Em segundo lugar, são
todos o mesmo carro. Se você olhar as
roupas,
verá que temos vários tipos de carros
diferentes. Este é o seu mini desafio. Eu quero que você tente
resolver esses dois problemas. Primeiro, fazer com que o carro
apareça em taxas diferentes e, em
seguida, fazer com que
sejam carros diferentes Vá lá. Você pode fazer isso.
Pause o vídeo agora e experimente esse pequeno mini
desafio . Bem,
você resolveu isso? Se você ainda não
descobriu, tudo tem a ver com números
aleatórios. Deixe-me mostrar o que quero dizer. Em primeiro lugar, para que a velocidade de
desova do carro varie, tudo o que precisamos fazer é arrastar
uma palheta aleatória para esse bloco de peso, e aqui podemos fazer com
que ela varie de 0,6 segundos a 1,2 Se tivéssemos um prato,
você pode ver que
parece muito menos robótico
e um pouco mais natural Finalmente, para fazer com que
pareça menos que os carros estão saindo de uma linha de fábrica e mais com o tráfego normal. Aqui podemos usar fantasias. Entrando no Ls
e adicionando essa roupa de switch logo no início do nosso roteiro,
podemos mudar. Veja, se você clicar aqui, temos seis roupas de
carro diferentes. Aqui, novamente, também podemos
adicionar uma escolha aleatória. Como temos seis roupas, podemos escolher uma aleatória de 1 a 6 Agora, quando chegamos ao prato, parece muito melhor. Na verdade, está
começando a parecer um jogo adequado.
Ótimo trabalho até agora.
33. Como dar vida ao mundo: como animar o cenário: Ok, agora que estamos
nos estágios finais, antes de adicionarmos a detecção
de falhas, vamos tentar fazer com que o
cenário se mova para que nosso jogo pareça
mais envolvente O que queremos que aconteça é
que esse sprite das árvores
desça pela beira da estrada quando
começarmos a dirigir e faça com que
pareça que estamos
passando por uma paisagem Esse código será muito semelhante ao nosso código
para nosso sprite de
obstáculos Vamos apenas copiá-lo
e ver o que acontece. Avançando, podemos
simplesmente arrastar esses blocos. E quando você clica em play. Bem, eu acho que isso era de se esperar. Nossas árvores agem como carros e, por mais tolo que seja,
com algumas modificações, podemos fazer isso funcionar para nós Obviamente, não
queremos nossas árvores no meio
da estrada e podemos consertar isso retirando esse
bloco dentro do bloco de entrada. Aqui, podemos então adicionar
uma escolha aleatória. Se quisermos que fique na
beira da estrada, podemos fazer com que escolha um número entre menos dois 50 e -200 E acho que também podemos
manter o tamanho aqui
igual ao que parece correto,
pressionando play novamente. Veja como isso é muito melhor. A única coisa agora é que nossas árvores estão se movendo em uma velocidade
diferente da estrada. Se voltarmos para
nossas estradas brilhantes, você pode ver que temos a
velocidade definida de dois menos dez Vamos fazer o mesmo com nossas árvores. Jogue novamente. Isso é
definitivamente melhor. Embora um pequeno
problema que tenhamos aqui seja as árvores estão se acumulando
na parte inferior da tela
, podemos corrigir
isso facilmente
alterando essa verificação F y aqui, vamos
alterá-la para, digamos, -200 Além disso, vamos aumentar
um pouco
a velocidade de desova ajustando essa escolha aleatória 0,6 para 1,20 0,620 0,3 Bem, isso resolve isso. As árvores desovam mais rapidamente. Bom trabalho, mas
ainda há um problema, e tenho certeza que você pode ver, que é que só temos árvores
em um lado da estrada. E poderíamos simplesmente duplicar
o sprite, o que funcionaria. Mas, como você sabe, é sempre
bom manter seu código seco. Por exemplo, não se repita. Vamos pensar em uma solução
mais inteligente. Agora, quando nossas
árvores começam como um clone, elas vão para uma posição aleatória entre menos dois 50 e Mas também queremos 202 50 como opção, porque esse é o lado direito da tela Em primeiro lugar, vamos
duplicar essa escolha aleatoriamente e depois alterar
os valores para 202 50 OK. Agora que fizemos isso, como podemos fazer com que
às vezes ele escolha
essa escolha aleatória, enquanto outras vezes ele
escolha essa escolha Bem, pause o
vídeo e tente ver se você consegue descobrir
isso sozinho Embora não seja tão
fácil quanto você imagina
, aposto que você está pronto para isso. Como sempre, existem
maneiras diferentes de fazer isso funcionar. Mas vou mostrar como
podemos usar variáveis para resolver isso. O que podemos fazer é criar
uma variável chamada lados. Então, podemos adicionar
esse bloco de código
ao início do nosso script When I
start as cone. Em seguida, certifique-se de alterar
isso para definir a entrada lateral. Depois disso, faça uma escolha aleatória e aqui
definiremos como apenas uma ou duas. Agora podemos pegar e
depois condicionar, podemos pegar esse operador
igual a dois
e, finalmente, a O que queremos fazer é
que seja assim. Se os lados forem iguais a um, então faça o que estiver aqui, ou se os lados não forem um, que é dois, então
faça o que está Podemos arrastar isso para o bloco
dentro dessa primeira condição. Então, podemos duplicá-lo e trocar essa escolha
aleatória por esta aqui Então, finalmente, conecte todos
esses blocos. Vamos analisar isso rapidamente. Quando começamos como um clone, temos lados variáveis, que serão definidos como um
ou dois, que indica esquerda ou direita Então, se o tamanho for igual a um, as árvores
desovarão de um lado
e, se o tamanho for igual a dois, elas desovarão Apertando play, aí está. Temos árvores desovando dos
dois lados e parece bom. Acho que estamos quase lá. Basta um pouco de detecção de
colisão e nosso jogo estará
praticamente pronto
34. Toques finais: detecção de colisão e animação de spinout: Bem, é isso. É hora de criarmos este jogo adicionando um
pouco de detecção de colisão para detectar Se batermos em um carro,
bata nas laterais da estrada. Também adicionaremos uma animação giratória
interessante para dar um efeito mais dinâmico
e dramático Mas primeiro, vamos adicionar uma simples
detecção de falhas. Passando para nosso sprite principal do elenco, pegaremos o padrão quando clicarmos na
bandeira e, em
seguida, para sempre , poderemos adicionar esse bloco de toque e alterá-lo para detectar Finalmente, se isso acontecer,
faremos com que pare ou. Bem, isso é bastante simples. Vamos dar uma chance e
ver as corridas. Senhor. Seguindo as
linhas. A é elegante E então, se dissermos
colidir com este carro aqui. Bem, aí está. Nada mal. Enquanto vamos adicioná-lo.
Também vamos verificar se nosso carro está tocando
a borda de alguma pista E podemos simplesmente
fazer isso pegando mais duas verificações maiores que operador e
menos operador Então, no grupo de movimentos, podemos usar esse bloco de
exposição, que é a
exposição atual do Então, trazendo isso para
ambos e, finalmente, podemos verificar se a exposição de nossos
carros é maior ou
menor que 1805 negativos Adicionando uma parada ou
em ambas. Antes de jogarmos, vamos ver
rapidamente o
que está acontecendo aqui. Basicamente, se nosso carro estiver tocando o
carro-obstáculo, paramos tudo, e se a exposição de nossos carros for
além de 1805 ou menos 1805,
que está além da
borda, que está além da
borda Vamos fazer uma viagem. Como você pode ver, se
tentarmos sair da estrada, bem, nosso jogo termina, é isso
que gostaríamos de ver. Agora, para o toque final, vamos adicionar nossa animação spinout
crash Então, o que queremos é que
nosso carro tenha basicamente uma pequena animação em
que, se tocarmos um obstáculo ou
sairmos da estrada, nosso
carro gire Acho que o melhor lugar
para começar com isso é
no grupo de movimentos, porque
aqui temos esse bloco de curva
e, se clicarmos aqui, você pode ver nosso carro virar Isso é basicamente o que queremos. Podemos trazer esse bloco
e, como
queríamos virar algumas vezes para fazer
parecer que está girando, podemos pegar um bloco repetido Se colocarmos isso aqui e você puder ver como nosso carro
parece estar girando Legal. Agora precisamos duplicar
esse bloco duas vezes. Em seguida, adicione-o a cada uma de
nossas verificações condicionais. Bem, se olharmos nosso roteiro. Se alguma dessas
condições for verdadeira, se tocar em um carro com obstáculos, ele deve primeiro virar dez vezes e depois parar. Vamos
dar uma chance. Dirigindo por uma
estrada, está tudo bem. Então, se batermos em um carro, bem, não era
isso que queríamos. Ele apenas girou por uma fração de segundo e
estava voltado para frente. Mas se você olhar
o código com cuidado, isso faz sentido porque, bem, esse código está realmente
funcionando bem, mas esse código está
interferindo nele porque esse
trecho de script aqui está constantemente fazendo nosso carro apontar
para o lado direito se não
estivermos virando, isso atrapalha nossa animação Agora, uma maneira de
corrigir isso é simplesmente arrastar todo esse bloco de código para dentro
desse loop eterno Dessa forma, esses dois scripts
não entrarão em conflito um com o
outro se uma dessas
condições for verdadeira. se batêssemos em um carro, o código não passaria para a próxima parte
do script até ser concluído, significa que ele primeiro jogará a
missão e depois parará. Dando uma chance a isso. Você
pode ver que funciona. Mas essa não é exatamente
uma solução limpa. Agora, temos dois tipos
diferentes de scripts se mesclando em um, o que pode dificultar a
compreensão e a edição
do código à medida que você avança Apertar comandos ou
desfazer ou controles. Em vez disso, o que podemos fazer é pegar outro
desses blocos de parada, mas alterá-lo para interromper outros
scripts no sprite Em seguida, duplique-o duas vezes
e, finalmente, adicione-o
ao início de cada uma
dessas verificações condicionais Se você olhar nosso código agora, se tocarmos em alguma coisa, interromperemos a execução de qualquer outro script no sprite
como este aqui Em seguida, reproduziremos a
animação e depois pararemos tudo. Antes de tentarmos,
vamos mudar esse turno para algo
menor que oito. Finalmente, dando uma chance,
dirigindo até lá, também. Então batendo em um carro, aí está. Excelente trabalho. Este é
um jogo muito jogável, e você deve se orgulhar de
ter chegado até aqui Sente-se, relaxe e aproveite sua conquista, porque
na próxima seção veremos como podemos transformar esse jogo com níveis, variáveis
dinâmicas, efeitos
sonoros, música e muito
35. Como subir de nível: como injetar dinamismo na jogabilidade: Bem, você chegou
até aqui e criou um jogo muito bom e está
quase pronto para ser publicado. No entanto, um problema que temos é
a estática do nosso jogo. Por exemplo, não há níveis
com dificuldade crescente. Nosso carro se move na mesma velocidade. Os carros de obstáculos também
aparecem na mesma velocidade, e tudo isso nos deixa
com um jogo bem sem graça Então, como podemos resolver isso? Como podemos tornar nosso jogo mais divertido aumentando
a dificuldade Bem, sabemos que
uma forma de aumentar
a dificuldade
seria aumentar taxa na qual
os carros com
obstáculos aparecem ou melhor
ainda,
fazendo-os descer mais rápido Então, indo para nosso carro de obstáculos, vamos ver as duas áreas
que controlam a rapidez com que nosso carro-obstáculo se move e a
rapidez com que ele aparece no jogo Em primeiro lugar, como você pode ver,
nosso carro de obstáculos espera 0,6 a 1,2 segundos antes de criar um
cone e aparecer Essa é a única parte do código
que precisaríamos ajustar. Então, olhando esse script, você pode ver que
o carro
muda constantemente y em menos cinco Então, essa é sua velocidade de movimento, e a outra parte, também
precisaríamos ajustar. Então, agora que identificamos
as duas partes do código que controlam a velocidade e a taxa de
geração do sprite,
como podemos fazer com que
fique cada vez mais difícil à medida que
o jogo avança como podemos fazer com que
fique cada vez mais difícil à medida que o jogo Bem, poderíamos continuar
duplicando esse código e duplicando-o e duplicando-o e
duplicando-o Então, por exemplo,
altere isso para 0,5 e 1,1 e continue diminuindo cada vez mais o tempo de desova Mas acho que você sabe
que esse não é o caminho a seguir. Porque, como você lembra, código
seco é importante, ou seja, não se repita,
certamente estamos nos repetindo aqui Em vez disso, assim como
no outro jogo que
criamos, podemos usar variáveis para
controlar nossa velocidade de jogo. Mas antes de
prosseguirmos e
mudarmos, é importante
que você
entenda a importância das variáveis
na programação. Agora, muitas vezes é
tentador simplesmente inserir valores
como essa
alteração i em menos cinco Programação, isso é o que
chamamos de valores codificados. Embora isso seja normal às vezes também há várias
desvantagens, vamos
considerar algumas delas. Em primeiro lugar, falta de flexibilidade. Imagine que você criou um
jogo com dez níveis, todos com
dificuldades codificadas Se você quiser alterar
a taxa de dificuldade, como a rapidez com que o
jogo fica difícil, você terá que ajustar
cada nível individualmente. Agora, essa não é uma maneira muito
eficiente, certo? Em segundo lugar, atualizações
e expansões. Digamos que seu jogo
se torne popular e você decida lançar uma
versão ou expansão atualizada. Se tudo estiver codificado, fazer alterações consistentes
se torna uma tarefa muito tediosa Assim como em nosso jogo, precisaríamos alterar
o valor de maior velocidade de nossas árvores e de nossa estrada. E, por fim, problemas de consistência. Um dos principais
problemas que você
enfrentará é a consistência, ou seja, se
quisermos fazer uma pequena mudança em nosso jogo, precisaremos
encontrar todos os valores afetados por essa mudança
e, se nosso jogo for grande, essa tarefa se tornará
quase impossível. Dito isso, podemos tornar nosso
código muito melhor usando variáveis em vez de
valores codificados sempre que possível Então, o que podemos fazer é ter um espaço onde ajustamos
todas as variáveis. Dessa forma, nosso jogo é
fácil de gerenciar e atualizar. Passando para nossas variáveis. Pense nas
variáveis que precisamos
criar para tornar nosso jogo mais
adaptável e escalável Bem, as duas coisas que queremos
controlar são nossa velocidade de desova
e nossa velocidade de movimento Vamos criar isso. Em primeiro lugar,
apertar make variable Podemos chamar essa primeira velocidade de
geração, clique em Criar. Mais uma vez, podemos chamar essa próxima
velocidade de movimento e
garantir que seja uma variável global,
garantindo que esse
botão seja selecionado. Então, vamos fazer isso. Agora, primeiro, vamos mudar nossa velocidade de desova No momento, é esse valor
codificado de 0,6 e 1,2. Então, em vez de 0,6, vamos arrastar a variável de
velocidade de geração Então, como 0,6 é
o dobro do tamanho de 1,2, podemos definir a segunda entrada para a velocidade de
geração multiplicada por No momento, nossos carros não se moverão, pois nossa
velocidade de desova está definida como zero Mas para testar isso,
vamos rapidamente configurá-lo para 0,6 simplesmente selecionando-o aqui, inserindo 0,6
e clicando duas vezes. Como você pode ver, isso mudou. Agora apertando play,
aí está. Quero dizer, nada
mudou, mas logo mudará. Então, prepare-se porque
na próxima lição, vamos atualizar totalmente esse jogo e
torná-lo verdadeiramente adaptável
36. Evolução estratégica de jogos: como dominar variáveis para jogabilidade dinâmica: Certo. Até agora,
acabamos de alterar a velocidade de desova para uma variável
para nosso carro de obstáculos Mas, como você sabe, nossas árvores e folhagens também têm a
mesma desova. Vamos fazer o mesmo por eles. Passando para esse sprite, você pode ver que ele
está definido como 0,60 0,3 Nossa velocidade de desova atualmente
é de 0,6, e podemos simplesmente arrastar
essa variável até aqui Então, como 0,3 é metade de 0,6, em vez de multiplicá-lo por
dois, como no nosso carro, podemos dividi-lo por Pegando essa divisão
dos operadores,
inserindo nossa variável
ao digitar duas
e pressionando play rapidamente e Mais uma vez. Nada de
novo acontece ainda. Mas, como você pode ver, funciona. Então, agora que nossa velocidade
de desova
foi trocada de valores
codificados para variáveis,
a próxima coisa que precisamos
mudar é nossa velocidade de Agora, em nosso código, temos três sprites diferentes
que se movem para baixo. Temos nosso sprite de obstáculos,
nosso sprite de árvores e
nosso sprite de pista de estrada Em primeiro lugar, com nosso sprite de estrada. Como você pode ver, nosso
movimento é determinado por essa mudança y
em menos dez. Vamos simplesmente pegar nossa variável de
velocidade de movimento e
arrastá-la até aqui. Em seguida, vamos definir rapidamente nossa variável de velocidade de
movimento para menos dez e clicar duas vezes Então, se clicarmos em play, como você pode ver, isso funciona perfeitamente. Em seguida, vamos até nosso sprite de
árvores e folhagens. Aqui você pode ver que
também temos o movimento definido como um valor codificado de
menos dez Então, simplesmente,
podemos substituir esse valor codificado por
essa variável, e pronto Então, finalmente, podemos ir
até nosso carro de obstáculos. Aqui, como você pode ver,
definimos esse valor para menos cinco
em vez de menos dez E fizemos isso
porque queríamos que nosso carro se movesse um
pouco mais devagar do que nossa estrada, o
que deu a ilusão de
que estava avançando Mais uma vez, podemos trocar valor estático
pela nossa variável de velocidade de
movimento Mas para garantir
que ele se mova a
uma velocidade mais lenta do que
nossa estrada e árvores, podemos contratar um operador plus Coloque-o aqui
e digite cinco, já que menos dez mais
cinco é igual a menos cinco, voltamos ao mesmo
valor Então, finalmente, clicando em play, podemos testar se
tudo está funcionando. E sim, nosso jogo está
rodando como antes. No entanto, nosso código agora é
super robusto e adaptável. Então é hora de passar
para a parte divertida. Trabalhamos muito para
reestruturar nosso código, mas nosso jogo basicamente funciona
da mesma forma que tínhamos Vamos ver como
podemos usar esse código novo e aprimorado
adicionando níveis ao nosso jogo. Mas antes de mudarmos alguma coisa, vamos primeiro criar um novo sprite Agora, realmente não
importa qual sprite você selecionar e você
verá y em um segundo Mas depois de
selecionar o sprite, também
podemos acessar
o editor de figurinos,
selecionar o objeto inteiro
e clicar em backspace Você provavelmente está realmente
confuso agora. Mas, basicamente, o que
vamos fazer é usar o sprite para definir todas as
nossas variáveis em nosso jogo Agora, isso é bom porque temos um espaço onde
todas as nossas variáveis são definidas, o que facilita
alterar valores, atualizar e fazer
alterações em nosso jogo. Além disso,
nos mantém super organizados. Além disso, quem não gosta
de ser organizado? Bem, pelo menos quando
se trata de programação. Então, primeiro de tudo, vamos adicionar nosso
bloco mais importante ao clicar em Iniciar. Descendo até nossas variáveis, vamos arrastar dois desses blocos de valores variáveis
definidos, e aqui podemos definir a velocidade de geração e a
velocidade de movimento O que queremos fazer é apenas
configurá-lo para o valor atual que
temos agora para garantir que nosso jogo sempre
comece com a velocidade. Isso é 0,6 e menos dez. Agora, para aumentar a dificuldade, tudo o que você precisa fazer é pegar um bloco de peso em loop
eterno
e, em seguida, dois deles
mudam variável por bloco. Com isso, podemos definir
nosso peso para 8 segundos. Então, podemos definir esse
bloco para alterar a velocidade de
desova e o outro
para alterar a velocidade de movimento Portanto, para nossa variável de
velocidade de desova, ela está atualmente definida como 0,6 Então, nós só queremos fazer
pequenos ajustes aqui. Então, o que vou fazer é alterar
a velocidade de desova em -0,02. Dessa forma, nossos carros
começarão a aparecer lentamente mais rápido. Então, para nossa velocidade de movimento, podemos alterar esse
valor em menos um Agora, antes de clicarmos em play, vamos entender
rapidamente
o que está acontecendo aqui. Em primeiro lugar, nosso jogo está configurado para
sua velocidade inicial de nível um. Então, a cada 8 segundos, diminuímos lentamente o
tempo necessário para que nossos
carros apareçam
e também diminuímos nossa velocidade de
movimento em menos um, e também diminuímos nossa velocidade de
movimento em menos um, que faz com que nossos carros
e os obstáculos
pareçam estar se movendo
cada vez mais rápido à pareçam estar se movendo medida que
o jogo Agora, desta vez, se
jogarmos o jogo, você notará que a
cada 8 segundos, esses valores diminuem e nosso jogo começa a ficar cada
vez mais rápido. Agora, antes de
concluirmos esta lição, vamos adicionar rapidamente
um elemento de pontuação a este jogo para nos gabarmos. É
claro, para fazer isso, tudo o que precisamos fazer é criar uma nova variável que
podemos chamar Em seguida, podemos adicionar uma pontuação
definida a zero, como fizemos com
essas variáveis. Finalmente, a cada 8 segundos, podemos mudar
a pontuação em, digamos 43, porque quem não gosta de uma pontuação grande
para motivá-lo Antes de clicarmos em Reproduzir, vamos ocultar
rapidamente essas
outras variáveis
e, em seguida, mover nossa
variável de pontuação para o topo. Além disso, podemos clicar
duas vezes nele, para que ele seja exibido como
um grande número. Bem, com tudo isso feito, agora
temos uma
dificuldade crescente, uma pontuação
e, o mais importante, um código super
robusto que nos permite ajustar valores em
todos os nossos espaços com facilidade. Agora, para a parte
mais importante, continue jogando
até
atingir uma pontuação alta o suficiente para
se gabar Bem feito. Você está
realmente indo muito bem.
37. Mini desafio: como integrar variáveis para mecânica de jogos aprimorada: Agora é a hora de
testar suas incríveis habilidades de
programação. Este é o seu mini desafio. Se você se lembra de
nossa primeira aula, discutimos um
processo de três etapas que poderíamos usar ao desenvolver jogos,
que consistia em primeiro lugar configurar a estrutura básica, que é importar nossos sprites,
entender o que
o sprite deveria fazer
e, em geral, como nossos
jogos Em segundo lugar, desenvolver a mecânica de
jogo, que é basicamente todo o nosso
código que dá aos nossos jogos sua funcionalidade, como
carros de obstáculos se movendo pela estrada
ou nossa carta de jogador, movendo-se da esquerda para a direita Em terceiro lugar,
aperfeiçoar o jogo, e essa é uma etapa em que
estamos praticamente agora Estamos em um ponto em que
nosso jogo está ótimo, mas só precisamos
dar um toque extra. E uma maneira de
fazer isso é adicionando música e efeitos sonoros. Então esse é o seu desafio. Eu quero que você descubra
uma maneira de adicionar um som quando
um carro com obstáculos passa pelo carro
do nosso jogador a uma curta distância Então, assim como se você estivesse em uma estrada e ouvisse
um carro passando em alta velocidade, ele emitiria esse
som ao passar Então, eu quero que você faça o
mesmo com este jogo. Duas dicas que darei são que o som que você deve usar é chamado de carro. Você precisará
usar código
dentro do grupo de detecção Com isso, pause o
vídeo e tente
ver se você consegue adicionar o
efeito sonoro ao seu jogo. Ok. Bem, como foi isso
? Porque pode não ser tão simples
quanto você pensava. Bem, vamos fazer isso t. A
primeira coisa que vamos
fazer é selecionar nosso sprite do carro de
obstáculos pois esse será o
sprite fazendo o Em seguida, vamos clicar
na guia de som e escolher o som que
eu mencionei carvem Agora, com isso adicionado ao nosso
sprite, podemos começar a trabalhar. Então, queremos que esse clone
interaja com nosso sprite do elenco e faça com que ele reproduza o som quando chegar Portanto, podemos utilizar
esse loop eterno encontrado quando eu começo
como um script de clone Aqui, o que precisamos
é verificar se nosso sprite clone uma certa distância
do nosso sprite lançado Então, podemos ir até
a aba de detecção e pegar esse bloco que é
chamado de distância dois Aqui, podemos alterar a entrada
do ponteiro do mouse
para o carro do jogador E então o que precisamos
é menor que o operador, então podemos pegar um desses, assim como você vê o código aqui, quando nosso y é menor
que menos dois dez, nosso cone se exclui Em vez disso, podemos verificar se a distância do
carro do nosso jogador é menor que 90
e, se for, podemos fazer com
que ele reproduza o som. Então, tudo o que precisamos fazer é
pegar um if condicional
e, em seguida, iniciar o código de som Em seguida, junte tudo
e, finalmente, arraste
esse bloco inteiro dentro do nosso loop eterno. Agora, apertando play,
como você pode ver, quando passamos por um
carro bem perto, ele agora emite um som Sim, você notará que
parece que está um
pouco errado, e isso
ocorre basicamente porque nosso código continua reproduzindo o som continuamente até que nosso carro esteja fora de alcance Mas não se preocupe com
isso agora, pois quando adicionarmos nossa música de
fundo em breve, tudo se encaixará. Bem, é isso. Com isso, nosso carro de obstáculos tem um efeito
sonoro bacana, experimente Se você não conseguiu,
porque na próxima lição, adicionaremos
alguns toques finais que completarão nosso jogo
38. O toque final: jogabilidade enriquecedora com efeitos sonoros e música: Bem, é isso. É hora de acabar com
isso. Então, para finalizar este jogo, vamos adicionar mais
alguns efeitos sonoros
e, em seguida, adicionar um pouco de música de
fundo. Então, vamos começar com o
mais fácil, porque, quero dizer, quem não gosta de fazer
as coisas mais fáceis primeiro. Mas queremos adicionar um
bom som de fundo
ao nosso projeto. Então, clicando em nossos
cenários, à direita, podemos adicionar uma quando a
bandeira clica e uma para
voluta. Em seguida, passar para a guia de sons e
passar
o mouse sobre Em seguida, podemos selecionar o upload do som. E aqui podemos selecionar um som de fundo da
nossa pasta de músicas e
efeitos sonoros. Para este jogo,
podemos usar o funk casino. Voltando ao nosso código, podemos arrastar o som de
reprodução até terminar o bloco e
selecionar funk casino ou qualquer som que você enviar E apertando play. Observe
como isso é muito melhor. E também observe como
nosso efeito sonoro para nosso carro funciona muito melhor. Na verdade, soa muito bem. Então, feito isso, vamos passar
para nosso próximo efeito sonoro,
nosso efeito sonoro de derrapagem de carro E aqui, basicamente, o que
queremos que aconteça
é que nosso carro um som de derrapagem quando
batemos em um Então, passando para o sprite
do nosso player car, podemos adicionar esse som Então, clicando na
guia de sons e escolhendo um som, podemos pesquisar por skid O que é um balanço aqui. Então, selecione-o e
volte para o nosso código. Agora, o que queremos é
que nosso carro toque esse som de derrapagem ao tocar em
um Então, se você olhar
o roteiro aqui, esse é basicamente
o script que detecta se nosso carro está
tocando em um obstáculo Então, tudo o que precisamos fazer é adicionar esse som de play skid
ao início de cada uma
dessas verificações Então, adicionando um a cada um. Em seguida, podemos clicar em play.
Atingi-lo é um obstáculo Sim. Isso não está certo. Mas, basicamente, o que
está acontecendo é som do play skid
está interferindo nosso outro código, porque se
você olhar o script, ele reproduz o
som do skid até terminar antes de passar para
os próximos blocos Então, para corrigir isso, tudo o que precisamos
fazer é remover todos esses sons de
reprodução de derrapagem até que estejam prontos e
substituí-los por essa derrapagem de som inicial E com isso,
podemos jogar novamente. É um obstáculo. Então você
tem. Isso é muito melhor. Agora, antes de
concluirmos esta lição, há apenas mais uma coisa, que é mudar o
tom do nosso carro de obstáculos medida
que esses carros
passam em uma velocidade mais rápida, soem mais rápido também. Então, indo até o sprite do nosso carro de
obstáculos, tudo o que precisamos fazer
é pegar uma bandeira de vitória, clicar, definir bloco de
pitch e definir
o tom para zero, que é basicamente configurá-lo para o padrão quando o jogo começa Em seguida, pegue um loop eterno. E então podemos colocar esse efeito de
mudança de tom por bloco dentro do nosso loop. E, finalmente, para garantir que o tom não
fique extremamente alto instantaneamente. Podemos adicionar um bloco de peso
e alterá-lo para,
digamos, 10 segundos. Vou deixar você testar isso
por si mesmo, porque
chegamos ao final de nossa aula
e ao final de nossa seção e concluímos este jogo. Realmente, um ótimo trabalho
para chegar até aqui. Você certamente
conquistou muitas coisas. Então, dê uma boa almofada nas costas, porque você
realmente merece.
39. Como embarcar na aventura de esqui arcade: conceituando a obra-prima: Bem, este é um momento emocionante porque este é o começo
de sua próxima obra-prima Como nesta lição, começaremos a
desenvolver nosso próximo jogo. Eu odeio dizer isso, mas este envergonhará todos os seus
projetos anteriores Vamos fazer isso. E eu acho que
agora, você sabe o que fazer. Primeiro de tudo. Vamos começar criando
nossos novos projetos. E, assim como todas
as outras vezes, podemos fazer isso simplesmente
clicando neste botão aqui. Agora, antes de fazermos qualquer coisa,
se você olhar para o topo aqui, você pode ver que nosso projeto
se chama apenas sem título, que é um pouco sem inspiração A primeira coisa que podemos
fazer é renomear isso para arcade ski Adventure,
ou o que você quiser Mais uma coisa, você pode excluir
esse padrão no sprite, pois definitivamente não
precisamos dele neste projeto, nada de esquiar para o gato Agora, sem isso esclarecido. Antes de importarmos qualquer
sprite ou
fazermos qualquer coisa, precisamos ter uma visão geral
de
alto nível do nosso jogo para
entender
o que é, o que faz e quais etapas podemos
tomar para conseguir isso Porque lembre-se de
que é importante
dividir um grande problema
em etapas viáveis Discutimos como podemos seguir um fluxo de trabalho de três etapas
ao criar jogos
, configurando a estrutura
básica do jogo
, desenvolvendo a mecânica de
jogo e, finalmente, aprimorando o Agora, essas três etapas são legais. Mas, embora esse método funcione
muito bem para jogos menores, para projetos mais ambiciosos, precisamos de um
plano de ação mais detalhado. Então, deixe-me apresentar a você o processo expandido de cinco etapas, feito
sob medida para jogos maiores, e seguir este
guia o
ajudará muito com os jogos,
aplicativos e animações
empolgantes que você
produzirá no futuro Estágio um, ideias e design. Nesse estágio,
tudo gira em torno de ideias. Imagine isso como esboçar a
planta do nosso jogo. Qual é o enredo? Que tipo de personagens estamos vendo? Qual é o tema central. Ao final dessa fase, teremos uma ideia abrangente de design de
jogo que descreve tudo
sobre nosso jogo Etapa dois,
estabelecendo a base. Pense nisso como colocar os tijolos e a
argamassa para o nosso jogo Assim como antes,
aqui
importaremos todos os sprites de que você precisa e depois os
distribuiremos, para que você tenha uma ideia melhor
de como tudo funcionará Etapa três, desenvolvendo a mecânica
básica de jogo. Aqui nosso jogo começa
a dar sinais de vida. É aqui que a ação real começa, codificando o movimento do jogador, definindo a lógica do jogo,
projetando níveis e tudo o que torna
nosso jogo, bem, um jogo Estágio quatro, aprimoramento
e expansão. Agora que temos
um jogo jogável, é hora de adicionar camadas a talvez um novo nível ou
a um inimigo desafiador ou até mesmo a um power-up surpresa Esta etapa consiste em adicionar recursos e atualizar nosso jogo Então, quando você chegar ao estágio quatro, você precisa
voltar ao estágio um. Então, digamos que queremos um
novo inimigo em nosso jogo. Aqui, você teria que
voltar ao estágio de design, depois importá-lo e depois
desenvolver como mecânico,
se você entendeu E, finalmente, a quinta etapa,
polimento e finalização. Esse é o toque final. Vamos refinar os gráficos, introduzir efeitos sonoros,
ajustar a interface do usuário e testar rigorosamente
nosso jogo para resolver quaisquer bugs e melhorar a experiência
geral do usuário Então, seguindo o processo
estruturado de cinco etapas, garantiremos que nossa jornada de
desenvolvimento de jogos seja organizada, eficiente e,
o mais importante, agradável E lembre-se de que todo grande jogo começa com uma ideia simples. Com um planejamento cuidadoso e uma execução
passo a passo, realmente não
há limite para
o que podemos alcançar. Mas com tudo isso resolvido, vamos começar com o primeiro passo. Isso deve ser rápido
o suficiente, porque já
sabemos o que
queremos para o nosso jogo. Basicamente, queremos algo não muito diferente
do nosso último jogo. Aqui vamos ter
esses obstáculos que vêm em nossa direção e que
precisamos evitar Novamente, daremos ao
jogador a ilusão de movimento. Mas desta vez,
parecerá que eles estão esquiando em uma montanha em uma
floresta Aqui, queremos que as
árvores desapareçam e que nosso jogador tenha
um bom efeito de giro Também queremos que nosso jogador tenha pixels de
neve que os sigam, que devem parecer marcas de esqui você veria na neve normal. E é basicamente isso
na primeira parte do nosso jogo. Em seguida, adicionamos coisas novas,
como uma tela inicial, um botão de reinicialização e outras coisas interessantes que podemos revisitar nessas primeiras etapas Mas prepare-se porque
, na próxima aula, incorporaremos
todos os nossos sprites
40. Como estruturar o estágio: como importar o Arsenal: Bem, é hora da segunda etapa, que é organizar adequadamente nosso projeto importando
todos os nossos sprites Agora, lembre-se de
que, nesta fase, não
importaremos nosso
verde inicial e outros
recursos para o jogo. Lembre-se de que, com nosso fluxo de trabalho, discutimos antes,
faremos isso mais tarde. Isso também torna as coisas um
pouco menos opressoras. Dito isso, no entanto,
se você não quiser acompanhar e
importar manualmente essas coisas, você também pode baixar a versão
inicial do projeto
e, assim como antes,
clicar neste botão depois clicar em carregar
do seu computador Em seguida, selecione o projeto
inicial. Aqui, você verá que
temos todos os nossos sprites prontos para uso,
sim, isso também inclui nosso sprite da tela inicial
e nossos botões Dito isso, no entanto, quero você aprenda o
processo de desenvolvimento de um jogo adequadamente para que você possa fazer isso sozinho e
praticar leve à perfeição. Vamos fazer isso da maneira correta. Agora, vamos trazer
nosso primeiro sprite. Clicando neste botão aqui, podemos selecionar nosso sprite de jogador, que está localizado
sob esta pasta Como você pode ver, existem três
sprites diferentes para escolher E isso é porque existem
esses trajes diferentes. Podemos simplesmente selecionar
qualquer um deles , pois adicionaremos o
resto agora. Abrindo. Aqui, você
verá o sprite do nosso jogador Agora, antes de adicionarmos os obstáculos, vamos adicionar rapidamente as outras
roupas para o sprite Passando para a guia de fantasias e clicando aqui,
podemos selecionar as
outras duas roupas. Feito isso, agora podemos
importar nosso sprite de árvore, que são os
obstáculos em nosso jogo Clicando neste botão
aqui e,
em seguida, indo para nossa pasta de
sprites de árvores aqui Assim como antes, podemos selecionar qualquer um desses sprites de
obstáculos Depois de fazer isso,
podemos ir até a guia de fantasias e
selecionar o resto delas. E aí está. Temos
todos os nossos sprites prontos para começar E antes de passarmos
para o nosso sprite final, precisamos fazer algumas
modificações, é por isso
que essa fantasia de arbusto
é muito grande, então podemos simplesmente selecioná-la
e reduzi-la assim Além disso, podemos fazer o mesmo com essas pedras,
pois elas também são, mas grandes. Ok, bom. Então, antes de adicionarmos
nosso sprite da neve, vamos dimensionar essas árvores que pareçam corretas,
porque, como você pode ver, elas definitivamente ainda são adequadas
para nosso sprite de árvores, digamos que tenha um tamanho de 50, o
que parece muito menor
em comparação com nosso jogador, que realmente não faz sentido menos que nosso jogador seja
algum tipo de gigante Digamos que o sprite do nosso
jogador, muito menor, digamos 17 Agora, como você pode ver
, parece muito melhor. A última coisa são
nossos pixels de neve. E desta vez,
vamos fazer o nosso. Agora, para fazer isso, em vez de
selecionar Escolher um sprite, vamos clicar
neste botão aqui, o que nos permite criar nossos
próprios sprites Com isso, podemos selecionar
a forma quadrada. Antes de fazer qualquer coisa,
precisamos mudar
a cor para ficar mais
cinza como a neve. Selecionando este botão aqui, podemos diminuir a saturação
e o brilho Como você pode ver, temos
uma bela cor cinza. Com isso, podemos desenhar um pequeno quadrado bem
no meio da tela, basicamente porque queremos que seja
como uma trilha de neve, podemos diminuir o tamanho, e aqui é só brincar com ele até encontrar algo
que pareça certo. Parece que está tudo bem. Com isso, precisamos de mais pixels de neve
para o outro esqui. Mas em vez de fazer
tudo isso de novo, podemos simplesmente apertar esse botão de
duplicação E já que estamos nisso, vamos
dar aos nossos sprites um nome como pixel de neve um
e pixel de neve dois Então você tem.
Todos os nossos sprites são importados e estão prontos
para ganhar vida. Então, prepare-se porque as próximas aulas serão muito divertidas.
41. Como iniciar o movimento: como criar a dinâmica do jogador: Certo. Então, temos todos os
nossos sprites em ordem e estamos prontos para começar a trabalhar em nossa mecânica de
jogo E, para começar, vamos fazer nosso sprite de jogador funcionar Agora, só para que possamos
nos concentrar em uma coisa. Vamos ocultar rapidamente
esses outros sprites clicando neste ícone aqui, e podemos fazer o mesmo com isso E lá vamos nós. Agora, vamos mover nosso sprite de jogador principal para baixo na tela em algum lugar próximo a menos
um a cinco. Lá vamos nós. Então, temos nosso sprite de jogador para poder se mover da esquerda
para a direita na tela.
Felizmente, sabemos
muito bem como
fazer isso por causa do nosso último
projeto, lembra Vamos inserir os blocos
básicos mais uma vez, o W começa para sempre e o F
e também o bloco F L. Para fazer com que nossa placa
se mova para a esquerda ou para a direita, podemos pegar dois desses blocos de código pressionados por
teclas e alterá-los para a esquerda
e o outro para a direita. Então, podemos
colocá-los em cada uma
dessas entradas F e
estruturá-las exatamente como fizemos antes Agora, antes de adicionarmos nossa mudança x por e direção do
ponto, vamos duplicar
esse script aqui Basicamente, estou fazendo isso para que possamos ter dois scripts
separados, um que controla nossa direção de
apontar e outro que
controla nosso movimento. Isso mantém nosso código
muito mais organizado, garantindo que cada script que temos não
tente fazer muitas coisas. Isso é chamado de
componentização na programação e é um conceito
muito importante Também torna nosso
código mais reutilizável, pois podemos criar scripts
que fazem certas coisas bem
e, em seguida, podemos usar o
script em diferentes projetos Em comparação com se
tivéssemos apenas um roteiro longo e emaranhado que fosse específico
apenas para um projeto Como se pudéssemos usar esse
roteiro de movimento em outro lugar. Mas se tivesse a direção do
ponto com o movimento integrado, seria muito mais
difícil usá-la com outro código. Então, vamos começar com
nosso roteiro de movimento. Então, eu cliquei com a seta para a direita, podemos mudar x por dez, se a seta esquerda clicar, podemos mudar x por menos
dez e clicar em play Como você pode ver, nosso
movimento funciona
e, sim, é um pouco difícil. Mas vamos melhorar isso em breve para que pareça mais suave. Mas, por enquanto, vamos
continuar com isso. Vamos fazer nossa
animação de direção funcionar agora. Basicamente, como fizemos antes, se a seta direita clicar, podemos adicionar essa direção de
ponto e apontar para a direita e
se a seta esquerda clicar, podemos apontar para a
esquerda desse jeito Vamos experimentar isso.
Ok. Isso não está certo. E se você se lembra de antes, porque a posição do nosso
traje de Sprites não
está voltada para a direita,
temos esse problema Agora, em vez de mudar a direção do figurino e o
editor, como fizemos antes, vamos ver outra solução. Aqui, podemos simplesmente
definir o ponto direito para um oh cinco e apontar
para a esquerda para 75 e avançar para 90
graus e clicar em play. Você vê que isso funciona. Embora seja uma prática melhor
mudá-lo, como fizemos antes. Mas, como eu disse, se não está
quebrado, não conserte. Feito isso, tudo o que precisamos
fazer é trocar a roupa. E isso é bastante fácil. Então, se clicarmos na seta para a direita, podemos mudar o traje
para a direita e o L para o traje Ford e o da
esquerda para o traje esquerdo. Exatamente desse jeito.
Fácil demais. Clicando em reproduzir. Como você pode ver,
parece muito melhor, mas eu encorajo você a
brincar com o código, ver se você pode
ajustá-lo para ficar ainda melhor, porque estamos
apenas começando
42. Como melhorar o realismo: como dominar a dinâmica de esqui: É hora de fazer com que
nosso personagem de esqui pareça mais como se estivesse realmente esquiando e menos como
se estivesse dirigindo Porque agora,
nosso personagem apenas se move para a esquerda e para a direita,
de forma semelhante ao nosso carro. No entanto, o que queremos é poder quase planar
como se você estivesse na neve, ou
seja, se nos movermos para
a esquerda e soltarmos Akes, ele deve continuar
deslizando um pouco,
enquanto que, no momento,
nosso personagem simplesmente para enquanto que, no momento,
nosso personagem simplesmente Então, como podemos conseguir esse movimento de giro mais dinâmico e
suave E, a princípio, pode
parecer que não há uma resposta
óbvia aqui. Você pode estar pensando em usar
esse bloco deslizante aqui, mas você só pode deslizar para
uma posição específica e não
pode simplesmente mudar sua posição
com um movimento de deslizamento No entanto, a programação tem
tudo a ver com a resolução de problemas. Usando as ferramentas que temos, e uma dessas
ferramentas são variáveis. Aqui, há muitas
coisas que as variáveis podem fazer. Vamos ver como podemos
usá-los a nosso favor. Vamos criar uma
variável e a
chamaremos de direção do movimento. Agora, voltando ao
nosso script aqui, vamos remover essa alteração x by nas instruções
DF e arrastar uma
delas para o loop de quatro Eu sei que isso parece estranho,
mas tenha paciência comigo. Em seguida, arraste essa
direção de movimento até a alteração x by. Agora, finalmente, se a seta para a
direita for clicada, quero mudar a direção do
movimento em uma Se a seta esquerda for clicada, quero alterar a
direção do movimento em menos E espero que isso esteja
começando a fazer sentido, porque basicamente o que está
acontecendo no roteiro é nosso personagem está sempre se movendo na direção
dessa variável. E o valor dessa
variável é determinado se clicarmos
na seta para a esquerda
ou para a direita. Então, vamos testar isso. Então, como você pode ver, quando
clicamos à esquerda ou à direita, nossa
variável de direção de movimento sobe e desce. Além disso, como você pode ver, movimento do
nosso jogador
é muito mais suave e parece muito mais
com um esqui real No entanto, há um
problema que você pode notar. E se soltarmos nossas
teclas depois de virar, nossa jogada continua se movendo direção
em que estava indo, o que definitivamente não é o Então, para corrigir isso, precisamos de uma maneira de nossas variáveis retornarem
automaticamente a zero. E você pode estar pensando: Oh, vamos colocar isso
dentro do nosso bloco de esclerose lateral. Bem, testando isso, você verá. Se esquiarmos para a esquerda e formos,
bem, isso é um pouco duro. Ou você notará que, se
esquiarmos para a direita
, quase entrará em câmera lenta. Bem, isso é só
porque nosso script F está mal configurado porque,
se você olhar para ele, temos uma instrução F L e
uma instrução if abaixo dela, que nunca é algo que
você deve fazer, pois o L deve sempre ser o último na verificação
condicional Vamos corrigir esse erro agora. Para corrigir isso, tudo o que
precisamos fazer é pegar outro bloco if L. Em seguida, coloque esse código dentro, livre-se da instrução if
e, finalmente, coloque todo
esse código dentro do nosso F L. Agora, se você olhar para
ele, você pode ver que nosso LS é a condição
final. Se jogarmos, ele não
vai em câmera lenta, embora ainda tenhamos o
mesmo problema severo de parada. Mas antes de corrigi-lo, vamos corrigir
rapidamente esse outro script, como você pode ver, cometemos
o mesmo erro aqui, muito melhor e com um código muito
mais limpo. Agora, vamos resolver o último problema de nosso personagem
parar quando nos soltamos. A primeira coisa que
podemos fazer é eliminar essa
direção
de movimento definida para zero, e aqui precisamos de uma maneira de trazer lentamente nossa
variável de volta a zero. A melhor maneira de fazer
isso é usando nossa velha amiga matemática,
mas, felizmente, não
do tipo difícil Então, vamos precisar de mais
alguns cheques. Vamos primeiro pegar mais
um desses, se blocos, e um bloco F. Vamos colocar o
primeiro aqui dentro, e o segundo
dentro deste. OK. Para este primeiro bloco F n, basicamente
queremos verificar se nossa direção de movimento já
é zero. E se for, não
queremos fazer mais nada. Então, para fazer isso, vamos
pegar alguns blocos aqui, que são as duas variáveis de
direção do movimento, uma maior, uma
menor que e um bloco Então, podemos conectar
tudo isso desse jeito. E aqui queremos verificar se
nossa direção de movimento é maior que 0,1
e menor que -0,1 E o que isso está fazendo
é basicamente verificar se nossa direção de movimento não
é igual a zero. Então, podemos colocar isso em
nossa primeira condição F. Agora, para a próxima, simplesmente, podemos simplesmente duplicar isso aqui, colocá-lo dentro da nossa instrução F e defini-lo como zero Basicamente, agora, se a
direção do movimento for menor que zero, queremos mudar o movimento por um número positivo para trazê-lo de volta
lentamente. Digamos que 0,2. Então, finalmente, nesta declaração L, podemos mudar a
direção do movimento em -0,2 Tudo isso pode parecer
um pouco confuso. Mas se você olhar para isso como um
todo, não é tão confuso. Passe por isso do topo. Basicamente, primeiro
detectamos se nosso
sprite está se Se for, então
queremos desacelerá-lo. Se estiver se movendo para a esquerda, diminuímos a velocidade
aumentando esse número. Caso contrário, se estiver se
movendo para a direita, diminuímos esse número. É basicamente isso.
Vamos tentar. Esquiar para a esquerda e para a direita
está funcionando bem. Então, soltando nossas chaves. Como você pode ver, nosso jogador lentamente para de forma perfeita. Agora podemos ocultar nossas variáveis de
direção de movimento ,
pois tudo está funcionando. Esse é o fim
desta lição. Eu sei que pode ter sido
confuso Então, o que eu quero que você
faça agora é raramente dar uma boa
olhada no script para entendê-lo
melhor. Também brinque com isso. Mude alguns valores e veja o que acontece, porque é disso
que trata o aprendizado. Você sempre pode pressionar
o botão mágico, os comandos ou o controle
para fazer o que você fez. Desfaça até descobrir.
43. Como melhorar as árvores: aproveitando insights passados: Ok, então nosso sprite de jogadores
está muito bom. Acho que é hora de passar para nosso sprite de árvores e folhagens Agora, esse processo
também será bastante
semelhante ao nosso sprite de
obstáculos de carro do nosso jogo anterior, então podemos pegar esse conhecimento
e implementá-lo É disso que
trata a programação. Usando o que você aprendeu
e aplicando-o em diferentes cenários para
resolver problemas diferentes. Em primeiro lugar, vamos clicar neste botão aqui para que
possamos ver nosso sprite novamente. Agora, poderíamos seguir em frente e criar todo esse
código do zero, mas eu quero
te mostrar algo interessante. Se você olhar para baixo na
parte inferior da tela, verá que existe botão
que diz mochila E se você clicar
nele, verá que ela abre essa janela
na parte inferior. E, basicamente, isso é um lugar onde você pode armazenar scripts e
reutilizá-los em outros lugares Porque lembre-se de
como eu disse anteriormente, como criar
código reutilizável é tão Bem, aqui, você vai ver. Se voltarmos para
nossa corrida de trânsito novamente e depois para nosso sprite de carros, o que podemos fazer é
abrir nossa mochila e ver o script
aqui que controla
os carros clones, fazendo-os deslizar até a
parte inferior da O que podemos fazer é arrastar o script
até aqui em nossa mochila Como também precisamos do script que cria os clones, também
podemos pegá-lo Antes de fazer isso, remova esse bloco da
declaração de peso e arraste-o. Agora podemos colocar esse bloco de volta. Dessa forma, não
temos todo esse código que não precisamos
em nossa mochila Agora, voltando ao nosso jogo de esqui, talvez
você precise fechar e reabrir a mochila para
atualizá-la, e aí Agora, tudo o que precisamos
fazer é arrastá-lo para dentro e podemos fazer o
mesmo com o script. E aí está. Você verá aqui o que
traz suas variáveis, que são movimento e velocidade, e você pode realmente
mantê-las , pois as usaremos neste jogo. Antes de editarmos o script, vamos esclarecer
outro princípio fundamental de programação, a compartimentação Sim, eu sei que
parece uma palavra grande, mas é importante. Vamos tentar
entender o que isso significa com uma visualização
do mundo real Imagine seu jogo como uma
grande cidade movimentada. Agora, em uma cidade, você não
misturaria as casas, os escritórios,
as indústrias e
os parques em um só
espaço, não é Em vez disso, você
os dividiria em distritos
ou compartimentos, teria zonas residenciais e zonas
industriais e zonas comerciais, parques, etc Essa é a essência da codificação de
compartimentação. Ao segmentar nosso código em seções
ou compartimentos
distintos, cada um dedicado a uma função ou tarefa
específica, e fazendo isso,
obtivemos dois Primeiro, um código se torna muito
mais organizado e gerenciável. Assim como as autoridades municipais
precisariam apenas
revisar e gerenciar um
distrito específico para qualquer mudança, os desenvolvedores podem se concentrar em compartimentos
individuais do código sem se
sobrecarregarem com a
totalidade do Em segundo lugar, essa abordagem
ajuda muito na criação de código reutilizável Agora, quando as seções de código são compartimentadas de forma eficaz, elas geralmente podem ser
coletadas e colocadas em outro projeto, o que pode ser apenas alguns
ajustes mínimos, assim como reutilizamos o código de obstáculo do
nosso Neste ponto, quero
mostrar como podemos fazer o mesmo com nosso jogo Traffic Racer para oferecer uma atualização rápida Então, se formos ao nosso sprite de jogador
principal, abra nossa mochila e
arraste o script para dentro dela Em seguida, podemos voltar ao
nosso jogo de corrida de trânsito, atualizar a mochila e arrastar o script para o sprite principal do
carro Então, podemos remover
todos esses blocos change x do
script dessa forma. Agora, ele mudará x direção do
nosso movimento,
assim como com nosso jogo de esqui e rebatidas Bem, isso funciona um pouco. O único problema é que a direção do
nosso carro parece um pouco estranha. Então, para consertar isso. Também podemos simplesmente inserir essas variáveis de
direção de movimento em nossa direção de ponto. Então, dessa forma, nosso carro fica voltado para
o lado em que está girando. Então, clique em play mais uma vez. Bem, isso é muito melhor e adiciona um
elemento totalmente novo ao nosso jogo. E foi muito rápido. Esse é o poder
do código reutilizável na Mas com tudo isso dito,
vamos voltar ao nosso jogo de esqui e também
ao nosso sprite das árvores Agora, tudo o que precisamos fazer é editar um pouco
o script para que ele
funcione melhor neste jogo, assim como fizemos com
o jogo de trânsito. Então, podemos trocar as
roupas do Switch para escolher de 1 a 11, e essa é a quantidade de
roupas que temos Então, podemos remover tudo isso, pois não
temos mais
faixas com que
nos preocupar, mas podemos simplesmente colocar uma escolha aleatória para nossa entrada x e deixá-la
entre menos 22220 Então, podemos remover essa variável de velocidade de
movimento do código e
configurá-la para menos nove Em seguida, podemos definir o tamanho para
50, pois é nosso tamanho atual. Finalmente, podemos remover a condição que faz
a sala de escultura soar Experimentando, como
você pode ver, as árvores caem bem e começam a parecer um
pouco mais como esquiar No entanto, há um problema, que você
deve ter notado, é que o sprite de pedra parece ficar preso na
parte inferior da tela Bem, podemos corrigir isso
acessando o editor de figurinos usando a ferramenta
de seleção, clicando em nossa pedra e
arrastando-a para cima Agora você notará que ele
deve parar de ficar preso. Mas se o seu
ainda estiver preso, basta movê-lo um pouco mais alto,
da mesma forma que para qualquer outro sprite
que esteja adquirindo estruturas,
continue movendo-as para cima da mesma forma que para qualquer outro sprite que esteja adquirindo estruturas, até que
parem de ficar presas Mas aí está. esquiando em algumas encostas frescas Você parece absolutamente
natural.
44. Como criar trilhas para neve: simulando marcas de esqui: É hora de fazer nosso jogo de esqui parecer um
jogo de esqui. A maneira mais fácil de fazer isso é
adicionando uma trilha de neve ao
nosso personagem principal Nesta lição, veremos
como podemos converter esses pequenos quadrados em um efeito de trilha de neve.
Primeiro de tudo. Vamos passar para um dos
nossos sprites de pixels de neve. Agora, vamos pensar no
que precisa acontecer. Basicamente, queremos que esse
bloco cinza vá para o nosso esqui esquerdo. Então, quando estiver na base
do nosso esqui, queremos que ele deslize para baixo. Obviamente, isso
realmente não funcionaria se
tivéssemos uma, pois não teríamos
realmente uma trilha Assim como antes, podemos
aproveitar a clonagem
para criar esse efeito Para economizar tempo, vamos
até nosso sprite de árvore e arrastemos aqui o script que cria clones em
nosso sprite de pixels Agora, para a próxima
parte, podemos arrastar quando eu iniciei
um bloco de clones Agora, o que queremos é que esse
pixel vá para o nosso lado esquerdo, para que possamos primeiro mostrá-lo
como está oculto no momento. Então, podemos ir para o nosso grupo de
movimentos e arrastar esse bloco de movimento Em seguida, selecione nosso lugar de jogador. Então, o que queremos que aconteça
é que nosso pixel comece a se mover para baixo para fazer
parecer que estamos avançando. Agora, uma maneira fácil de fazer isso é
pegar um bloco repetido
e colocar uma alteração
y por bloco dentro. Aqui, podemos alterar
y por menos cinco
e, finalmente, podemos
excluir o clone Fazendo um teste para isso. Bem, como você pode ver,
funciona um pouco, mas como temos
um bloco de peso aqui, ele não está surgindo rápido o
suficiente Simplesmente, podemos remover esse bloco e tentar
novamente. Bem, isso é bom. Acho que você
verá que nosso pixel aparece
no meio do nosso personagem
e, como você sabe, queremos que
ele siga nosso esqui É hora de um
pequeno desafio rápido. Pause o vídeo e tente ver se você consegue fazer com que
nosso pixel de neve siga o esqui em vez do meio
do nosso sprite Venha. Pause o vídeo
e experimente Bem, espero que você não tenha
tentado complicar demais esse desafio porque a solução é realmente muito fácil Aqui, tudo o que você precisa fazer é pegar uma alteração x adicionando-a
abaixo do bloco G dois e continuar mexendo
nesse número até obter algo
perfeitamente alinhado ao nosso esquema E agora, para fazer o
outro esqui funcionar. Podemos simplesmente arrastar
esses dois scripts
até nosso sprite aqui,
assim, e depois adicionar essa alteração x by até que ela corresponda à nossa outra forma de esqui Um problema que você
também pode estar enfrentando é o aparecimento de pixels de neve na
frente de seu personagem de esqui E aqui você precisa ir até a
guia Los, definir este bloco para voltar à camada e clicar nele e nem
precisar trazê-lo. Então você o tem com o sprite mais básico
e um código muito simples Veja como
isso torna o jogo muito melhor Agora parece que estamos
realmente esquiando e temos uma trilha que
segue atrás de nós E isso é tudo para esta lição. Mas antes de eu ir, vou deixar
vocês com uma citação de
um programa famoso que é um
tolo que admira a complexidade,
um gênio, um gênio, Lembre-se de que, muitas vezes, o código mais
simples é o melhor código.
45. Otimização de código: como melhorar a mecânica de jogos: Um jogo está realmente
começando a tomar forma. Mas antes de avançarmos
e continuarmos desenvolvendo, precisamos garantir que nosso código seja sempre robusto e
livre de problemas Às vezes, você só encontrará esses erros quando eles
afetarem seu jogo de alguma forma. Porém, quanto mais você
programar, mais você entenderá
como manter seu código limpo. Mas dito isso, vamos
dar uma olhada em nosso código e ver onde
podemos melhorá-lo. Em primeiro lugar, olhando para
nosso sprite de árvores, aqui temos esse peso
codificado de 1 segundo, e isso determina a taxa
de rapidez com que nossas
árvores desovam Se você se lembra de antes, ter valores codificados
nem sempre é uma boa ideia, especialmente se quisermos modificar e atualizar nosso
jogo no futuro Em vez de ter esse valor
codificado, vamos criar uma variável
para ele Vamos chamar essa
variável de taxa de geração
e podemos movê-la para
a entrada de peso de 1 segundo Agora, como nossa
taxa de desova está definida como zero, as árvores
vão simplesmente inundar Mas antes de definirmos
essa variável com um valor diferente, antes, vamos criar um sprite chamado variáveis que podemos usar para controlar todas as nossas variáveis
globais Vou selecionar um
sprite aleatório como esta bola. Renomeie duas variáveis e simplesmente exclua todas
as suas roupas Agora podemos inserir
um clique ao iniciar e, em
seguida, definir nossa variável de
taxa de geração como uma Como se clicássemos em play,
você verá que funciona. Vamos dar uma olhada para ver
onde mais podemos melhorar. Olhando para o sprite do nosso
jogador principal, você verá que
nunca definimos o valor de nossa direção de movimento
no início do jogo Basicamente, você verá que,
se esquiarmos para a esquerda
, pararmos o jogo e
começarmos o jogo, ainda estará esquiando para a esquerda Podemos corrigir isso rapidamente
voltando para nosso sprite variável e definindo nossa
direção de movimento para zero Corrigido. Agora, a próxima coisa que você deve
ter notado é como nosso sprite de jogador pode se mover em velocidades loucas para a esquerda e para a direita, se mantivermos pressionado por tempo suficiente Precisamos de uma maneira de limitar a velocidade
máxima de movimento. Se formos ao Sprite do nosso player, você verá este código aqui: se clicarmos para a esquerda ou para a direita, mudamos constantemente direção
do
movimento em um ou menos Precisamos colocar um limite nisso. Aqui está um mini
desafio para você. Pause o vídeo e
tente ver se você consegue impedir que essa direção
de movimento fique muito alta. Faça uma pausa agora e veja se
você consegue descobrir isso. Você acertou? Bem, vamos dar uma olhada em
como isso pode ser feito. Lembre-se de que, no programa,
geralmente existem várias maneiras de
fazer alguma coisa. Então, se você conseguir
resolver esse problema, mas sua solução
não for
igual à minha, isso
não é um problema. A chave, no entanto, é ter e encontrar a solução mais simples, porém mais
robusta, para os problemas. Então, aqui, dizemos que, se a seta esquerda for clicada, adicionarei outra condição
if que
verificará se o valor não está muito alto antes de
aumentá-lo Também podemos adicionar uma
condição F à seta direita. Agora, o que queremos verificar é se a direção do movimento
é maior
que 18, que
teremos como nossa velocidade máxima. Obviamente, -18
será nossa velocidade máxima
na outra direção Verifique se a
direção do movimento é
menor que -18 assim E se dermos uma chance a isso. Bem, isso não está certo, e aqui temos
um problema simples. Basicamente, só estamos
permitindo que o jogador use
a direção das setas se estiver se movendo a mais de
18 ou menos de 18, queremos que seja o
oposto disso Garantindo que os jogadores não possam ir
mais rápido do que 18 ou -18. Simplesmente tudo o que precisamos fazer
é ir até os operadores, pegar esse nó e colocá-los em cada uma
dessas condições Assim. Agora testando
o jogo novamente. Isso funciona muito melhor. Agora, antes de
encerrarmos este jogo, vamos adicionar rapidamente
algumas funcionalidades para que nossas árvores apareçam
em uma velocidade cada vez maior Para fazer isso, vamos usar uma solução rápida e suja, que é tudo o
que estamos tentando
corrigir nesta lição. Mas isso ajudará você a ver
a aparência de um código incorreto. Além disso, veremos uma solução muito melhor
em uma aula futura Passando para o nosso sprite
variável, aqui, vamos pegar
outro para começar Tudo o que vamos fazer é pegar um peso e, em seguida,
pegar uma variável definida e alterar sua entrada para a taxa de
geração e, em seguida, alterar
o peso para 15 segundos. Agora, para a
parte suja, pegue esse bloco, duplique, pegue-o novamente desde o início e
duplique-o Mais uma vez. Agora vamos
diminuir lentamente a taxa de desova e faremos isso
até chegarmos a 0,3,
começando de um, sem mais
nem Então você pode ver que
foi rápido e fácil. Mas, como você bem sabe, esse definitivamente
não é um código seco, e nós nos repetimos, e esse código é
muito complicado e difícil de atualizar e
manter, como você sabe, então veremos uma solução muito
melhor em Mas, por enquanto, se
experimentarmos este jogo, você notará que a
cada 15 segundos, nossa taxa de desova diminui lentamente e nossas árvores começam a
chegar mais rápido Agradável.
46. Toques finais: como aperfeiçoar seu primeiro jogo: Certo. É hora de
começar a trabalhar. Portanto, nosso jogo está bonito, mas há um recurso importante
que ignoramos, que é a detecção de falhas,
porque, no momento, podemos simplesmente esquiar o quanto
quisermos. Eu gosto de uma árvore, bem, isso não vai nos parar, e seria divertido
fazer isso na vida real. Mas não funciona
assim na vida real, então não deveria funcionar
assim em nosso jogo. Nesta lição,
vamos corrigir isso. Vamos criar um novo
script que
detectará se
colidimos com uma árvore ou não Então, em nosso sprite principal,
é um procedimento padrão. Podemos nos mover em uma bandeira de vitória, clicar em uma condição para sempre e
em F. Agora, podemos
passar para nosso sensor, trazer esse bloco de verificação
tocante e alterá-lo para detectar
nosso sprite arbóreo Então, se essa condição for verdadeira, podemos simplesmente adicionar um
simples stop all. Então, nosso jogo vai parar
se atingirmos alguma árvore. Dando uma chance a isso.
Como você pode ver, estamos esquiando bem Próxima coisa. Se
batermos em alguma árvore. Bem, todos eles desaparecem. Isso é algo que funciona,
mas, como você pode ver claramente, definitivamente
existem
alguns problemas aqui. A primeira é que a forma como as árvores desaparecem e
param é tão repentina. O segundo problema é o quão
sensível esse código é, como se simplesmente chutássemos para o lado
de nossa árvore e o jogo parasse. Ignoraremos o primeiro problema por enquanto, pois veremos uma ótima
maneira de resolvê-lo na próxima essência. Vamos nos concentrar na segunda questão, que é como nosso código
é muito sensível. Aqui está seu mini desafio. Aqui eu quero que você tente encontrar uma solução para nossa
parada ou script. Só é acionado se
tocarmos na árvore por mais de 0,2 segundos Pause este vídeo agora
e experimente. Como você pode implementá-lo Ele só aciona a
parada se tocarmos na árvore por
mais de 0,2 segundos Bem, vamos ver como isso é feito. Felizmente, a solução para
esse problema é bem simples, requer
apenas um pouco
de pensamento criativo Aqui, tudo o que você precisa fazer é selecionar isso se marcar, duplicar, remover a parada e
movê-la de volta para o script, e então podemos pegar
um bloco de peso Aqui, podemos colocá-lo
entre esses dois, se verificarmos. Por fim, podemos
alterá-lo para 0,2 segundos. Agora, se você olhar o roteiro, ele basicamente verifica
se estamos tocando um trio de rock
e, se estivermos, ele espera 0,2 segundos
e depois verifica novamente Se ainda estivermos tocando
nele, perdemos. Então, é tão simples quanto isso. Basicamente, isso significa tornar a detecção de falhas
menos sensível.
47. Noções básicas de detecção de acidentes: como implementar a lógica de colisão inicial: Então, como você sabe, quando
batemos em uma árvore, elas simplesmente não podem desaparecer, o que realmente
não é o que queremos. Em vez disso, queremos que as árvores
cresçam lentamente até ficarem quentes. Agora, se você olhar o script que
temos aqui, basicamente, quando tocamos no
sprite da árvore, simplesmente paramos tudo, e isso interrompe todo o código e
está causando muitos problemas E isso não ocorre apenas com o desaparecimento de
nossas árvores, quando paramos
todo o nosso jogo Isso significa que não podemos adicionar
nenhum botão de reinicialização,
pois esse botão não
funcionaria se o
código estivesse todo parado. Então, como podemos corrigir isso? Agora, é por isso que
vou apresentar
a vocês um novo bloco que
ainda não usamos, que é o código da
mensagem de transmissão aqui. Como você pode ver, é muito semelhante a quando o
sinalizador clica no botão, mas a principal diferença é que o script não espera
pelo clique do sinalizador Wen, mas espera que uma
mensagem específica seja transmitida Por exemplo, considere um jogo em
que o sprite de um jogador
encontra um Este evento pode transmitir uma
mensagem, Found Treasure, que por sua vez aciona um
script que escuta tesouro
encontrado e reproduz uma animação da abertura
do baú, efeito
sonoro, do eco e
do riacho da tampa,
além da atualização da partitura para incluir os novos tesouros encontrados, e Mas isso não é tudo.
O recurso de transmissão não
consiste apenas em acionar
várias ações ao mesmo tempo Trata-se de aprimorar o controle e a coordenação
do seu projeto Ele permite que você crie projetos interativos e
responsivos
complexos sem a confusão de códigos
excessivamente complicados e usando toneladas de variáveis que verificam
constantemente se uma
condição é verdadeira É como ter um maestro
liderando uma orquestra, garantindo que cada instrumento
ou, no nosso caso, cada sprite toque
na hora certa para criar uma experiência linda e
harmoniosa Certo. Com tudo isso dito, vamos ver como podemos
melhorar nosso código com esse recurso de transmissão.
Veja nosso código aqui. Em vez de parar tudo,
o que vou fazer é trocá-la por esta mensagem de transmissão e
clicar em Nova mensagem e
chamá-la de falha do player Agora, só de transmitir
a mensagem, o player travou, não vai fazer nada Agora precisamos criar um código que escute essa transmissão Para fazer isso, podemos entrar em nosso sprite de árvore e aqui podemos pegá-la quando eu
receber uma mensagem, e a mensagem que estamos
procurando é que o jogador travou Quando recebemos essa mensagem, queremos que nossas árvores
parem. Agora, o primeiro problema
que temos é como nossas árvores têm uma velocidade de movimento rígida
no momento de menos nove, que não nos dá muito
controle. Vamos consertar isso. Simplesmente, podemos
trocar esse menos nove
por essa variável de velocidade de movimento que
já temos em nosso projeto Em seguida, passando para
nosso sprite variável. Podemos arrastar esse bloco
e definir nossa
variável de velocidade de movimento para menos nove
no início do jogo Agora que isso foi feito,
podemos voltar
para o nosso sprite de árvores Agora, quando recebermos a
mensagem que o jogador travou, podemos alterar nossa velocidade de
movimento em 0,5 Podemos usar essa repetição
até o bloqueio para garantir que nossas árvores parem completamente Podemos dizer repetir,
pegar isso é igual a
bloco e dizer que a velocidade de movimento é igual a zero. Assim mesmo. Agora, se fizermos um teste
e batermos em uma árvore, você verá que nossas árvores
agora param, embora ainda estejam
um pouco rápidas demais. Podemos simplesmente adicionar
peso e alterá-lo para 0,1 e tentar novamente. E aí está. Agora só
há um problema. É assim que nossas árvores
continuam desovando. Para resolver isso, tudo o que precisamos
fazer é pegar o stop ou block e alterá-lo para interromper outros scripts
no sprite Depois, podemos simplesmente colocar isso no
final do nosso roteiro e
tentar mais uma vez, entrando em uma árvore. Bem, como você pode ver, nossas
árvores param lentamente, que faz parecer que
nosso jogador está diminuindo a velocidade Perfeito.
48. Mecânica de crash refinada: como integrar mensagens de transmissão: Agora chegou a hora
da parte importante, a animação do acidente. Porque se nosso acidente não
parecer realmente épico, nossos jogadores não entenderão por que as árvores devem ser evitadas. Então, vamos dar uma olhada em como
podemos aprimorar esse jogo com uma boa animação.
Vamos ao que interessa. Passando para o nosso sprite de
jogador, podemos adicionar isso quando eu
receber uma transmissão de falha do jogador Basicamente, o que
queremos que aconteça é que o sprite do
nosso jogador tenha um efeito giratório ao
tocar em uma árvore Simplesmente, tudo o que
precisamos fazer é ir até o grupo de movimentos e
introduzir esse efeito de turno Então podemos repetir
isso cinco vezes. Experimentando, pulando até
batermos em uma árvore. Bem, isso não funcionou muito bem. Como você pode ver,
ele tenta virar, mas simplesmente volta e,
mesmo depois de cairmos,
ainda podemos esquiar para a esquerda e para a direita, então vamos ver se podemos consertar isso Bem, se você olhar de perto, verá que o problema é causado pelo script aqui. E resolver esse problema
é bem simples. Basicamente, assim como
fizemos com o sprite da árvore. O que precisamos fazer é
interromper os outros scripts. Então, parando tudo, podemos alterá-lo para interromper
outros scripts no sprite E desta vez, em vez de colocar o
final do script, podemos adicioná-lo ao
início do script. Então, novamente, dando uma chance a isso. Você verá como isso funciona muito
melhor. Agora temos uma
animação muito boa que funciona
quando travamos. Mas eu ainda acho que
podemos fazer melhor. Se você olhar nosso roteiro, verá que
giramos 15 graus, o que é bom, mas não parece
exatamente suave. Eu vou fazer algo
um pouco sorrateiro aqui. Em vez de 15, vou
virar de acordo com a velocidade de movimento. Sim, eu sei que isso parece estranho, mas como você verá, funciona
quando jogamos isso Observe como
essa animação é muito melhor. Agora, a última coisa para
melhorar isso ainda mais é substituir essa repetição cinco vezes
por uma repetição até bloquear. Agora, assim como fizemos
com nosso outro script, podemos repetir até que a velocidade de
movimento seja igual Basta pegar esse bloco igual e
essa variável e definir isso como zero
desse jeito Dando outra chance,
batendo em outra árvore. Bem, acho que os resultados
falam por si mesmos. Parece um acidente
notável.
49. Maestria em animação Crash: como melhorar o feedback dos jogadores: Algoritmo. Tenho certeza que você já
ouviu essa palavra antes. É usado em todo lugar e é
muito importante na programação, mas o que exatamente é um
algoritmo e o que ele faz? Então, nesta lição,
vamos
descobrir alguns
desses mistérios e também
implementaremos um
algoritmo simples em nosso jogo Então, primeiro de tudo, o que é um algoritmo? Bem, imagine que você está seguindo
uma receita específica para fazer
um bolo ou jogando um novo jogo que tem um
conjunto de regras a seguir. Isso é o que é um algoritmo. É como uma receita
ou um conjunto de regras que os computadores seguem
para fazer algo legal. Dito isso, como os
computadores usam algoritmos? Bem, você sabe, quando você digita algo no Google e
obtém uma lista de páginas da web, esse é um algoritmo que ajuda a
encontrar essas páginas para você Ou você já percebeu
como um site pode mostrar itens em ordem de
preço, do menor para o maior? Essa é uma ferramenta de algoritmo. Ou nos videogames, os algoritmos podem ajudar a controlar
o que os outros personagens fazem e decidir o resultado
de determinadas ações. Eles são usados
em quase todos os lugares, do YouTube
ao Netflix, do TikTok à Amazon Agora que você tem algum tipo de ideia sobre
o que são algoritmos, vamos discutir o
algoritmo que vamos criar em nosso jogo. Teremos um
algoritmo em nosso jogo
chamado algoritmo de caminho seguro, que desempenha um papel crucial
em tornar o jogo desafiador
e jogável.
Então, como isso funciona? Começamos com um sprite retangular posicionado na
parte superior da tela Em seguida, o retângulo se move lentamente para a esquerda ou para a
direita na tela Conforme o retângulo se move, ele impede que as árvores apareçam
em sua posição atual Essa ação cria um caminho
seguro para o jogador. Dito isso, por que é
considerado um algoritmo? Bem, há três
razões, etapas sequenciais. O algoritmo envolve
etapas específicas executadas em ordem, posicionando o
retângulo, seu movimento e a árvore de bloqueio.
Em segundo lugar, a tomada de decisão. O movimento aleatório
do retângulo requer processos de tomada de
decisão
e determinação qual direção se mover
em um determinado momento Em terceiro lugar, a resolução de problemas. O principal problema
aqui é evitar que o jogador
fique preso por árvores, e o algoritmo do caminho seguro resolve isso
sempre abrindo um Basicamente, o
algoritmo do caminho seguro garante que sempre
haja uma rota aberta para o
jogador se mover, evitando uma situação impossível de jogar que não
seria realmente
justa em nosso O jogador pode continuar
avançando navegando
pelos obstáculos, tornando a experiência de jogo justa
e envolvente Agora, eu sinto que o algoritmo
equilibra o jogo. Isso garante que, por um lado,
seja
desafiador e, obviamente, também é
possível navegar. Isso enriquece e aprimora toda
a experiência de jogo. Agora, enquanto eu estiver construindo isso, vou seguir em
um ritmo muito rápido pois não usaremos isso
em nosso jogo à medida que continuarmos. Esta lição serve mais para ajudá-lo a entender um importante conceito
de programação. No entanto, você ainda pode usá-lo. Se você quiser mudar
um pouco
a dinâmica do seu jogo, você ainda pode aplicar isso. Em primeiro lugar, precisamos nosso sprite retangular e esse
sprite é bastante simples Podemos simplesmente apertar o botão de pintura. Em seguida, no editor,
podemos simplesmente selecionar essa ferramenta e
desenhar um retângulo simples Podemos ajustar o tamanho do bit, para que fique mais ou menos assim. Em seguida, indo para o código,
tudo o que precisamos fazer é pegar uma vitória inicial, uma eternidade, uma planação e uma escolha aleatória, que
colocaremos na entrada x. Em seguida, alteraremos a escolha
aleatória para menos 22220 e podemos definir y para um 80 Agora, se jogarmos, você
verá que temos essa caixa que vai de um lado da
tela para o outro. Então, agora que temos o movimento,
precisamos de mais uma coisa, que é relatar a posição e
fazer isso para garantir que os outros sprites
possam saber
em que posição nosso sprite retangular está o tempo todo Tudo o que precisamos fazer é
duplicar o script, remover o glide e passar para outras variáveis
e criar uma nova, que chamaremos de safe path Agora podemos pegar esse conjunto
em nosso loop eterno, alterá-lo para um caminho seguro e vamos definir nosso caminho
seguro para nossa posição x. Agora o Sprite se move, ele
define constantemente essa variável para
sua posição atual Agora, lembre-se de como eu disse que um
algoritmo é como assar um bolo ou jogar um jogo em que você precisa seguir
instruções ou regras. Então, essas são nossas
instruções ou regras. Portanto, nossas árvores não podem aparecer no local do
nosso sprite de algoritmo Então, agora tudo o que precisamos
fazer é garantir que os sprites da árvore
sigam essas regras Passando para o sprite. Se você olhar o roteiro aqui, como você pode ver, nossas árvores estão apenas indo para uma exposição
aleatória Então, para corrigir isso,
vamos pegar uma repetição, bloqueá-la e
inseri-la aqui. Então, podemos duplicar
essa parte aqui e colocar isso em bloco
dentro de nossa repetição até Finalmente, o que queremos
é continuar mudando nossa exposição até que não
estejamos no caminho
do nosso retângulo Para fazer isso, precisaremos
de alguns blocos, que são maiores que
um menor que e
um mais menos duas de nossas variáveis de caminho
seguro
e, finalmente, duas de
nossas exposições A forma como queremos nos conectar
é exatamente assim. Sim, eu sei que isso pode ter
sido um pouco confuso. Vamos examinar o casaco. Nossas árvores aparecem em uma exposição
aleatória. Então temos essa parte. Se a
exposição atual de nossas árvores estiver dentro 100 pixels à esquerda
do nosso caminho seguro
, será necessário tentar novamente. Ou se nossas árvores estiverem 100
pixels à direita, ele também precisará tentar novamente. Se eles não estiverem no caminho
do sprite, ele continuará Você vê isso em ação, podemos ir rapidamente para
nossa variável sprite, desconectá-la aqui e alterar nossa taxa de
geração para zero Então, sob nosso
sprite de caminho seguro, podemos escondê-lo. Agora, clicando em play, eles podem ver um monte de
árvores desovando. No entanto, ainda temos um caminho
seguro a seguir. Então, sim, são
algoritmos em poucas palavras. Eu sei que esta aula foi
bem rápida, então não se preocupe se
você não conseguiu acompanhar porque, como eu disse, esta lição serve mais para lhe dar uma compreensão simples
de um conceito importante Mas, para um jogo, não
usaremos esse algoritmo
à medida que continuarmos, mas se você quiser usá-lo, você é mais que bem-vindo.
50. Como desvendar algoritmos: como criar o caminho seguro: Então, nesta etapa, discutimos quase todos os blocos de código
que estão disponíveis para nós. No entanto, há
apenas mais uma coisa, um bloco de código e um conceito de
codificação tão importantes para a programação
que precisei
esperar até que você fosse um programador bastante competente antes de apresentá-los a E isso são funções. Então, o que é uma função? E
por que devemos nos preocupar com isso? Você tem uma máquina de fazer brinquedos, o que seria muito legal. Você coloca alguns materiais, aperta um botão e
sai um carrinho de brinquedo. Toda vez que você quer um carro novo, basta pressionar o botão
novamente e sai um carro. Embora o único problema com esta máquina seja
sempre o mesmo carro. Agora eu imagino que você
tem outra máquina que é ainda melhor porque
se você quer um carro vermelho, você coloca tinta vermelha e sai um carro vermelho ou
se você quer um carro azul, você coloca
tinta azul e resulta em um carro azul, você entendeu. Bem, ambas as máquinas
são exemplos de funções, exceto que uma das
funções permite entradas que podem
alterar a saída Agora, no mundo da codificação, as funções são como
aquele botão mágico Você escreve um trecho de código uma vez e depois pode
usá-lo
repetidamente apenas chamando
o nome da função. Agora, algumas funções podem aceitar entradas como
um número ou uma sequência de caracteres
e, dependendo da entrada,
determina
qual saída
a função
fornecerá , assim como nossa máquina de fabricação de
automóveis que fornece carros de cores diferentes Além disso, algumas funções
sempre retornarão a mesma saída. Como as funções
funcionam? Bem, primeiro, escrevemos uma função. É como construir nossa máquina de fazer
brinquedos, configurá-la para fazer
um brinquedo específico. Em seguida, sempre
que precisarmos que essa tarefa específica seja feita, chamamos a função, mesma forma que pressionamos o
botão na máquina A função então
executa a tarefa e
nos dá o resultado, assim como a máquina
lançando um carrinho de brinquedo Por que as funções são
importantes na programação? Tenho certeza que você provavelmente
já pode adivinhar o porquê. Em primeiro lugar, economizando tempo. Sem funções,
teríamos que escrever o mesmo código
repetidamente, para as mesmas tarefas semelhantes. As funções nos economizam tempo. Escrevemos uma vez e
usamos muitas e muitas vezes. Em seguida, organizando o código. As funções nos ajudam a manter nosso
código limpo e organizado. Cada função tem um trabalho e facilita o
rastreamento e a correção de quaisquer problemas. Em terceiro lugar, menos erros. Ter um trecho de
código significa que há apenas um lugar para verificar e
corrigir se algo der errado. Chega de pesquisar
blocos e blocos de código. Por fim, compartilhar código. As funções também podem
ser compartilhadas entre diferentes partes do nosso programa mesmo entre programas diferentes. Como você sabe, o código reutilizável é
muito importante. Imagine isso. Você está criando um jogo emocionante em que um bravo cavaleiro
parte em uma missão Durante essa missão, a noite
encontra um baú do tesouro. Agora, cada vez que a noite
toca um baú, ele se abre e todas as moedas dentro dele
saltam para fora. Agora, aqui está uma pegadinha. Nosso jogo não tem um, não dois, mas muitos baús de tesouro
espalhados em diferentes níveis Queremos que cada baú faça o
mesmo ato mágico de abertura. Então, como podemos fazer
isso acontecer sem escrever o mesmo código
para cada baú. Aí vem a função. Podemos escrever uma função
chamada baú aberto que contém o código para fazer
o baú se abrir e as
moedas saírem. Agora, toda vez que a
noite toca um baú, simplesmente
chamamos a função peito
aberto É como contar
o jogo. Ei, abra
o baú agora, e pronto, o baú se abre e as
moedas saem
e não importa onde o baú
esteja no jogo, funciona E para dar a você um exemplo
real
de funções e uso do Scratch , existe um
projeto popular no Scratch
chamado Smooth Movement Engine. Eu encorajo você a
conferir por si mesmo. Mas clicando
em reproduzir este projeto, observe como todos esses sprites
se movem em um movimento muito fluido E se clicarmos em
Avançar, em Avançar novamente, você poderá ver todos os projetos que utilizam movimentos suaves. De qualquer forma, se clicarmos
nesse botão C interno, você verá que existe código
chamado bloco personalizado
e, se diminuirmos o zoom, você verá todas as funções
diferentes. Sim, eles são bem complexos. Não se preocupe em tentar
entender como isso funciona. O importante aqui
é o que as funções fazem. Se passarmos para
a guia M blocos, você verá todos esses blocos
diferentes. Mas, basicamente, esses blocos são todos usados para
chamar as funções. Digamos que tivéssemos um sprite
e quiséssemos que ele subisse. Vamos primeiro excluir todos
esses sprites para que você possa ver essa ação e
também mostrar o sprite Agora queremos que nosso sprite
quadrado avance 100 passos. Agora, em vez de usar o bloco de código de
movimento, podemos chamar essa função aqui. Como você pode ver, esse bloco
oferece muitas opções. Digamos que quiséssemos
dar 100 passos em 2 segundos com um tipo de
atenuação Ao clicar em reproduzir, como você pode ver, nosso sprite se move
suavemente pela tela Agora, digamos que quiséssemos
virar e seguir em frente novamente. Poderíamos pegar esse bloco giratório
suave. Digamos que queremos suavizar uma curva 45 graus em 1 segundo com
um tipo de atenuação de três Então, podemos simplesmente duplicar esse outro movimento suave
e colocá-lo no final Agora, se clicarmos em play, observe como nosso sprite se move lenta
e suavemente Em seguida, dá uma volta suave e
, finalmente, avança novamente. E eu só pego
três blocos de código. Mas se estivéssemos
tentando criar manualmente o movimento suave
para cada movimento, levaria muito tempo e
nosso código seria muito confuso para entender
o que realmente estava acontecendo Em resumo, as funções são uma
das melhores
ferramentas dos programadores para escrever código eficiente, organizado e limpo O Function é como um auxiliar
útil que realiza um trabalho específico
sempre que solicitamos, e é tão confiável sabemos que funcionou
porque foi testado e reutilizado ao
dominar funções Você está no
caminho certo para se tornar
um programador habilidoso que pode criar
programas complexos realiza um trabalho específico
sempre que solicitamos,
e é tão confiável que
sabemos que funcionou
porque foi
testado e reutilizado ao
dominar funções.
Você está no
caminho certo para se tornar
um programador habilidoso que pode criar
programas complexos e interativos.
51. Como dominar funções: o núcleo do código reutilizável: Então, falamos muito sobre funções e
vimos alguns exemplos. Mas, como você sabe, o verdadeiro
aprendizado acontece na prática. Nesta lição, vamos
criar nossas próprias
funções. Para fazer isso,
vamos voltar
ao básico
criando um novo projeto Acho que não preciso
explicar para você como fazer isso. Com nosso novo projeto criado, como você pode ver, temos nosso clássico
sprite para gatos pronto para a ação Agora, para este projeto, vamos fazer algo um pouco diferente e
não apenas com funções. Vamos fazer nosso
gato desenhar com canetas, e é uma coisa bastante
inovadora Então, antes de entrarmos nas funções, você pode estar se perguntando: como
faço para usar essa caneta que
você está falando. Bem, se você olhar
diretamente na parte inferior, verá esse
pequeno botão aqui. Agora, se você clicar nele, verá várias extensões
diferentes
que você pode adicionar ao seu projeto, como
música e câmera, etc. E muitos outros
que usam hardware externo. De qualquer forma, o que
nos interessa é essa extensão de sorteio.
Clicando nele. Como você pode ver, ele adiciona esse
grupo de código extra ao nosso projeto e a todos esses
blocos de código diferentes que são para a caneta. Agora, nosso projeto será bem simples. O gato vai perguntar
quantos círculos devemos desenhar, e então, bem, ele
vai desenhá-los. Para fazer isso, podemos
clicar na
bandeira de vitória e, em seguida, ir
para o grupo de detecção, derrubar esse bloco de tarefas Aqui, podemos apenas dizer
quantos círculos devemos desenhar. Então, se clicarmos em Play, nosso gato pergunta quantos círculos
ele deve desenhar. Podemos inserir um número
e, claro,
nada acontece. Agora, o que vamos fazer é criar uma função
que desenha círculos. Descendo até meus blocos, aqui você pode ver que podemos clicar nessa opção aqui para
criar um novo bloco. É aqui que podemos
nomear nossa função. Vou chamá-lo de desenhar um círculo. Então lembre-se de que, anteriormente, eu lhe disse que algumas funções podem ter entradas,
enquanto outras não Bem, para nossa função circular, poderíamos fazer com que ela, que
chamamos , desenhe um único
círculo e pronto. Ou podemos fazer com que ele aceite uma entrada na qual
podemos escolher quantos círculos queremos desenhar, uma entrada na qual
podemos
escolher quantos círculos queremos desenhar,
assim como no exemplo da
máquina de fazer brinquedos, onde podemos decidir se queremos carro azul ou
vermelho ou de qualquer cor. Nesse caso, podemos decidir a função
aceite uma entrada, que mudará a saída
que a função cria. Então, para fazer isso, tudo o que precisamos fazer é clicar
aqui para adicionar uma entrada assim. Então, como você pode ver, na parte superior, agora
temos uma entrada. Vou renomeá-lo para o número
de círculos e depois clicar em. Agora, como você pode ver, agora
temos esse bloco aqui, e é aqui que
definimos nossa função. É basicamente como se estivéssemos construindo a máquina dizendo o que ela precisa fazer
quando for pega. O que queremos que nossa máquina, ou melhor, nossa função
faça é desenhar círculos. Desenhar um círculo é bem simples. Tudo o que você precisa fazer
é colocar a caneta no chão, depois se mover,
dar dez passos, girar 15 graus e repetir
isso 30 vezes desse jeito. Se você clicar
nessa função, verá que nosso gato
desenha um círculo. Isso é legal. Mas como
usamos essa função? Bem, aqui perguntamos ao usuário quantos círculos devo
desenhar para usar essa função. Tudo o que precisamos fazer
é pegar esse bloco, desenhar um círculo embaixo, o
que chama nossa função E se tivéssemos que jogar e
clicar nesse botão, como você pode ver, nosso
gato desenha um círculo. Mas é claro que há um problema nosso gato
desenhar apenas um círculo. É aqui que precisamos dizer
à função quantos
círculos ela deve desenhar. Em vez de deixar isso em branco, podemos ir ao nosso grupo de
detecção e pegar esse bloco de resposta
e usá-lo como entrada Basicamente, o que isso
está fazendo é chamar nossa função de desenhar círculo com a entrada inserida
pelo usuário. No entanto, isso ainda não fará nada porque, se você
observar nossa função, nunca
diremos à
máquina o que fazer com a entrada que ela recebe
quando está sendo chamada. O que precisamos fazer é pegar outro bloco de repetição e
colocar tudo isso dentro. Em vez de inserir um valor, podemos pegar esse bloco de número de círculos e colocá-lo dentro. Agora, vamos examinar
nosso script passo a
passo para que possamos entendê-lo
melhor. Eu não posso perguntar quantos
círculos desenhar. Digamos que entramos
em cinco círculos. Em seguida, chamamos nossa função de
desenho circular com o número
cinco como entrada. O que essa função faz
é colocar a caneta no chão
e, em seguida, temos esse bloco de repetição com a entrada sendo o
número de círculos, já que inserimos cinco, como
entrada para nossa função, ela repetirá todo
esse código cinco vezes. O código é esse movimento e giro, que basicamente
cria o círculo. Vendo isso em ação, aqui nosso gato pergunta quantos
círculos queremos. Digamos três, como você pode ver TIC desenha três círculos, desse
jeito O único problema que
temos é que não
podemos ver todos eles, pois estão
todos na mesma área. Vamos atualizar um pouco essa
função. Com sede, colocaremos a caneta para que ela não se desenhe em todos os lugares Então, faremos com que nosso
gato fique sem posição. Então podemos colocar
a caneta de volta no chão. Por fim, podemos alterar a cor
da caneta em dez. Então, vamos apenas aumentar ou quando começarmos.
Dando outra chance. Vamos fazer quatro. Bem,
isso não está certo. As TIC estão fazendo a mesma coisa. Bem, nosso problema
é que todo esse código deve estar dentro do
nosso bloco de repetição. Movendo-o para dentro, desse jeito, e dando outra chance. Quantos círculos?
Digamos que sete. Lentamente, mas com segurança,
como você pode ver, nosso gato desenha sete círculos. Também desenha cada círculo
com uma cor diferente. Agora, lembre-se de que
as funções de conjunto são muito úteis porque podemos
escrever o código apenas uma vez
e usá-lo repetidamente. Bem, se você observar esse código, a função
é muito útil, pois
torna nosso código muito fácil de
entender e gerenciar. Como podemos ver claramente
o que está acontecendo, estamos fazendo uma pergunta
e desenhando um
certo número de círculos. Mas, na verdade, não estamos usando essa função com
todas as vantagens porque, bem, estamos
chamando apenas de uma vez. Digamos que, em nosso programa,
quiséssemos que nosso gato desenhasse um círculo se clicássemos nele
porque temos essa função Bem, isso é simples de fazer. Podemos simplesmente pegar isso quando
o sprite clica em bloco, então podemos simplesmente dizer desenhar um
círculo e inserir Agora, clicando em play, quantos
círculos? Digamos que dois. Depois que isso for feito. Agora, se clicarmos no CT, ele desenha um círculo. Agradável. Além disso, digamos que quiséssemos
diminuir nosso círculo por algum motivo. Podemos simplesmente
entrar em nossa função, alterar o movimento para,
digamos, cinco etapas. Agora, clicando em play,
inserindo um, ele desenha um círculo menor. Além disso, se clicarmos na tomografia computadorizada, ela também desenha um círculo menor. Como você pode ver, o uso dessa
função garante que nosso código seja consistente,
fácil de gerenciar e usar. Agora esse é o
poder das funções. Mas antes de terminar, se você
quiser se divertir com isso, mantenha pressionada a tecla Shift enquanto
clica na bandeira e você verá que ela
entra no modo turbo Então, se inserirmos um
valor absurdo como 100.000, enlouqueceremos desenhando círculos, divirta-se com isso.
52. Como explorar funções por meio de codificação criativa: Bem, é hora de
voltar ao assunto e terminar
o que começamos. Nosso jogo de esqui arcade é divertido, mas falta esse elemento
crucial Isso faz com que deixe de ser um
jogo divertido para se tornar um jogo muito divertido, e é disso que trata o
polimento É a etapa final
do nosso fluxo de trabalho. Para a primeira etapa do polimento, vamos melhorar nossos
gráficos,
fazer com que nosso jogo pareça
muito mais real A primeira coisa que quero
discutir são as camadas. Discutimos isso brevemente
em uma lição anterior, mas vamos repassar o assunto novamente. No zero, cada um dos
nossos sprites aparece na tela com as posições x e
y, como você sabe Agora, isso é fácil de ver, mas nossos sprites
também têm um eixo z, que não podemos ver facilmente, pois tudo tem dois D e
estamos olhando
de cima para baixo Basicamente, o
eixo z é a camada. Então imagine uma pilha de papéis. Você pode ter 20
pedaços de papel um em cima do outro e
cada um tem sua camada. Se o papel estiver
no topo da pilha, está na camada um e, se estiver na parte inferior, é na camada 20 Naturalmente, se um papel estiver em uma camada mais alta, como a camada um, ele cobrirá o papel que está em uma camada baixa, como a camada dois. A mesma coisa
acontece no zero quando nossos sprites estão
em camadas diferentes Se jogarmos um jogo rapidamente
e se batermos em uma árvore, você verá bem que esquiamos sobre a árvore, que não faz sentido. Como podemos corrigir isso? Bem, se passarmos
para o nosso raminho de jogadores, podemos pegar outro quando a bandeira for clicada e depois
subir para a Aqui veremos que
temos duas opções. Ou podemos fazê-lo ir
para a frente ou para trás,
ou podemos fazer com que ele vá para trás
ou para frente em uma camada Se disséssemos para
voltar e depois apertar play, como você pode ver, nossa
trilha de neve vai à nossa frente. Isso não é uma opção. Vamos trazer isso de volta
para a frente desse jeito. Agora, desta vez,
podemos dizer, voltar uma camada. Agora, em vez de enviar
isso para trás, estamos apenas movendo
uma camada para trás, que significa que nosso
sprite de jogador estará na camada dois Agora, arraste o script
até que ambos não tenham pixels. Podemos fazer com que ele
retroceda em duas camadas e também podemos fazer o
mesmo com o outro sprite Clicando em reproduzir. Bem, isso é estranho. Nosso pixel ainda está na frente. Alguma ideia do que está acontecendo aqui? Bem, a razão para isso é porque cada vez
que iniciamos o jogo, ele continua voltando
mais e mais camadas. O que precisamos fazer é ir
até cada um desses sprites e trazê-los para a camada
frontal, sem mais nem menos Também podemos fazer o mesmo
com nosso sprite de árvores. Podemos simplesmente arrastar um
clique com a bandeira de vento e depois ir
para a camada frontal. Agora, dessa forma, quando
começamos nosso jogo, cada um de nossos sprites começa
na mesma camada, mas nosso jogador recua uma
e nossos pixels voltam duas Experimentando isso. Como você pode
ver, funciona perfeitamente. Quando batemos em uma árvore, não
deslizamos na frente dela Agora isso é muito mais realista. Com isso resolvido,
há mais uma
coisa que precisamos fazer. Quando jogamos o
jogo, como você pode ver, nossas árvores simplesmente aparecem, o que é um pouco chocante Não seria melhor
se eles desaparecessem. Quase como se houvesse uma névoa e eles estivessem
aparecendo da névoa Parece ótimo. Mas
parece uma tarefa bastante complexa. Mas não tenha medo, porque existe uma maneira bastante simples de fazer isso. Se você olhar
nosso grupo de looks, verá que essa
cor muda ou define a cor como. Arrastando o efeito de cor definido
para o sprite do nosso player. Você verá que, se
clicarmos nele, nada acontece. Mas se mudarmos esse
número para 40, nosso sprite muda de cor Eu quase pareço um alienígena. Mas não é isso que queremos. Podemos voltar para zero. Mas você verá que,
se clicarmos aqui, existem todas essas
outras opções. O efeito em que estamos
interessados é esse efeito fantasma. Vamos configurá-lo para 95. E clicando nele, você verá
como o Sprite quase desaparece. Podemos usar isso para desaparecer em nossas árvores. Redefinindo-o rapidamente Em seguida, podemos passar
para o nosso sprite da árvore. Agora, este é o seu
próximo mini desafio. Experimente e veja se você consegue
criar esse efeito, que nossas árvores desaparecem em
vez de aparecerem
repentinamente Vamos lá,
experimente antes de
mostrarmos como fazer.
Você entendeu? Vamos ver como isso é feito. Agora, o que queremos que aconteça é que, quando nosso sprite
comece como um clo, queremos definir o efeito
fantasma para 95 e, em
seguida, fazê-lo desaparecer O que vamos fazer é pegar esse efeito de mudança por bloco
e, novamente, configurá-lo como fantasma. Aqui, queremos arrastá-lo para esse loop eterno, para que o
fantasma desapareça lentamente, o que faz parecer que
nossas árvores estão desaparecendo Para fazer isso, precisamos alterar esse valor porque atualmente
nosso fantasma está em 95 e queremos
trazê-lo de volta a zero Podemos simplesmente inserir
menos três aqui, ou o que parecer melhor para você Vamos fazer um teste com isso. Você pode ver que nossas
árvores agora parecem estar lentamente aparecendo
na névoa Sim, é um efeito muito sutil, mas torna nosso
ganho muito melhor. É isso por enquanto.
Se você puder ver outras áreas em que acha que os gráficos podem ser aprimorados, recomendo que experimente
e veja o que pode fazer.
53. Como melhorar o realismo dos jogos: gráficos e camadas: Há uma citação
do famoso cineasta George Lucas que diz que som é 50% do O mesmo certamente pode
ser dito dos videogames. Um jogo é divertido e todos os
gráficos são bem legais, mas simplesmente não são
muito envolventes Vamos transformar nosso
jogo com som. Em primeiro lugar, precisamos de um bom som de
fundo para o nosso jogo. Agora, como estamos esquiando na neve, devemos ter algum som que faça você se sentir como se estivesse
esquiando na Passando para nossa lista de estados, podemos usar essa área
para adicionar nossos sons Ao clicar na guia de sons, podemos ir até esse
botão e clicar em Carregar som. Agora, se você passar para a
nossa pasta de efeitos sonoros, verá que temos esse
som chamado Winter Storm. Clicando nisso. Aqui você pode
ver que agora está importado. Tudo o que precisamos fazer agora
é voltar ao nosso código, pegar uma bandeira de vento
clicada e um
loop eterno e , em seguida, arrastar o som de
reprodução até concluir o bloqueio Aqui, como você pode ver, nosso som
já foi selecionado. Tudo o que você precisa fazer
é jogar o jogo. Agora, é mais
parecido com isso. Na verdade parece que estamos na neve. Agora, você poderia manter
isso como está, e seria muito legal. Mas podemos fazer com que pareça ainda mais excitante
trazendo outro som, que na verdade é alguma música. Clique no botão de upload de som novamente e depois
vá para a pasta de músicas. Aqui eu vou escolher a música aqui. Mas você pode escolher
a música que quiser. Agora,
como quero que minha música e efeitos sonoros sejam reproduzidos
ao mesmo tempo, vou apenas duplicar esse script e depois mudar o som para a nova música
que importamos E agora tudo o que você
precisa fazer é clicar em play. Agora, isso soa mais
como um jogo para mim. Quais são os sons que você
acha
que precisamos para realmente completar
isso. Pense sobre isso. Esquiar e depois cair. Sim, precisamos de um som apagado. Então, desta vez,
entramos no sprite do player, upload do
grupo de sons
e, em
seguida, passamos para a pasta de efeitos
sonoros E aqui você pode ver que
temos esse efeito de limpeza de esqui. Clicando nisso
, podemos voltar ao nosso código, é bem
simples, na verdade. Basicamente, quando tocamos em uma árvore, queremos que ela comece a
soar, apague o esqui. Podemos simplesmente arrastar esse
bloco até aqui. Agora vamos tentar, apertando play. E depois batendo em uma árvore.
Bem, aí está. Sutil, mas com um
toque agradável. É só isso. Definitivamente, ainda há
mais que você pode fazer com som, como um bom efeito de esqui, som quando um jogador
vira à esquerda e à direita Mas vou deixar tudo isso para você e sua incrível criatividade. Mas, como você pode ver,
ou melhor, aqui, som é definitivamente 50% do filme ou, no
nosso caso, do jogo.
54. Imersão amplificada: o poder do som: Então, a próxima coisa que queremos
fazer na criação de nosso jogo é torná-lo competitivo, porque embora seja bom
esquiar na montanha,
se não pudermos nos
gabar de uma pontuação alta
, teremos um problema Nesta lição, vamos
adicionar um
sistema de pontuação ao nosso jogo Agora você pode estar pensando,
eu sei como fazer isso. Vou criar uma partitura de acordes
variável, colocá-la na parte superior
da tela e pronto Sim. Isso é uma boa ideia,
e isso funcionaria. Mas trabalhamos muito bem neste jogo e
em seus gráficos, e não queremos que ele
se decepcione com uma variável de aparência básica
que conta pontos. Precisamos de algo empolgante. Poderíamos começar a criar um sprite de pontuação legal que tenha uma
aparência muito boa e também criar algumas animações legais em tudo o que não é o que faremos Pegue uma caneta. Ou digite
isso em algum lugar. Quero que você anote isso
porque é muito importante e economizará inúmeras horas de
tempo. Você está pronto? Não tente reinventar a roda. Novamente, não reinvente a roda. Agora, fixe isso em algum lugar,
você não vai esquecer. Não reinvente a roda. Basicamente, isso significa que se
algo já foi feito e alguém
passou horas intermináveis trabalhando nisso,
não o reinvente. O que estou dizendo é que, claro, poderíamos criar o sprite de
pontuação nós mesmos O que é ainda melhor é se
pudéssemos usar o sprite de pontuação de
outra pessoa É mais rápido. E
isso nos permite aplicar nosso cérebro e nosso tempo a outras
partes de nossa programação. Na verdade, é disso que trata a
programação. Reutilizando seu próprio código e o código-fonte aberto
quando estiverem disponíveis Agora, no contexto do zero. Digamos que você jogue o
jogo de alguém e pense: Ei, eu realmente gosto de como essa pessoa tem aquela bela
animação de transição ou do exemplo inicial com
o mecanismo de movimento suave Em vez de tentar criar
seu próprio movimento suave, você pode usar o deles
em seu próprio projeto O Scratch permite que você faça isso, e o bom do Scratch
é que ele automaticamente dá crédito a outras pessoas quando você usa o
código delas em seu projeto. Vamos fazer isso para
nosso próprio projeto. Aqui você pode ver, eu encontrei
um bom minijogo de futebol. Embora o jogo seja um pouco
difícil, ele ainda está na versão beta, afinal de contas. Você notará que a
animação da trilha sonora é muito boa. Como podemos usar isso
em nosso projeto? Bem, a primeira coisa
que precisamos fazer é clicar nesse botão C interno. Como você pode ver,
existe o sprite de pontuação
que estamos procurando Só para ter certeza de que você está
na mesma página que eu. Eu quero que você abra
este projeto e você pode fazer isso clicando
no link que está
abaixo da lição. Ou você pode simplesmente
entrar manualmente neste link. Se você ainda não conseguir encontrá-lo, tudo o que você precisa fazer é clicar em Arquivo e carregar do seu computador
. Em Projetos concluídos, você verá este
chamado Minijogo de futebol. Com o projeto
aberto, agora tudo o que precisamos fazer é copiar o sprite Para fazer isso, tudo o que você precisa
fazer é clicar com o botão direito do mouse no Sprite e selecionar a porta Aqui você pode
salvá-lo onde quiser. Apenas lembre-se de onde você o salvou. Vou apenas escolher os downloads. Agora voltando ao nosso jogo de esqui. Aqui, podemos passar o mouse sobre isso, escolher um sprite e
clicar no sprite de upload Agora, aqui você pode ver que temos nosso sprite de pontuação,
que podemos selecionar Então, abra, aí está. Nosso sprite de pontuação está
agora em nosso jogo e pronto para usar e pensar em
todo o tempo que economizamos Com toda essa economia de tempo,
vamos personalizar um
pouco o sprite para que
ele se adapte melhor ao nosso jogo Passando para o editor de figurinos, vou deletar todos esses trajes e
clicar no botão de upload. Em seguida, indo para
a pasta de pontuação, você pode ver que temos esses números
mais bonitos Podemos simplesmente selecionar
o primeiro, manter
pressionada a tecla Shift
e clicar no último, e isso
selecionará todos eles. Agora podemos clicar em abrir. Ok. E aí está. Nosso novo
design de pontuação é importado. Com isso, vamos dar
uma olhada no código. Como você pode ver, esse código
está utilizando funções. Mas vamos analisar
isso rapidamente. Então, temos uma ideia
do que está acontecendo. Então, quando a estrela é clicada, eles definem
a pontuação para zero Então, eles parecem
ter um loop para
garantir que a pontuação não seja
negativa. Então, aqui, eles estão
executando a função de configuração, que faz várias
coisas, como definir tamanho e o traje e
também criar um c, e então esse clone chama
outra função e assim por diante Mas, por enquanto, vamos
deixar por isso mesmo. Você é mais do que bem-vindo a analisar esse código por si mesmo, o que tenho certeza de que você pode
descobrir com tudo o que você já sabe.
55. Como dominar a dinâmica de pontuação: da contagem simples à borda competitiva: Ok, vamos fazer a pontuação funcionar. E só para esclarecer,
se jogarmos um jogo e clicarmos no
script aqui, várias vezes,
como você pode ver, nossa pontuação começa a aumentar. Embora existam
alguns problemas que realmente resolvidos, porque
é claramente muito grande. E se você for como eu, provavelmente presumiria que
podemos mudar isso facilmente diminuindo o número do tamanho do conjunto Mas, claramente, esse não
é o caso. Mas para evitar o
trabalho de tentar descobrir o que
está acontecendo aqui,
o tamanho é, na verdade, definido
por esse número aqui. Então, o que podemos fazer
é baixar esse número para, digamos, dez Se acertarmos o script,
você verá que funciona. Embora ainda pareça
gigantesco por um segundo. Desta vez, é por causa
dessa opção de tamanho definido aqui embaixo. Se o definirmos para um valor baixo, como 15, e darmos outra chance ao
jogo. Ao clicar no script, várias
vezes, você pode ver que
parece muito melhor, embora quando
passamos o número dez, nossos números apareçam
muito próximos. Agora, às vezes, a melhor
maneira de resolver um problema como esse é continuar alterando
os números até que funcione. É o método da força bruta. Mas para acelerar o
tempo, nesse caso, o número que precisamos
mudar é o que está aqui, e podemos mudar
esse número para 0,4. Dando outra
chance. Quando chegamos aos dez, como você pode ver,
parece melhor. Brinque com esses
números aqui para obter um efeito mais dramático ou
menos dramático. Basicamente, o que
você achar melhor. Mas vou deixar
assim por enquanto. Agora que temos a pontuação
funcionando bem e com boa aparência, vamos
implementá-la em nosso jogo. E em nossos jogos anteriores, esperávamos um certo tempo e
depois aumentávamos a pontuação. Mas eu quero algo mais
interessante do que isso. O que eu quero é que cada vez que
passarmos por um obstáculo de árvore,
a pontuação aumente Como você sabe, se jogarmos o
jogo e clicarmos no script, a pontuação será contabilizada,
como você pode ver, esta é uma mensagem transmitida Tudo o que precisamos fazer é
transmitir a pontuação do player, e ela deve subir. Passando para nosso sprite de árvores. Tudo o que precisamos fazer é acessar
esse código de mensagem de transmissão e arrastá-lo para essa escritura. Logo antes de
excluirmos o clo
, podemos
alterá-lo para que transmita a pontuação do player de
mensagens Vamos dar uma
chance. Como você pode ver, cada vez que passamos por um
sprite de árvores, nossa pontuação aumenta Tem uma pequena animação agradável. É quase fácil demais. Veja o quanto isso transforma nosso jogo Mas uma coisa que você
deve ter notado se está
tentando vencer o jogo, é que
ainda é muito fácil. Você pode praticamente continuar
sem parar. Vamos consertar isso. Passando para nossa
variável sprite, você verá que temos esse código vergonhoso Como você deve saber, esse não é um bom código, pois nos
repetimos. Vamos nos livrar de todo esse
código e fazer algo melhor. Passando para o grupo de
variáveis, podemos criar uma nova
variável chamada level. Agora podemos usar isso para controlar a dificuldade do nosso jogo. Pegando um quando começar,
para sempre, e aqui está
o que vamos fazer Primeiro, no
início do nosso script, vamos definir nossa variável de
nível como um. Em seguida, vamos
pegar um
operador menor que e nossa
variável de nível e colocá-la aqui. Basicamente, o que queremos
fazer é verificar se o nível é inferior a dez pois não queremos que nosso
jogo seja muito difícil. O nível dez será máximo. Então podemos pegar um peso, colocá-lo aqui
e ajustá-lo para 15. A cada 15 segundos, queremos que nosso
nível aumente em um. Vamos apenas mudar de nível em um. Agora, a cada 15 segundos, nosso nível aumentará em um e deixará de aumentar
quando chegar a dez. O único problema é que, bem, isso realmente não faz
nada porque é velocidade e a velocidade de
nossa geração
que mudam nossa dificuldade Para aumentar a
dificuldade real do jogo, vou usar a função de
transmissão. Seguindo em frente, podemos arrastar isso para dentro e
clicar em nova mensagem. Vou chamar isso de um nível acima. Agora podemos arrastar
o
bloco quando eu recebo e alterá-lo para subir de nível. Então, o que queremos fazer
é diminuir a velocidade de desova. Podemos arrastar um bloco de
variável de alteração, configurá-lo para taxa de geração
e configurá-lo para -0,1 Rapidamente, examinando nosso código. cada 15 segundos,
nosso jogo sobe de nível, o que transmite essa mensagem o que aumenta nossa velocidade de geração Podemos ter uma ideia
dos níveis. Vou mudar isso para apenas
1 segundo e clicar em play. Como você pode ver, a dificuldade
aumenta rapidamente. Até que finalmente
atinjamos nosso nível máximo, pois você pode ver
muitas árvores surgindo
e, se isso parecer muito difícil, você pode alterá-lo facilmente
alterando esse valor aqui Além disso, digamos que você queira um modo insano em que também
aumente a velocidade Poderíamos simplesmente ir
até nossas variáveis, arrastar isso e alterar a velocidade de
movimento em menos um Dando outra chance. Como você pode ver, nosso jogo
definitivamente fica insano. Mas de qualquer forma, vou
deixar que você se esforce para deixá-lo
perfeito, porque nosso jogo, e
não nossa obra-prima, está
56. Como criar o gateway: como criar uma tela inicial convidativa: Então, estamos quase
na linha de chegada. Mas para chegar à linha de chegada, você precisa de uma linha de partida, e é exatamente isso que
vamos fazer nesta lição. Adicionaremos
uma tela inicial. Como você sabe, com nosso fluxo de trabalho de
desenvolvimento de jogos. A primeira coisa que
precisamos fazer é
pensar em como vai ficar
e como vai funcionar. Pensando nisso,
o que simplesmente queremos é uma tela bonita que seja a primeira coisa que aparece
quando iniciamos o jogo. Com o
rascunho da ideia de 30 segundos concluído, podemos passar para a segunda etapa, que é estabelecer
as bases. Primeiro de tudo. Vamos trazer nosso pano
de fundo principal
para nossa tela inicial Para isso, podemos
usar nosso palco principal. Ao clicar nele e
depois nos cenários, você notará que não
temos nenhum pano de fundo
no momento No entanto, como
estamos simulando neve, estamos usando apenas um pano de fundo
branco em branco Tenha isso em mente. Clique
no botão de importação e vá para a pasta. Tela inicial, podemos selecionar esses dois
arquivos da tela inicial e clicar em abrir. Aqui você pode ver, temos essa animação que
pisca. Você está aqui por texto. Mas, como você pode ver, há uma grande lacuna vazia na
parte inferior da tela inicial. É aqui que queremos adicionar uma pequena animação
que brinca com árvores. Para essas árvores, poderíamos importá-las
tecnicamente
para nosso plano de fundo No entanto, como queremos
criar um bom efeito em camadas, vamos
transformá-lo em um novo sprite Novamente, fazendo o upload de um novo sprite. Aqui você verá que temos esse sprite de linha de
árvores aqui. Selecionando isso e abrindo, você pode ver algumas árvores bonitas Agora, o que queremos é essas árvores se movam para a esquerda e depois voltem para a direita, que criará nossa animação. O único problema, no entanto, é que nossas árvores têm
praticamente o tamanho exato
da tela. Há pouco
espaço para movê-los. O que nós fazemos? Bem, temos duas
opções para corrigir isso. Poderíamos ampliá-los, o que funcionaria,
mas ainda melhor. Se passarmos para o editor de
figurinos e clicarmos neste botão,
convertermos em vetor, selecionando essa ferramenta,
o que podemos
fazer agora é movê-la para a direita, copiá-la e depois colar. Então, podemos tentar fazer com que ele
se alinhe um pouco. Com essa linha de árvore pronta, podemos duplicar o sprite para que possamos ter duas linhas de árvores Agora precisamos adicionar
nosso botão Iniciar. Mais uma vez, clicando em upload. Podemos selecionar a imagem do botão
Iniciar e aí está, um botão de partida
gigantesco. Ótimo. Mas antes de tentarmos
escrever qualquer código adequado, vamos organizar tudo isso para
que tenhamos uma ideia
do que está acontecendo. Em primeiro lugar, vamos corrigir
esse botão de partida. Eu acho que aqui 25 é um tamanho
muito mais realista. Com isso, você pode simplesmente
movê-lo para o fundo aqui. Finalmente, para nossas árvores, queremos que seja
algo assim. Essa linha de árvore deve
cobrir esse espaço em branco. Então, essa linha inferior da árvore
precisa estar bem na frente, então ela cobre um pouco nosso
botão Iniciar, que nos dá um
bom efeito de rapaz Bem, é
basicamente isso por enquanto. Nossos sprites são importados.
Tudo está no lugar. Agora, tudo o que precisamos
fazer é obter a codificação. Prepare-se
porque está prestes a começar.
57. Como configurar o palco: camadas e ativação para um início perfeito: Bem, todos os nossos novos
sprites estão em ordem. Eles estão apenas esperando que
nós os tragamos à vida. Agora, a primeira coisa que precisamos
fazer é acertar as camadas O único problema é que o scratch só permite que você defina um sprite para ir para para frente ou para trás ou para frente para trás ou
para frente, uma camada Não há a opção de fazer com que
ela vá para uma camada específica. Atualmente, o que
temos feito
é fazer com que nossos sprites fiquem
na frente e depois voltem Embora esse truque funcione, se você tiver três
ou quatro sprites, ele causa problemas quando
você tem mais do que isso Para definir um sprite em
uma camada específica, o que você precisa fazer é primeiro fazer que o sprite vá para trás e, em
seguida, mova-o para frente
quantas camadas forem Isso é o oposto
de como o tínhamos. Se você olhar para ela,
essa linha inferior da árvore estará na camada mais alta. Vamos
apresentá-lo em seis camadas. Em seguida, o botão
ficará uma camada mais baixa para que possamos
adiantá-lo em cinco camadas. Em seguida, no próximo conjunto de árvores, apresentaremos quatro camadas. O que isso significa é que
nosso sprite da árvore de obstáculos precisa apresentar
três camadas Em seguida, nosso sprite de jogador, duas camadas e, finalmente, nosso pixel de neve, apenas uma camada Começando com
o sprite da neve, podemos
mudar isso para
voltar e depois
avançar uma camada
e fazer o mesmo com o
sprite, sem mais nem menos Então, nosso jogador, podemos dizer voltar e depois
avançar duas camadas. Nossas árvores também mudam
para trás e podemos avançar e
transformá-la em três camadas. Além disso, eu quase aceitei. Também precisamos definir a
camada do nosso sprite de pontuação. Vamos arrastar esse script
até ele e
podemos fazer com que ele avance
quatro camadas, sem mais nem menos. Agora, para facilitar nossa vida, podemos simplesmente arrastar esse código script para cada um
desses novos sprites, que
adicionamos assim Em seguida, passando para nosso
primeiro conjunto de árvores, podemos avançar cinco camadas. Agora, para o nosso botão Iniciar, queremos
avançar, seis camadas. Finalmente, nossa linha inferior da árvore, podemos fazer com que ela
avance sete camadas. Ok, então isso parece muito bom. Agora precisamos fazer com que isso
realmente funcione, porque você notará que,
se
clicar no botão jogar , temos uma fusão estranha do nosso jogo acontecendo
na tela inicial Nossa primeira prioridade é resolver
o problema. Basicamente, o que queremos é nosso jogo comece quando
clicarmos nesse botão, que significa que a tela inicial e as árvores devem se esconder e nosso jogador e os obstáculos
devem aparecer. Agora, em vez
de usar o mouse pressionado e
tocar no sprite, como fizemos
antes, podemos usar esse bloco aqui quando
o sprite Ok. Agora, quando
clicamos no botão, queremos transmitir
uma mensagem e
a mensagem que queremos
é Iniciar jogo. Arraste este bloco quando o
sprite é clicado e, em
seguida, a mensagem de transmissão Podemos criar uma nova
mensagem chamada Start Game. Agora, com isso feito, vamos garantir que nossos outros
sprites respondam Em primeiro lugar, com nosso plano de fundo, podemos desconectar essa música
do clique na bandeira e preferir que ela toque com a mensagem transmitida quando
eu receber o início do jogo Dessa forma, nosso
som ambiente está sempre tocando, mas nossa música só começa quando
o jogo realmente começa Certo. Eu tenho um mini desafio
para você. Você está pronto O que queremos que aconteça é nossa animação que
gira entre esses dois planos de fundo seja
reproduzida quando clicarmos na bandeira Então, quando clicamos
no botão Iniciar, queremos parar
a animação e mudar para o pano de fundo em branco Você pode fazer isso
funcionar? Aqui vai uma dica. Idealmente, você deve usar
funções para criar isso. Pause o vídeo
e dê a esse cara. Ok. Como você foi? Este pode ser um pouco mais difícil
do que você pensava. Muito bem, se você
entendeu. As primeiras coisas são as primeiras. Precisamos criar uma função. Chamaremos isso de animação
de fundo. Aqui, precisamos adicionar uma
entrada e podemos chamar esse jogo de início e clicar em OK. Agora precisamos definir
essa função. Trazendo esse clássico
para sempre e bloqueando, depois pegando um operador
igual, e aqui podemos verificar se os
jogos Agora, se for, queremos
mudar para nosso primeiro pano de fundo. Mas se não for, queremos que nossa animação seja reproduzida. Para fazer isso, podemos pegar dois cenários do Switch e, em seguida,
colocar um peso no meio e depois um peso no final Altere-o também para iniciar as
telas um e dois. Então, tudo o que precisamos fazer é pegar
outro quando a bandeira for clicada, trazer esse bloco
para chamar nossa função
e, em seguida, definir a entrada como falsa Então, podemos arrastar outro quando
eu receber um bloco como esse, configurá-lo para iniciar o jogo, então trazer essa
chamada de função e defini-la como verdadeira. Mas agora, acabei perceber que isso realmente
não faz sentido porque chamar a animação de
fundo com falso inicia a animação chamá-la com fins verdadeiros,
mas vamos
ignorar esse descuido por
enquanto mas vamos
ignorar esse descuido por
enquanto Clicando em reproduzir. Como você pode
ver, nossa animação funciona. Clicando em Iniciar, ele
desaparece e nossa música começa. Agora, com tudo isso feito, vamos passar para nossos sprites de árvores Esse será um
pouco mais fácil. Em primeiro lugar, arrastar quando
a bandeira clica. Aqui podemos apenas
mostrar o sprite. Em seguida, arrastando
o
bloco quando recebi e configurando-o para iniciar o jogo,
podemos ocultar o sprite Por fim, precisamos
criar uma animação. Agora, para isso, podemos simplesmente pegar um loop eterno e
um loop de repetição. Dentro do loop de repetição, poderíamos alterar x por cinco e esperar 0,5 segundos. Então, podemos simplesmente duplicar isso e, desta vez,
configurá-lo para menos cinco Por fim, no início
do nosso script, vamos definir a
posição x como zero e definir o y para a posição
atual Agora, para nosso outro sprite de árvore, porque é o mesmo, podemos simplesmente arrastar esses dois
scripts para dentro dele desta forma A única coisa que precisamos
fazer é mudar a posição y. Aqui, podemos simplesmente configurá-lo
para sua posição atual. Clicando em reproduzir. Como você pode ver, temos uma boa animação
com as árvores clicando em Iniciar. Eles desaparecem. Agora, claramente, há um
problema de que nosso sprite e nossas árvores ainda estão funcionando.
Vamos abordar isso. Primeiro, indo para o sprite do
nosso jogador, podemos simplesmente arrastar um esconderijo até essa bandeira clicada e, em
seguida, arrastar quando eu receber, configurá-la para iniciar o jogo
e, em seguida, arrastar em um bloco de exibição Agora podemos simplesmente arrastar
isso quando eu recebi bloco em nosso sprite de árvore,
nossos sprites de pixels de neve
e nosso sprite de pontuação Primeiro, indo para
nosso sprite de árvore, aqui podemos arrastar o script
para o
início do jogo W que recebi e
colá-lo no botão quando a bandeira clica Então, passando para o nosso pixel de neve, podemos fazer exatamente a
mesma coisa aqui. Trocando isso e
movendo a pele, sem mais nem menos. Com o segundo sprite da neve, também
podemos fazer a
mesma troca e movimento Por fim, com nossa pontuação. Aqui, podemos simplesmente arrastar esse script de chamada de função de configuração até nosso W Eu recebo o início do jogo. Por último, você pode arrastar e se esconder
até a bandeira W clicada Clicando em reproduzir. Como você pode ver, isso parece muito bom. Quando clicamos em Iniciar, bem, há alguns problemas. De qualquer forma, lidaremos
com tudo isso na próxima lição, onde
terminaremos este jogo Mas eu encorajo você
a tentar e tentar ver se consegue resolver esses pequenos
problemas finais sozinho.
58. O toque final: refinamentos e revelações: Bem, agora é o grand finale. É hora de terminar
o que começamos. Essa é a
fase final do desenvolvimento. É onde
examinamos todo o nosso código, testamos nosso jogo várias vezes garantimos que tudo esteja
perfeito antes do lançamento. Mas, em primeiro lugar,
temos um problema quando
clicamos em Iniciar, que é como todos esses
sprites não se dispersam Vamos consertar isso um por um. Primeiro, com nosso botão Iniciar, tudo o que precisamos fazer é arrastar
o bloco quando eu recebo, alterá-lo para iniciar o jogo e, em
seguida, arrastar um bloco oculto. Em seguida, arraste até a bandeira
W e clique em. Testando isso e clicando. Comece, podemos ver que funciona. Agora, passando para o nosso sprite
de árvore aqui que cometemos um
erro anteriormente quando
arrastamos este bloco de exibição,
recebo o bloco de início do jogo Na verdade, não precisamos disso, pois isso acontece automaticamente
em nosso outro script, então podemos simplesmente removê-lo. Agora podemos literalmente fazer o
mesmo com os outros sprites. Em primeiro lugar, nosso pixel de neve. Basta remover o show. Em seguida, o segundo
pixel de neve, faça o mesmo. Por fim, com nossa pontuação, também
podemos remover o show. Chutando o play. Em seguida,
aperte o botão Iniciar Como você pode ver, nosso
problema foi resolvido. Agora, há mais uma animação que
eu quero adicionar à
nossa tela inicial, e é para o nosso botão Iniciar. Aqui eu quero que o botão aumente e
diminua o zoom. Basicamente, será um código
muito semelhante
ao nosso sprite de árvore Passando até ela,
podemos simplesmente arrastar uma bandeira clicada para sempre
para repetir os blocos E dois mudam de tamanho em blocos, que podemos colocar
em cada um deles. Para o primeiro,
podemos configurá-lo para 0,2 e os dois últimos -0,2 A última coisa que precisamos
fazer é definir o tamanho para tamanho atual, que é 25. Em seguida, basta inserir um bloco
para garantir que ele
permaneça na posição. Isso é tudo. Ao clicar em play, como você pode ver, temos uma pequena
animação e clicamos em Iniciar Bem, isso funciona bem. Agora, uma coisa extra que pode ser melhorada são
nossas árvores de obstáculos Se você já jogou o
jogo por tempo suficiente, pode ver que as árvores simplesmente
aparecem em uma formação de linha, o que não parece muito natural. Passando para o nosso sprite de árvore, tudo o que você precisa fazer é duplicar
o script aqui, assim Mas agora, se tivéssemos que jogar, essas árvores desovariam exatamente ao
mesmo tempo, que seria
ainda mais natural Queremos alguma variabilidade. Para corrigir isso, precisamos
usar um pouco de matemática e eu sei o quanto
você ama sua matemática. O que podemos fazer é remover
essa variável aqui
e, em seguida, passar
para os operadores e pegar alguns blocos aqui, que são isso mais
uma escolha aleatória, um bloco de vezes e
um bloco de divisão. Então, podemos duplicar nossa variável de
geração duas vezes. Agora que temos todas as peças, precisamos conectá-las à taxa de
geração mais a escolha aleatória e, em
seguida, o bloco de horários
na primeira entrada Em seguida, insira esse
bloco de divisão nessa entrada
e, em seguida, as variáveis de geração
em cada uma dessas entradas Agora, com tudo isso conectado, para a primeira entrada, podemos digitar dois e menos
um para a segunda. Vamos
analisar isso rapidamente para que você entenda o que
estamos fazendo aqui. Quando o jogo começa, criamos clones
continuamente. Agora, para fazer com que a conagem pareça
mais natural e, em vez de sempre esperar a mesma quantidade
de tempo entre os clones, adicionamos alguma Determinamos o
tempo de espera da seguinte forma. Primeiro, calcule a taxa
de desova definida. Exemplo de 0,5 segundos. Em segundo lugar, escolha aleatoriamente um valor entre metade da taxa de desova, subtraia-o de si mesmo, tornando-o negativo e
a taxa de desova total Em terceiro lugar, adicione esse
valor aleatório à taxa de geração. Por exemplo, se a taxa de
geração for 0,5, o tempo de espera pode
estar entre
0,25 e 0,5 segundos A variação aleatória garante que
os cones não apareçam muito previsível e causa
um medo muito mais natural No entanto, a única coisa que
talvez precisemos agora é nossa velocidade de desova, porque agora temos dois
conjuntos de obstáculos Para fazer isso, podemos diminuir a
taxa de geração inicial aumentando esse número aqui ou alterando o quanto ele
diminui aqui OK. Agora, há um outro problema que você
pode ter percebido. Se você remover essa declaração de
peso, verá que às vezes
as árvores aparecem na frente uma da outra.
Como podemos corrigir isso? Tudo o que precisamos fazer
é pegar um bloco go to layer e um bloco
move layer. Então, de acordo com o script aqui, quando eu começo como um clone, queríamos voltar para trás uma camada e depois avançar,
digamos 35 camadas Isso garante que nossas
árvores sejam colocadas corretamente e também que nosso jogador
esteja atrás de nossa árvore. Nós podemos testá-lo. Se
você tiver um olhar atento, notará que as árvores
estão empilhadas corretamente e nosso jogador se move
atrás de nossas árvores Então, nesta fase, chegamos a um momento muito
importante. Acompanhe-nos. Realmente quero. Você tem que nos
acompanhar. Só espere um momento. Coloque um de seus
braços no ar. Vá lá. Certifique-se de que
você está fazendo isso. Coloque um braço no ar. Agora, desça o
máximo que puder atrás de você.
Você está fazendo isso? Bom. Agora, toque em algum lugar no meio das suas
costas. Excelente. Você acabou de se alongar.
Mas o mais importante é que você deu a si mesmo
um merecido tapinha
nas costas. Bem feito. Seu jogo está completo e chegar até aqui
significa que você é um dos nossos melhores alunos e mostra
que você tem a persistência
de um verdadeiro programador Bem feito. Você fez
muito bem em conseguir você. Acho que é hora
de você sentar relaxar e aproveitar o
que criou. Por que você não
desafia seus amigos e familiares a jogar seu jogo? Ei, se você vai adicionar uma mecânica secreta que torna o jogo mais difícil
quando eles jogam, quem sou eu para julgar, o jogo
é seu É a sua persistência
e perseverança que lhe trouxeram até aqui um trabalho
fantástico e bem feito
59. Introdução ao curso de HTML: Oi, é Craig, você. É Josh Yo. Sim, e vamos guiá-lo por meio de nosso curso de introdução ao HTML cinco.
Curso muito empolgante. O objetivo deste
curso é ensinar o básico do HTML cinco, do que se trata e como
você pode realmente
ser um programador de HTML e
configurar seu primeiro site Vamos ter uma visão geral rápida
do que abordaremos. Nesta primeira seção,
iniciaremos nossa primeira seção com uma introdução ao HTML,
como ele funciona, como
é montado, editor
Brown no qual você
pode usar todo o básico Deixe você se sentir confortável. É muito importante. Quando você canta para comer,
você quer se sentir confortável Em seguida, começaremos a analisar a formatação de imagens e como
podemos alterar os tamanhos, como podemos adicionar imagens Então, equipado com isso, você está quase
pronto para reunir suas primeiras
páginas da web em nosso site. Nossa terceira seção
analisará essencialmente como
juntar tudo isso e criar
seu primeiro site. Em seguida, veremos
tabelas, planos de fundo e muito mais. Basicamente, isso será
como fazer com que seu site aparência bonita e organizada e não tenha tudo
espalhado, colocando um plano de fundo um
pouco como o quarto de Josh Você não quer que
tudo fique por aí. Quero dizer, se você pudesse
organizar sua vida em seu quarto como
um site HTML, quero dizer, poderia parecer muito
legal. Essa é essa seção. Então, bem, botões,
tamanhos de links e muito mais. Vamos nos envolver um
pouco mais. Veremos como você
pode vincular páginas, criar botões, alterar o
tamanho das imagens, etc Não, só para esclarecer, este é um curso introdutório Você não
vai acabar com isso ,
tipo, eu sou um mestre. Eu sou o Jedi de todos os
desenvolvedores de programação de páginas da web. A ideia é
apresentar o básico a você. Mas, no final
, você não se
sentirá confortável trabalhando com HTML? E quando você se sentir confortável
trabalhando com ele, há muitas opções
para ir mais longe, conforme todos nós
exploramos nesta lição
e em outras posteriores. Então você deve ter uma pergunta, e a pergunta óbvia
que está em sua mente é sim, é exatamente isso. O que é HTML cinco? Por que são cinco? Por que
não é quatro, três, dois, um? Por que ele tem um número?
O que é isso tudo? Essa é uma
pergunta muito boa, e, claro. Se você fosse um aluno ativo e nós o
incentivássemos neste curso Se você fosse um aluno ativo,
na verdade pesquisaria no Google. Eu te desafio. Vá lá. Eu te desafio a fazer uma pausa agora
e ir ao Google. Certo, então o que você descobriu? Bem, você descobriu,
não é? Esse HTML cinco é, na verdade composto
essencialmente de três partes. É a parte HTML, o CSS, que significa
cascata Você
pesquisou? Folhas de estilo. E JS, que significa? JavaScript. Certo, então essas são as três partes que
compõem o HTML cinco. O HTML é, na verdade,
um ambiente. Então, o HTML
é essencialmente o que permite que seus sites conversem entre
si para entender
o que realmente está acontecendo. Analisaremos isso em um
momento. Depois, ao lado disso, há um CSS, que eu disse ser uma folha de estilo em
cascata CSS, Josh, o que é
isso tudo? Então, o CSS é basicamente assim com HTML, você pode fazer com que seu site tenha uma aparência muito
boa apenas com HTML. E então, com CSS, basicamente, é
assim que você coloca muitos
pequenos efeitos, estilos e animações e todo esse tipo de coisa que deixa seu site
ainda mais bonito Então, HTML é o esqueleto
e CSS é a capa. É a pele que passa por cima dela. E então, é claro, se você quiser que ele tenha
movimento, tenha um coração, tenha o coração batendo que está
pulsando
para dentro e
que está lhe dando vida, em
última análise, você precisa de JS,
que é E é aqui que
você está realmente começando a codificar coisas que
farão o processamento que fica por trás e dentro do esqueleto e da
pele. Então isso é HTML. O HTML cinco é composto por
HTML, CSS e JavaScript. Mas neste curso,
não vamos analisar CSS e JavaScript. Vamos
analisar o HTML porque é aí que
tudo começa. Essa é a base. Então, vou explicar rapidamente
para você como isso funciona. HTML é essencialmente código. É um código que fica em uma página, como você vê aqui, e na verdade
é um código de computador. É um código que permite que um computador entenda
o que outro está dizendo, e esse código é passado de um lado para o outro, e esse código é enviado
para um navegador. E dentro do navegador, ele interpreta esse código, que é o que
vamos aprender, e o exibe de uma certa maneira Essencialmente, tudo o que o HTML
é é uma série de códigos, linguagem de
programação
que um navegador pode interpretar e depois saber
como exibir as coisas. Por exemplo, ele dirá: eu quero uma foto. Eu quero que
a foto esteja aqui. Eu quero uma mensagem e quero que
a mensagem esteja aqui. Tudo isso está escrito
nesse código, que é HTML, linguagem de marcação de
hipertexto
e, em seguida, qualquer
navegador que você esteja usando,
seja Chrome, Explorer, Safari ou qualquer outro, interpretará esse
código e o exibirá Vamos
aprender sobre HTML e como podemos criar sites
básicos. Primeiro, veja
isso, é muito cansativo. O que
acha, Josh Parece muito confuso. E você provavelmente já se
deparou com isso em diferentes estágios. Se, em algum momento, observar o código-fonte
por trás de uma página da web, é
isso que está por trás
das páginas da web. Parece cansativo, tipo,
uau, o que está acontecendo lá Mas vamos
ver em um momento, verdade não é tão difícil. Depois de entender o
básico de como o HTML funciona, é realmente muito
fácil e você está prestes a
se tornar um codificador de HTML Aqui está um exemplo de um
segmento de código HTML. Novamente, parece, uau, o que está acontecendo aqui É realmente muito simples. Essencialmente, tudo o que compõe o código
HTML é
composto por uma série de tags. Você verá que há uma etiqueta,
uma etiqueta é algo que ocorre entre esses
pequenos colchetes, aqueles pequenos colchetes
diagonais Aqui temos uma etiqueta chamada cabeça. Agora, para cada tag ou
para a maioria delas, para cada tag de abertura, haverá uma tag de fechamento. Uma tag de fechamento é precedida
por uma barra. Você pode ver aqui que
temos uma barra frontal, cabeça e cabeça são
a etiqueta de abertura Se você olhar em volta, poderá ver outras tags de abertura
e fechamento. Aí temos uma que
não parece tão óbvia, e aí podemos ver
a etiqueta de encerramento. Mas, novamente, essa é a nossa etiqueta A. Lá está aberto,
embora haja alguns outros
pequenos componentes, não se
preocupe com o momento,
mas aí está o fechamento. Viu algum outro? Sim,
há uma etiqueta H um, a fechada, a aberta,
não, não, não, não. Essencialmente, é disso
que trata o HTML. É sobre código, código
que é composto por tags, e essas coisas são
interpretadas pelo nosso navegador O que você vai
aprender é escrever esse código. Então é isso. É isso que vamos cobrir
neste curso. HTML, introdução ao HTML. Esperamos que você esteja animado.
Estamos empolgados. Sim. Nos vemos do outro lado. Tudo bem. Nos vemos lá,
prepare seu cérebro, aqueça
seus dedos e vamos começar a
aprender sobre HTML
60. Editor de texto Sublime: Certo. Então, o que vamos fazer logo de cara
é que teremos que baixar o Sublime Text Editor Agora, mostraremos como
fazer isso e trabalharemos
com o Sublime Text Editor Mas quero mostrar
por que vamos
usar isso como nosso editor de
texto para HTML. Agora, vou
colar o HTML. Imediatamente, quando eu colar
, você notará que há cores e
há recuos, etc Quando você trabalha em um
editor de texto como o Sublime, isso facilita a
visualização do funcionamento e da organização do seu
HTML Se eu clicar na tabela de
palavras, você verá imediatamente
que ela está destacada onde está a outra extremidade
da tag. Não se preocupe com os
detalhes no momento. Quero mostrar a você que é a aparência de um editor de texto
especializado editor de texto
especializado
projetado para HTML. Em comparação com se você trabalhasse em algum
editor de texto normal como o Text Edit, se você notar que agora eu
colo isso
lá, não há código de cores em comparação com o que
tínhamos no Sublime Se eu clicar em uma tag de
abertura como Head, você não saberia
que essa é a tag de
fechamento
ali, etc Há muitos
benefícios em trabalhar em
um editor de texto projetado
especificamente para HTML. É isso que queremos
fazer. Precisamos conseguir isso. Então, de antemão, você precisa baixá-lo.
Então é assim que você faz. Ok, então se você está
se perguntando como
baixar esse editor de texto, existem muitos editores de texto,
muitos, existem online, há muitos, há
colchetes, sublines Subline é uma boa.
Muitas pessoas o usam. Basicamente, você tem sublina Texto três e a
sublina Texto Mas o três está
na versão beta há muito tempo, então vamos usar. Dois. Sim. Então, acesse o Google e pesquise Baixe a
sublina Text two Sim, se você acabou de colocar texto
Sublime ou
o que quiser ou texto
Sublime também, isso
deve bastar para você Ok, então aí está
o Sublime TesterNTSA, então temos tudo isso funcionando. Então, se
você é um Mac como nós, você vai Mas se você é um usuário do
Windows, isso é legal. Vento: nós gostamos do Windows. Adoramos o Windows.
Nós amamos todo mundo. Você é uma pessoa do Linux, seja o que for. Basta escolher sua versão e fazer o download.
É bem simples. Basicamente, você
clicará no link da versão desejada e
fará o download desse arquivo. Quanto a nós, seria um arquivo DMG, e nós
baixaríamos esse DMG
para seus Ok, então já
baixamos isso. Então, ao abri-la,
você verá uma nova guia vazia e
sem título que
temos lá Então, isso é basicamente isso que você obtém quando
o abre, não muito. Você está trabalhando em uma folha em branco. Agora, lembre-se do que estamos
fazendo neste curso, estamos analisando como criar
um site do zero e, embora existam ferramentas
especiais que
podem tentar fazer isso por você aprendendo HTML, o que você está fazendo
é aprender a linguagem básica
que está por trás da web Parece um pouco intimidante porque você se depara
com uma tela grande, escura e assustadora que não
tem nada nela, mas você
aprenderá que em breve, mesmo que haja
muito texto nela, você entende o que Ok, então a primeira
coisa que fazemos apenas para começar com nosso HTML você precisa salvar seu projeto porque, obviamente, HTML é uma coisa, você tem CSS. Então, quando o salvarmos,
basta pressionar o Comando S e
podemos ir para um desktop. Podemos até criar uma
nova pasta para uma web. Sim, obviamente, todos os
seus arquivos que você vai criar são pequenos arquivos HTML
separados. Ok. Cada um deles será
necessário. Exigirá um nome e sugerimos que você salve todos em uma pasta. Vamos chamá-lo de
nosso site e, em seguida, garantir que você tenha um HTML com
pontos no final. É assim que ele sabe o que
você está editando e como será formatado quando estivermos editando e todo
esse tipo de coisa. Obviamente, quando o salvamos
e o abrimos,
o Google sabe que se trata de um site HTML. Além disso, é uma boa ideia quando última análise,
esses serão nomes de
arquivos. Se você for
usar um nome como esse, é uma boa ideia,
em vez de usar espaços, que serão substituídos por pequenos caracteres
engraçados, escrevê-lo como uma
palavra ou colocar pequenos hífens Lá, temos um ponto HTML do site informando que se trata de um arquivo HTML. Ok, então agora vamos salvá-lo. Você pode ver instantaneamente
no topo que ele tem o HTML de pontos do nosso site. Esse é realmente um ambiente bem
simples. Então, em qualquer estágio, arquivo, novo arquivo, você pode
criar outro. Você pode renomeá-lo
e até mesmo ter várias guias abertas se quiser, e
veremos isso mais tarde Mas, basicamente, esse é o ambiente em que
você criará seu site e
escreverá seu código HTML. Você sabe o que fazer? Vá lá, vá e baixe Sublime Text dois ou talvez três ,
se for totalmente da
versão Beta, o que você quiser Eles são praticamente iguais, e você vai precisar
disso para continuar. Não se atreva a assistir
mais nada até
fazer isso, bom Ok, até a próxima.
61. O esqueleto do HTML: Bem-vindo de volta.
Só tenho uma pergunta. Uma pergunta para você. Você baixou
esse texto do Sublime? Porque se você não
parou agora, volte porque era disso que tratava
a lição anterior. Se você quiser
participar deste curso, lembre-se de que este curso
é sobre ser ativo. É sobre estar envolvido.
O que acha, Josh Sim. Tudo sobre ser ativo. Porque é assim que você
aprende. Então, se você ainda não baixou o
editor de texto, clique em pausa agora Houve minha pausa, e
você volta e baixa. Mas presumo que
você tenha feito isso. Então, agora temos nosso Sublime
Text Editor e, como dissemos, é muito melhor do que ter apenas um
editor de texto normal para formatar as coisas Agora podemos fazer
coisas legais. E o que queremos mostrar é
o processo, não é? Queremos mostrar o processo. Qual é o processo
básico envolvido? Como vamos começar
a receber algum texto em nossa página agora? Basicamente, há
duas partes nisso. Lembre-se do que você está fazendo,
você está criando código HTML, que é o código-fonte
que fica por trás das páginas da web. Isso deve ser
salvo em um arquivo
e, em seguida, esse arquivo
será aberto dentro de um navegador
onde possa ser exibido. O navegador é o
intérprete do arquivo. Ele entende o que significa
o código-fonte. Portanto, esse código-fonte
é interpretado pelo Chrome, Safari ou qualquer
navegador que você esteja usando Então, dê um exemplo Olá. Como você está? Você é o que agora digitamos
no arquivo D. Fantástico. Ok, então você sabe, já que salvamos esse
projeto específico em HTML da web. Agora, se acessarmos
este arquivo, sim, podemos dizer abrir e depois abrir com o Chrome como quisermos, porque
algumas coisas, como Safari ou Internet Explorer, não serão exibidas quando ficarmos mais avançados Você verá muitas
coisas que o Chrome fará outras
que você inseriu
um determinado trecho
de código e, em seguida, o
Safari e o Internet Explorer não mostrarão esse tipo de Sim, tudo isso
bagunça. O que você deve sempre se lembrar de
fazer se você fez todas essas alterações e
continua cometendo o mesmo erro, é como se não estivesse fazendo
isso, não estivesse colocando
a nova frase. Se apenas dissermos
comando e pressionarmos S, você notará que aqui está o comando salvar S.
Agora, o comando salvar S. quando atualizarmos nossa guia, e só como uma pequena
dica para você,
você notará que, ao digitar algo alto, ele não está Você pode ver que tem um pouco que indica
que você ainda não está salvo Obviamente, se eu passar por aqui e atualizar
para ver o arquivo, ele não tem a nova
parte que acabei de adicionar Então, muito importante, quando você
digita algo aqui, salve, então eu vou pressionar o
Comando S. Note não
é mais um pequeno ponto indicando que agora está salvo. Se eu voltar aqui novamente, agora
está sendo refletido. Entendi. É um processo muito
simples. Você digita seu código
aqui, clica em salvar e o abre no navegador. Mas sempre
que estiver no navegador, você precisa recarregá-lo para que
ele veja o arquivo novamente. Ok, então uma coisa que também
notaremos é o espaçamento, como digamos Sim, vamos colocar um espaço.
Vamos fazer com que pareça mais bonito. Ok, então
vamos dizer olá e a próxima
pessoa diz oi. Alguns espaços de
linha aqui. Se fizermos isso,
não é realmente necessário. Olá. Sim, espalhe. Vamos espalhar isso. Que tal fazer com
que fique bem espalhado, olá, oi E então ele puxa
nossa página e então, você sabe, eu não sei,
alguns pontos de exclamação Isso parece legal. Então,
salve esses comandos. Ok, agora você percebeu quando
estávamos atualizando a página. Sim, é o quê? Não tem. Parece uma porcaria Sim, é lixo. Quero
dizer, nós digitamos. Veja como digitamos.
Foi lindo. Foi como se estivesse
na primeira linha. É bem óbvio. Isso está na linha quatro. Então não está funcionando. As coisas
estragaram, Joshua Ok, então com o Sublime Text, não se
trata de ver se
você tem um monte de espaços e o quanto você está espaçando-os
e tudo Obviamente, se você tiver um
espaço, ele
colocará um espaço
para suas frases, mas não o
organizará dessa forma. Para isso, você precisa
colocar o seu próprio, temos esses espaços sem
colchetes É um pequeno
código que você
insere para contar o que está acontecendo. Você diz à página da web
quantos espaços você tem,
então, resumindo , isso não é o
que se chama de WizzyWigra Sabe o que isso significa?
Wizywig. Joshua, o que é whizzie? Vá lá, diga a eles. É o que você vê é
o que. Então isso é Wizzywig Então lembre-se, você é
na verdade um programador. Quando você trabalha em HTML,
você está criando código, então você não o coloca forma e pensa que, quando
eu vou para o outro lado, tudo
vai ficar como
se estivesse em uma linha. Então, o que precisamos fazer é realmente colocar
os códigos que explicarão ao navegador, no
caso do Chrome, como ele exibirá isso como uma página. E é aí que entram
os
fundamentos do HTML e o uso de
algo chamado tags OK. Uma tag muito fundamental. Isso não é para inserir os espaços, mas abordaremos todas
essas coisas mais tarde. Basicamente, toda página HMI
que você tem tem isso. Depois de salvar seu projeto como h dot em qualquer site HTML, se você acabou de abrir, esse
atalho não funcionará Se usarmos HTML e
apertarmos o botão da guia, você notará que ele
extrai tudo para você Você tem sua cabeça. Você não precisa
se preocupar com tudo isso. Sim, vamos
explicar tudo isso para você. Seu corpo. Basicamente,
chamamos isso de esqueleto. Você tem uma cabeça
e então isso é. Então, antes até agora, você não tinha uma
cabeça no corpo, basta fazer isso e você
tem uma cabeça no corpo. Sim. Então, este é o seu
esqueleto para HTML e , em seguida, vamos
preenchê-lo para preencher o código
do nosso site Absolutamente. Então, basicamente, novamente, é por
isso que estamos usando o Sublime porque o
Sublime está fazendo por Sublime está
lhe dando a estrutura. Então foi muito simples. Só vamos te
mostrar mais uma vez. Portanto, não é HTML. Estamos fazendo código HTML, então você digita HTML e depois pressiona o branco. O que dissemos?
Você estava ouvindo? Aba. Assim que você clicar,
vamos usar isso repetidamente, você não vai esquecer isso. Ele fornece imediatamente a estrutura básica
de uma página HTML. Muito rapidamente, só quero te
mostrar a estrutura. Sempre começa com
uma tag HTML de abertura. Todas elas são chamadas de tags. As coisas que ocorrem entre
os dois pequenos colchetes
são chamadas de etiquetas Começa com uma abertura e depois logo no
final está uma final. Como dissemos em nossa sessão
anterior, quando eu clicar nesta, você
verá as duas agora destacadas. A etiqueta de abertura está apenas
entre as chaves. A tag de fechamento sempre
tem uma barra
e, em seguida, o código Ele fornece HTML
aberto, HTML fechado. Vamos ver os detalhes desses
outros mais tarde, de cabeça aberta na parte superior, cabeça fechada logo abaixo. Título aberto, título fechado, corpo aberto, corpo fechado. É basicamente dar a
você o que Joshua disse, certo? Esqueleto esquelético.
Basicamente, com HDMI, tudo o que vamos fazer é construir o esqueleto
neste curso, que é nosso curso para iniciantes Vamos
construir o esqueleto, que é basicamente a maior parte do que você vê
em todos os sites Então você entra no CSS, o que faz com que pareça um pouco melhor. Isso é o que você chama de skin, e então você tem
JavaScript, o que é? É como um coração pulsante que fica
realmente complicado Sim, mas um passo
de cada vez. Uma vez. Depois de dominar
isso, o esqueleto,
outro curso, você pode ver
como faremos a pele Então, se você realmente quiser dar coragem a
essa coisa e
fazer essa coisa funcionar, que é todo o
processamento e a lógica, então isso é codificação real,
isso é o JavaScript. É disso que trata o HTML five. O HTML cinco é composto por
HTML, CSS e JavaScript. Neste curso, você aprenderá tudo sobre HTML ou
a parte HTML, o
que é muito divertido. Você pode criar um pequeno
site básico e
ficará tão
orgulhoso quanto uma joia russa
no mercado chinês. OK. Não acho que aquela
galinha ficaria muito orgulhosa. Então, na próxima lição, abordaremos
o que vamos
fazer na cabeça e no
corpo e tudo mais. Então, dobre isso, faça seu pequeno HTML, aperte o botão tab.
Certo. Entregue isso. Eu só quero
te mostrar uma pequena coisa enquanto estamos aqui: se agora começarmos a
brincar com essas coisas, e lembre-se de quando
mostramos antes, nada de interessante
acontece desse lado. Quando começarmos a usar códigos
para fazer coisas interessantes
e, novamente, não se preocupe, mas isso é um
olá, como você está? E agora eu coloquei isso
em um código de cabeçalho e agora estou salvando. Então, estou usando códigos para exibir ou dizer ao navegador
como exibi-los. Então eu vou, Cross, nós nos refrescamos. E ficou bom e grande. Então, imediatamente, ele está aplicando algum nível de formatação a ele Ok, então é isso
que o HTML está fazendo. O HTML está lhe dizendo como exibir o código que está
aqui. Então, sua vez? Vá até lá, você baixou
seu Sublime Text Editor. Jogue um pouco,
porque em nossas próximas aulas, daremos
uma olhada e começaremos a analisar essas tags diferentes, o que elas significam e como
você as usa quando
começamos a criar seu
primeiro site.
62. Tags de HTML: Bem vindo de volta. Estamos em
nosso Sublime Text Editor e, se você seguir as instruções
da lição anterior, não terá apenas
baixado o editor de texto, mas também
terá visto
algumas noções básicas ao
digitarmos o código Este é o nosso
código-fonte, código-fonte HTML, e depois passamos para nosso navegador do outro
lado, onde você pode ver esse código-fonte interpretado e exibido na página
do navegador Então, o que queremos ver
agora são apenas algumas noções básicas sobre as tags
e como elas funcionam Agora, se você se lembra,
isso é HTML, a
tag mais importante ou a primeira tag que
você precisa ter é
o quê? Isso mesmo. HTML. Basta digitar HTML e pressionar
tab, o botão tab, e imediatamente ele produz o que chamamos de esqueleto Se você se lembra o suficiente da lição
anterior, dissemos que este é o nosso esqueleto É composto por essas tags HTML, tag de abertura
HTML e tag fechamento
HTML
e várias outras. Vamos dar uma olhada
em alguns
desses tanques e
explicar brevemente os tanques
que temos aqui. Em seguida,
veremos alguns tanques que permitem que você faça algumas formatações básicas
apenas para ter uma ideia de
como isso funciona Ok, para
começar, como você sabe, temos uma cabeça e
temos nosso corpo. Então, na cabeça, geralmente, tudo o que você coloca lá
é realmente o título do seu site, seja o que for, se
houver alguma coisa. Quero dizer, se você der uma
olhada no momento, nosso site só tem
o título que está aqui dentro da guia
, o que
chamamos HTML de pontos do site da web.
Isso não é muito empolgante. Então, se entrarmos
no título real, você verá que podemos nomear
essa guia específica. Então, como você sabe, se você
acessa o Youtube ou o Google, sabe instantaneamente onde está
porque diz qualquer coisa
do Youtube ou do Google. Agora, quando salvamos isso e
voltamos para atualizá-lo, vemos um
site legal que eu criei Então, observe que isso é diferente. Existe o nome
HTML real, nosso site, não HTML, mas
aqui está o título, que obviamente é muito mais
útil. Também é útil. Este título para seus mecanismos
de pesquisa. Então, quando eles começam a
pesquisar coisas sobre o nome do
seu site, isso ajuda quando se trata o mecanismo de pesquisa poder identificá-lo com
mais facilidade. Há outras coisas
que podem passar despercebidas. Normalmente, são metadados
sobre seu site. Metadados significam dados
sobre os dados. São outras coisas que
podem explicar seu site. Não vamos analisar isso
no momento. No momento, tudo o que
realmente lhe interessa é o título. Essa é a única coisa
que você tem que colocar dentro dessa primeira
parte, que é a cabeça. Isso nos leva à próxima parte, que agora é nosso corpo. Ok, então
podemos nomear um site ou qualquer outra coisa e todas as coisas que
temos no site, você sabe, páginas que têm muito conteúdo e todo
esse tipo de coisa. Então, vamos começar. Se apenas disséssemos, olá, notaremos que quando dissermos isso, é
claro que eles estão lindos. Vai parecer muito
pequeno. Muito desinteressante Podemos examinar esses
diferentes para que possamos examinar o H. Aba principal. OK. Então, agora o que são, são H um, H dois, H três e etc., vamos dar uma olhada Esses são tipos de cabeçalho. Então, basicamente, está dizendo: Ok, eu gostaria de colocar
um pedaço de texto e quero que seja
cabeçalho tipo um. Assim, podemos digitar. Sim, vamos chamá-lo de
cabeçalho um para que você possa realmente ver um
exemplo de sua aparência. Faremos apenas mais um, então
faremos H dois por enquanto. Olá tab tab. Vamos chamar isso
agora de cabeça de dois. Agora vamos ver que essas são tags
especiais que
foram formatadas. E o HTML os reconhece. Imediatamente, você vê
o que aconteceu. cabeçalho um é uma tag grande, então você está recebendo um cabeçalho
grande e cabeçalho dois é um
pouco menor. Ok, então com HTML, vai
até H seis, o que é bom, vamos
tentar esse. H six, aperte tab e vamos digitar H
antes de seis e salvá-lo. Vá até o navegador L,
atualize-o e recarregue-o. E temos um amiguinho
minúsculo lá dentro. OK. Então, mais coisas que
temos além do cabeçalho é que, se
entrarmos aqui e digitarmos B, tocamos o som
para ficar brilhante, aposto. Ok, então é Sahl Bolt. Se quisermos fazer
alguns parafusos de texto
, basta digitar bola B B em negrito. Ousado. Seja ousado. Aqui vamos nós. Ok, então vamos digitar
algo próximo a ele novamente, não vamos colocar
isso em nenhuma tag. Você verá a diferença, dizemos isso, atualize-a Podemos ver Ok, então observe duas coisas que são importantes se você tem olhinhos muito
visíveis. A primeira é que você
notará que este está em negrito e
aquele não está em negrito. Foi exatamente
assim que dissemos aqui. Este fica
dentro das etiquetas, B, e perto de B. Este não. Mas você poderia esperar que
isso estivesse na próxima linha. Observe aqui que não está
na próxima linha.
Ok, eu entendo. Lembre-se de que mencionamos isso
em uma sessão anterior, mostraremos como colocar
as coisas em linhas separadas posteriormente. Mas isso não é um layout. O fato de eu poder até
colocar outra linha lá, eu poderia colocar alguns
espaços na frente dela, salvá-la, atravessar aqui. Como você acha que vai
ficar quando eu clicar em atualizar? Eu quero adivinhar. O que você
acha que vai parecer? Eu acabei de mudar isso. Eu o
movi para outra linha. Eu o movi para o outro lado. Na verdade, vou movê-lo
para o outro lado. Agora, na verdade, ele deve
vir logo depois disso, mas algumas linhas
depois. Ok, salve. Qual será a aparência? Exatamente o mesmo.
Nada mudou. Você notará que
nada mudou,
mesmo que eu o tenha salvo e atualizado porque esse não é
um espaço de formatação É o que eu mencionei. Não é um ambiente vibrante. Então, isso não faz absolutamente
nenhuma diferença. Toda a formatação
é feita pelas tags. As etiquetas são muito importantes. E, na verdade, quero ter
uma ideia de quantas, muitas,
muitas etiquetas existem. Se você
pressionar o colchete de abertura, todas as
etiquetas aparecerão imediatamente E o erro carrega e carrega e carrega
e carrega tags. Então, obviamente, você pode escolher, e estávamos vendo a tag
em negrito, e você pode ver os
diferentes cabeçalhos das tags. Eu poderia escolher isso desse
jeito. Então, essa é outra
maneira de fazer isso, e ele escolherá
uma tag para você. Então aí temos uma cabeça
de quatro e salve isso, volte, dê uma olhada, e
temos uma cabeça de quatro. Ok, espero que você tenha
aprendido muito sobre etiquetas e o corpo e onde você coloca todo esse tipo de
coisa e explore, experimente você mesmo,
leia muitas etiquetas Você notará.
Muitos deles não farão nada a menos que você faça
algo muito específico. Assim, você pode experimentar essas tags h1b, visa ou mudar diretamente para texto Eles fazem com que seu site
pareça diferente. Vá brincar, divirta-se, veja o que você também estraga. É assim que você vai
aprender. Nós
encorajamos cometer erros quando você está fazendo coisas porque, você sabe, todos nós cometemos
erros, e está tudo bem. Então, talvez você queira
fazer uma etiqueta em negrito ou algo assim
e faça isso e diga:
Ok, isso vai
ficar em negrito e você economiza, e é muito empolgante porque a última coisa
vai estar em negrito, e você
sai e dá
uma olhada e está em negrito, mas não pelos motivos que você pensou, porque se
você olhar com cuidado, você não fechou
a etiqueta em negrito aqui, e o que vai
acontecer é que tudo o que
vier depois, a loja será embalsamada mesmo
que você ache que está pronta Agora, é por
isso que é muito importante verificar se sua tag
está aberta e fechada, e essa tag não
foi fechada. Portanto, ele deve ter
um fechamento a para frente B e um fechamento, e isso está correto Divirta-se, brinque,
faça o que quiser. Em última análise, tudo se resume
a se divertir, fazer tomadas, seja o que for.
Certo, vá fazer isso.
63. Conclusão e exercício: Certo, então, nesta primeira seção, estamos aprendendo sobre o
básico desse ambiente Estamos aprendendo sobre o
Sublime Text Editor. Aprendemos sobre
o básico do HTML, como ele realmente é como
um pequeno esqueleto que ajuda você a
criar seu site Usamos código-fonte composto de como
essas coisas são chamadas? Etiqueta. É isso mesmo.
Eles são chamados de tags, e cada tag tem uma
abertura e um fechamento. Você pode ver a diferença
porque tem uma pequena barra
para frente para mostrar o fechamento Vimos como você tem
um abridor de HTML e mais próximo. Então você tem sua
seção de cabeçalho, que é essa parte, sobre a
qual você realmente não
precisa fazer muito além de talvez colocar um título, se quiser
indicar seu título. Você tem uma seção corporal que fica entre o corpo
e o corpo próximo. Mas agora é sua vez
de tentar um pouco. Você lembra que sempre economiza quando atravessa
e dá uma olhada, é sua vez de tentar. Isso é o que
gostaríamos que você fizesse. O que eu gostaria que você fizesse
é colocar isso como H dois é o quê? O que? O que você acha? Se você pode realmente pensar em
O que devemos escolher? AA. L. Ok, há um ótimo. Quem diabos sabe
o que é a etiqueta? O que você acha que
a etiqueta LR faz? Certo, então o que eu
gostaria que você fizesse? E Joshua e eu achamos que isso é uma
coisa ótima, porque quando você vê a etiqueta LR
e a experimenta, você descobre
e é muito legal Não vamos te
contar. É hora de você aprender
tentando por si mesmo. Então, o que eu quero que você
faça é muito simples, muito simples. É a etiqueta de IA. Você quer
descobrir o que ele faz. Então você já ouviu falar do Google. Excelente. O que
gostaríamos que você fizesse, eu não vou fazer, é
o que é o HTML da tag AI? Ok, eu quero que você
pesquise no Google, leia sobre
isso, para que você
entenda um pouco, porque há algumas coisas divertidas que você pode
fazer com ele que talvez não entenda se fizer isso imediatamente. E depois de fazer
isso, experimente. Gostaríamos que você adicionasse uma tag de IA ao seu
site. Então, entendi. O que você acha que
a tag de IA faz? Acesse o Google, faça uma pequena pesquisa
no Google, veja o que acontece
, leia
isso para que você esteja sendo
ativo em seu aprendizado. E então, quando você tiver
feito isso, vá ,
ah, volte e coloque. Experimente uma tag de IA. Mas leia-a primeiro para ver o que ela faz, para ver como
você pode
transformá-la de uma simples etiqueta de inteligência artificial fazendo uma pequena coisa para transformá-la em algo
um pouco diferente, mas você terá
que
descobrir por si mesmo Então,
essa é a sua primeira tarefa : permitir que
você jogue um pouco, se acostume com o ambiente e coloque um pouco de H
um, alguns H twos, alguns negrito, se quiser, e também
toque um pouco
da tag AR Vá se divertir, vá
aprender, cometa erros. Mas é assim que você
aprenderá. Se tiver alguma dúvida, se não
entender nada, sinta-se à vontade para deixar um comentário
na seção de comentários e
faremos o possível para ajudá-lo. Vá e divirta-se, faça
a jornada de aprendizado.
64. Novidades na seção: Bem feito. Você
termina essa seção, mas fica ainda melhor
na próxima seção. Na próxima seção,
veremos como fazer
com que tenha uma boa aparência. Como você pode adicionar um plano de fundo
interessante por trás do seu site?
Que tal um logotipo? Não apenas mostraremos como
inserir um logotipo, mas também
mostraremos
lugares onde você pode criar um logotipo sem nenhum custo. Portanto, a próxima seção
é realmente empolgante. Vamos fazer com que este
site tenha uma aparência fantástica. Vamos
levá-lo para o próximo nível. Vamos fazer com que seu site comece a se tornar
algo profissional. Então, o que você
está esperando? Vá para a próxima lição. Estamos
esperando por você lá.
65. Parágrafos e intervalos: Bem-vindo à segunda parte do
curso ICML, agora com Craig. Josh. Então, Josh, qual é o plano para essa parte
do curso? O que
vamos ver? Ok, então neste,
veremos como criar uma frase, um parágrafo
e, basicamente, como podemos torná-lo bonito e
organizado e qualquer outra coisa, vamos pegar algumas aspas agora
e
ver como vai
ficar com tags Sim, vamos
explorar mais algumas tags, e vamos para a direita, então vimos anteriormente
que você não pode simplesmente agrupar coisas e esperar que
tudo dê certo Você precisa realmente usar as tags HTML se
quiser que as coisas aconteçam. Vamos trabalhar
em nosso pequeno bloco de notas, como quer que você o tenha chamado.
Acabamos de chamá-lo de nosso site. Acho que a ideia é que temos algumas citações legais
sobre educação. Gostaríamos de criar uma
pequena página da web citações sobre o quão
legal é a educação. Como começamos? Você se lembra? Estamos em Sublime Text.
O que fazemos para começar? Nós pressionamos o H, porque esta é uma página HTML e você não
pressiona, você não tem Ok. Então você tem uma aba
na palavra f. Apenas supere. Bem, eu estava apenas entusiasmado. HTML. OK. E então você clica em tab e
aí está. OK. Então você não pode
ser totalmente preguiçoso, basta clicar em H HTML, e você
tem o básico e está pronto para
arrasar Então, o que acontece em Título? Ok, então um título, como sabemos. Então, o que estamos fazendo? O que
é esse site? Vai ser? Serão
citações sobre educação. Educação. Citações.
Parece uma coisa razoável. Ok, então agora
vamos vagar
até o corpo Certo, então queremos colocar
algumas citações aqui. Nós temos alguns.
Você pode acreditar nisso? Nós os temos apenas
esperando por nós lá. Temos três citações
muito legais. Aqui está uma bela do
nosso amigo Albert. Então, vamos usar esse. Agora, se
colocarmos assim,
isso não vai ser bom. Você sabe, isso não
vai funcionar bem. Na verdade, podemos salvá-lo. No momento, vai
parecer que está
tudo bem, mas não
há formatação Quando tentarmos colocar
outro
, vai
acabar sendo ruim. Então, agora, se tentarmos colocar
outro, você verá aqui. Sim, e isso não
vai funcionar. Vamos pegar nossa
segunda citação principal, essa do nosso amigo Nelson Parece que
abrimos o processo. Sim, queremos um em cada linha. Quero dizer, é importante
tentar manter as coisas vagamente organizadas aqui porque isso só mostra o que
está acontecendo Você saberá algo realmente
inserido para que eu possa ver o que está entre minha etiqueta
corporal de abertura e o fechamento Eu acho que, bem, isso
vai ser legal. Salve-o, atravesse, bata nele. E nada mal, feio.
Está tudo em uma linha. Por quê? Porque o navegador Chrome
está interpretando o HTML Até onde diz o HTML, tudo
isso é apenas
uma frase longa. Então, temos que usar nossas tags. E o que estamos fazendo aqui?
Esses são parágrafos. Isso é um parágrafo.
Ok, então temos essa tag especial chamada tag
P, que é parágrafo. Você pressiona P e depois
recebe um Tab. Sim. Agora, com o parágrafo, basicamente tudo o
que está dentro dele, como todas as palavras e outras coisas, elas permanecerão juntas
em uma frase. Portanto, nada pode ficar
entre palavras aleatórias que um código não possa aparecer
aleatoriamente no meio Então, tudo o que está
no parágrafo fica bem
junto. OK. Então, vamos mover a tag de
fechamento do parágrafo para o outro lado da nossa citação de
Albert Einstein, e tudo
isso será uma só, queremos fazer isso de novo porque temos uma
segunda aspa lá, P e pressionamos tab e
pegamos a tag de fechamento,
que é o parágrafo P para frente, colada no Agora temos dois deles. Se agora atualizarmos, aí está. Isso parece muito melhor.
Acho que tivemos um terceiro. Podemos muito bem continuar com a
terceira, vendo que estamos falando sobre isso, porque há
outra citação muito legal. Aqui está um do
Benny. Benny Frank Ele tem uma citação muito boa, qual eu
gosto particularmente porque se
trata de me contar e eu esqueço de me ensinar,
me envolver e eu aprendo. É isso que estamos
tentando fazer neste curso. Queremos envolver você.
O que eu vou fazer é clicar em P. Tab, e eu estou em uma pasta. E aí está no meio, então agora temos
três citações legais. E se fizermos uma atualização,
aí estão elas. A educação é o que
resta depois esquecer o que se
aprendeu na escola, disse o famoso Albert Einstein E eu vou passar para Joshua, que agora vai
dizer a segunda citação na voz de Nelson Eu não vou fazer
isso. Se a educação é a arma mais perfeita, que você pode usar para
mudar o mundo. Não acho que tenha havido
um conselho muito bom. O que tem Benjamin Benjar? Diga-me, e eu esqueço. Ensine-me, e eu me lembro, me
envolva e eu
aprendo. Como eu me saí? E eu não acho que
eles sejam muito bons. Acho que Albert
seria um pouco mais alemão. Educação ya é o que
resta depois de quê? Alguém esqueceu o que
aprendeu na sua escola, você. OK. Ok, então não estamos
fazendo uma coisa de dubladores. Só queremos ver
quais são as aspas. Então, eles funcionam dessa maneira. Parece muito legal lá. E se você explorou
mais as tags,
você sabe, existe
essa tag BR Sim, porque o que
seria legal, Josh Porque no momento, se
você voltar aqui, como o de Benji aqui, me
diga e eu esqueço e me
ensine, e eu lembro que todos seriam
legais se estivessem
todos em linhas separadas, talvez Eu acho que um BR vai ser
o único no final, você pode ver que há muitos. Então, eu não poderia te dizer o quê? Que tal apenas fazer isso?
Por que não fazemos isso? E nós simplesmente pressionamos Enter entre eles desse jeito,
e isso é muito legal. E então ficamos
lá e
fica exatamente assim.
Que tal isso? Sim. OK. Ei, isso é legal
assim. Eu o salvei. Atravessamos e
nada está acontecendo. Por quê? Ok, então se quisermos
colocá-los em linhas diferentes, temos essa
tag especial chamada BR, que significa break. É uma quebra de linha. Então, agora temos uma
pequena etiqueta BR lá. Vamos colocar outro lá. Então, no final dessas linhas,
queremos que seja uma pausa. Toda vez que você coloca um BR. Então, o que eu sugiro é mostrar como você
gostaria que fosse. Eu fiz parecer que cada
um estava em sua própria linha, mas você tem que usar o
BR. Aí está. Agora você tem uma quebra
de linha. Diga-me e eu esqueço BR, pare. Ensine-me que eu me lembro do BR e me
envolvi quando aprendi BR, então agora ele está sendo
formatado como queríamos Então, é simples. Trata-se de usar as tags. Vimos duas tags aqui. Sim. Temos o BR, o P e, obviamente,
temos um esqueleto Sim, aqui, temos tudo no
esqueleto. Agora, conseguimos
criar uma
pequena coleção de citações. Mesmo sem os espaços, obviamente
podemos colocar esses BRs nesses outros, porque se você tivesse que ver uma cotação
, normalmente não a vê em uma linha, você a veria
assim Especialmente se você quiser
que suas pequenas citações pareçam mais bonitas, Break it. Quebre isso. Além disso, o aviso
que realmente usamos, embora este seja um parágrafo, como Joshua disse anteriormente, há a parte de abertura
do parágrafo e a parte de encerramento Você pode fazer com que os BRs quebrem as
tags no meio, para que isso se aplique
a esse parágrafo Então, aqui
está. Um parágrafo. Se você quiser realmente deixar
isso claro, você pode fazer isso. Mas, novamente, isso
não fará nada com a formatação. Isso pode ajudar na
legibilidade do seu código. É importante tentar
manter seu código legível, usado e denso Se você vai
ter um parágrafo, coloque-o de forma que seja fácil de ver, torne-o legível para você Isso não afetará, como
você sabe, não afetará o pop final, mas pelo menos você pode
ver o que está acontecendo. Sim, exatamente. Se tivéssemos que usar sua arma mais poderosa e colocar uma BR aleatoriamente, BR e nós fazemos isso Veja, nós realmente não sabemos como
isso vai acabar. Colocamos outro BR aqui. E agora, quando
salvamos isso, não sabemos realmente
que vai acontecer, então teríamos que
atualizar isso Agora você só pode ver então, em vez de fazer isso, fazer seus
espaços baixos, você vai aqui. Agora podemos ver
aqui como nossa frase
vai ficar, vai ser
algo assim. Obviamente, todos eles
ficarão presos à borda. Agora, quando estou
procurando meu código, fico tipo, Ok, é
aqui que eu coloco meu B, é
onde eu coloco minha aposta. Portanto, é uma boa ideia. Então,
o que estamos dizendo é que a tag que você está usando aqui afetará a forma como
ela finalmente aparecerá. Mas tente definir
como você deseja que apareça, e então você verá
onde estão suas tags. Então, podemos ver como as tags de
parágrafo são marcadas, podemos ver como duas tags de quebra. Como você verá,
realmente não importa se você coloca a etiqueta do freio no final ou no início, é apenas uma etiqueta Quando chegar lá,
fará uma pausa lá. Portanto, não é muito importante. Você verá no
primeiro que
temos as etiquetas de freio com essa
aparência, o início da linha não
faz diferença Significa antes da palavra que, e Nelson, haverá uma pausa, e isso
estará na próxima linha Oh, há algumas noções básicas sobre criação de um pequeno site Então, agora criamos
nosso pequeno site divertido com algumas citações nele. Muito fácil. Você acha que eles seriam capazes de
descobrir como colocar um
título lá? Sim, acho que sim. Você acha que sim? Eu acho que vocês, C. Eu acho que vocês.
Que tal um título? Só queremos um título
no topo aqui que diz citações incríveis sobre educação. Como vamos
fazer isso? Vá lá, pense um pouco. Você
nos faz pensar um pouco. Nós não vamos
te contar. Se você não consegue se lembrar, volte para a seção
anterior. Queremos colocar um
título aqui. Como você faria isso? Certo,
vá em frente. Divirta-se um pouco.
66. Estilo e listas: Educação é o que
resta depois esquecer o que
se aprendeu na escola. Sim. Sim, Joshua? Sim. Sim. Sim. Sim. Ok, bom. Tudo bem,
então o que fizemos até agora Estamos
montando um
pequeno site fascinante com algumas citações sobre educação, mas acho que podemos
fazer isso Sim, definitivamente
posso fazer este spa. O que você acha que estamos
precisando aqui? Então, formatação. Sim, acho que precisamos
mudar um pouco só para que pareçam
citações, não apenas como. É um pouco chato
lá. Então, talvez vamos considerar o
tipo dessa parte aqui,
a citação real. Se colocarmos isso em itálico,
poderíamos fazer isso? Sim. Ok, então vamos colocar
as aspas em itálico. Ok, então, para colocar itálico, tudo o que vamos fazer é
garantir que você coloque um espaço,
depois coloque nosso I
e, em seguida, coloque uma aba nele E você verá que temos I. I para I. Tal. Sim. Então. Isso é bem fácil.
I para itálico. Ok, então vamos colocar a coisa toda,
não a coisa toda. Vamos colocar as
aspas em itálico. E acho que devemos
ver como isso parece. Sim, desse jeito. Sim,
isso é muito bom. Bem, descubra o que dizer de mim? Eu sou Nelson e Mandla. Eu também quero ter o
itálico para o meu casaco. Quero ver como você
mudou o mundo. Ok, sim. Sim, mas e eu? Sou Benjamin Franklin. Eu também quero itálico
para o meu quarto. Sim, então podemos colocar tell. Sim, vá lá, cara,
continue com isso. Todos eles. Sim, todos nós
queremos ter aspas em itálico Hum, bom. Vá lá, X. Ou Benjamin. Ou nada. Agora podemos fazer o O's para este, não
temos nenhuma pausa, então podemos ver o que
resta depois. O que resta depois? Faça uma pausa. Sim, isso é bom. Eu gosto
de fazer uma pausa às vezes. Sim, então faça outra
pausa lá, iate. E muito lindo. Você diz isso. Tudo bem, vamos dar uma olhada. Ok, então parece um pouco melhor. Oh, Benjamin Franklin, o
nome dele está em itálico. Ooh Ok, coloque isso muito
cedo, muito tarde. Assim, você pode ver o quanto é
importante também tentar ver para onde
suas tags estão indo. E, obviamente,
não é tão difícil. Você vê rapidamente, certo. Então, agora temos
apenas as aspas. Vamos colocar o
nome de Albert Einstein na próxima linha. Veja, no
momento, o nome dele está na mesma linha. Então,
o que precisamos lá? Precisamos de outro BR. Ok, então aperte enter e
vai para a próxima linha, então você pode ver que é para
onde
vai e depois colocar o BR. Então, agora devemos estar
bem quentes e legais. Aqui vamos nós. Lá vamos nós. OK. Vamos conversar com calma. Mas agora eu tenho outra ideia. Você não quer ideias?
Mamãe, hmm. Você tem. Ou você parece estar absolutamente fascinado com minha outra ideia Eu tenho minha ideia. Está tudo bem. Não, eu tenho duas boas ideias. Minha primeira é: vamos colocar
algumas coisas em negrito também. Talvez sejamos os nomes e os negrito. Vamos usar os nomes
porque isso pode fazer com que eles se
destaquem porque ainda
estão um pouco perdidos lá. OK. Então, vamos usar
itálico, negrito e quebras e você pode ver como tudo
isso começa a se acumular Então, temos essa
pequena seção. Vamos lá B, é a etiqueta B. Algumas das tags
são realmente óbvias. I para itálico, B para negrito. Novamente, abrindo em negrito,
onde você quiser, a tag final em negrito. Mas todo esse tempo,
observe que P, a tag do parágrafo, é o que encapsula o parágrafo
inteiro Dissemos no início que o parágrafo é
a peça inteira. Dentro dele, você pode ter pausas, negrito,
itálico e muitos outros Agora vamos colocar em negrito os nomes
de cada um dos nossos senhores. Ok, então senhores,
estejam preparados para serem ousados. Nós vamos aqui, nós o salvamos. Nós atualizamos e agora você
percebe. Sim. Isso é olhar. Dan doce, doce, doce, querida. Sim, para que possamos ousar
sempre que quisermos. Sim. Bunda. Boa ideia. Sim, mas, B. B. Acho que poderíamos superar
uma melhor do que essa Que diabos é isso? Eu vou te dizer o que? Eu tenho algumas
citações legais. E desiste. Eu tenho alguns filmes legais,
nós temos desistências de rien up. Quero dizer, se eu te perguntasse, Joshua, você sabe,
se eu te perguntasse, qual você diria que é seu melhor filme sobre educação, aprendizado
e esse tipo de coisa Melhores filmes. Sim, bem, me dê um. Você está bem Uh,
tantos, tantos. Tantos, muitos.
Existem muitos. Engraçado, eu não vi Freedom,
como eu sei, muito bom. Ok, essa
é legal. Então, digamos que o que queremos fazer
agora é colocar uma lista de filmes
educacionais. Então, vamos dizer,
o que talvez diga Ah top, qualquer que seja a grafia
de filmes educacionais Certo. Agora, poderíamos fazer toda
a coisa ousada
e tudo mais, mas isso não vai acontecer vamos simplesmente pular isso como um H dois Não temos cabeçalhos muito grandes, nem
examinamos cabeçalhos anteriormente, H dois é um tipo de cabeçalho Então, aqui vamos usar
um cabeçalho de segundo nível, para que não seja
muito complicado. Vamos dar uma olhada em como é
isso aí. Ok, isso não é
tão ruim. Quero dizer, o que poderíamos fazer é mostrar que realmente
lembramos que o fato de
que a linha 19 não tem nada nela, não significa que a linha 19 não
tenha nada nela. Poderíamos fazer uma pausa
lá se quiséssemos, o que
nos daria um pouco de espaço entre, você
sabe, lá vamos nós. Então, isso é mover um
para baixo. Ok, então qual era
aquela que você estava dizendo? Escritores da liberdade. Escritores da liberdade. Então, agora, se eu colocar dessa forma,
o que vai acontecer? Provavelmente não vai
sair muito bem, não é? Não. Ok, está lá,
mas isso não é bom. Nós meio que queremos, tipo, bem, vamos pensar em
alguns outros filmes, e vamos ver
talvez nossos três melhores. Que tal nossos
três primeiros? Os três primeiros. Vocês estão lá fora,
estão assistindo. Qualquer um, quais são seus
três melhores filmes educacionais? O que é isso, senhor? Desculpe, senhor. Que amor? Oh, desculpe, eu sei. Aqui dizendo: Oh, Oh, para nós,
senhor, com amor. Sim, sim, sim,
essa é ótima. Ok, então, para nós, senhor, com amor? Sim, Tse with Love. Tudo bem, linda. francês. Na verdade, não é um filme
francês. Ok, Sr. Mo Craven. Quer
saber qual é a minha? Mhm Este é o filme
que agita o mundo. Esse é o filme. Além de filmes educacionais,
esse é super legal. Go D Sim. Vá lá, pai. Você reconhece isso? A famosa frase Carpe Dame do filme Sociedade
dos Poetas Mortos Ah, sim. Esse foi um filme famoso de
Robin Williams Sociedade dos Poetas Mortos. Certo. Fantástico. Ok,
então isso é um horror. Não é um horror.
É aí que ele está nessa cena famosa
e está olhando para essa fotografia na
parede quando você sabe, é de 200 anos atrás, 180 e todas as crianças
estão mortas, obviamente. Isso é, e quando eles se
aproximam, inclinam-se para perto, enquanto
todos se inclinam para perto, ele vai. Feixe. E eles se voltam e
olham para o professor e
acham que ele está louco, mas o que
significa Copy Dame, aproveite o Diz meus senhores, essas pessoas
estão empurrando as margaridas. Você viu que a vida à sua frente
pode fazer a diferença. Certo, estamos sendo
desviados, sim. Mas aqui vamos nós.
OK. Eles são feios Joshua, o que está acontecendo
? O que está acontecendo? Obviamente, não
colocamos nenhuma etiqueta para que pudéssemos usar
freios e outras coisas, mas na verdade queremos que eles sejam pequenos marcadores, não é Sim. OK. Então eu te ensinei honestamente a
olhar essa lista Qual lista? O que são Is? Sim. Você fez isso? Você disse
vá e veja o que é LI. É uma lista. Você fez isso? Espero que tenha feito isso. OK. Então, aqui vamos usar a tag LI? Sim. Então, o que é isso, Josh? O que esperamos
que aconteça? Ah, sobre mim, é
basicamente um elemento de lista. Então, se você tem algo em
I, vai ser como, OK, isso é um elemento de
um certo tipo de lista. Então, nós temos tudo isso. Ok, então temos
três nesta lista, examinamos e
damos uma pequena olhada. Ok, eu acho que eles têm uma
pequena lista de pontos. Sim. Então, sabemos que todos
eles fazem parte de
algum tipo de lista. Não é uma lista específica. É por isso que você vê
agora que temos
apenas o s. O que você realmente queria
fazer é colocar O, o que significa lista ordenada. Lista não ordenada. Sim, nós faremos. O que
realmente pretendíamos fazer era colocar Nós, o que significa lista não ordenada, que são nossos pontos principais. E isso significa que todas essas palavras aqui devem
estar juntas. Tudo isso faz parte da
nossa lista não ordenada. É como abrir
e fechar nosso
parágrafo para um parágrafo que
diz que é o início
e esse é o N.
A mesma coisa se
aplica a uma lista não ordenada, UL Há o começo e há
o N. Isso significa que todos eles pertencem a essa
única lista não ordenada Há duas partes
nisso. Ally é cada item da lista. A UL diz que é uma lista não ordenada. Vá e pegue alguns quadradinhos, agora
você verá que sabe
que todos estão juntos Só está recuado
corretamente porque sabe que é uma lista.
Mas você sabe o que? Para mim, alguns desses
são os três melhores filmes educacionais, mas não são apenas pontos. Na verdade,
quero dizer que, na minha opinião, essa é minha. Não sei qual
é a sua favorita, mas isso realmente não
importa porque eu vou digitar agora, e acho que é a melhor, mas não quero que
apareça apenas na parte superior Eu quero que seja um, dois, três. Então, qual é o problema com isso? Ok, então eu desordenei a lista. Se apenas fizermos uma lista
ordenada, você saberá que não. simples quanto isso. Agora vai
ser uma lista ordenada, então mudamos UL para OL, não ordenada para lista ordenada, e Pot Society, número um, a pedra que temos em nossos três
melhores filmes educacionais Carpve tem um bom ouvinte. Não preciso
exagerar na lista. Isso está parecendo muito
legal. Sim, então você pode ver que é muito pequeno
em comparação com essa fonte. Então, obviamente, se você quiser, podemos mudar todos os
tamanhos. Vou deixar você fazer isso. Você pode examinar todos
os cabeçalhos, os três H, tentar
torná-los ousados apenas para deixá-los bonitos e precisos. Isso. Certo, então fizemos algumas coisas
muito legais ao analisar nossa codificação. Estamos bastante
envolvidos e desenvolvidos agora. Você pode ver que estamos usando
vários tipos de tags, e cabe
a você experimentar um pouco. Por que e veja se você pode
criar um pequeno site divertido ou uma pequena página como essa com
algo que seja
importante para você, talvez citações educacionais ou citações de
receitas ou citações de filmes ou
citações de vida, o que você quiser, até você.
67. Tabelas — o segredo por trás do layout HTML: Certo, então você está
arrasando como um código HTML. O que você acha?
Eles já são como ninjas ? Ainda não, mas. Eles gostam de micro ninjas. Como quase ninjas. Mas agora, estou vendo isso. Está parecendo legal. Está parecendo legal. Mas o que
você acha, Josh Oh, precisa de estilo.
Ele precisa de mais. Sim, sabe o que
seria legal? Temos isso muito grande. Parece que
há um urso polar perdido
em uma tempestade de neve aqui Tem um urso
polar perdido na tempestade
de neve que
está acontecendo aqui Seria mais legal, talvez se
fossem como aquele
, do que um ao lado
, o próximo Vocês estão todos em uma linha. Sim, então as pequenas aspas
em um bloco como esse. Mas agora, se voltarmos aqui, faz sentido,
temos parágrafos, temos o P e
o P. Mas, quero dizer, como vamos fazer com
que fique lado a lado Precisamos de outra
coisa, algo que nos
permita colocar os três lado a lado. Estamos procurando mesas. Mesas, bebê. Outra lista de chamadas na mesa. Sim. Mesas. Vamos arrumar mesas? Sim. Vamos virar o jogo. Vamos arrumar mesas. Então,
como fazemos mesas? As tabelas são muito
simples. Muito simples. Assim como fizemos com
as listas, como você sabe, temos nosso OL, depois colocamos todas as nossas listas e depois
fazemos outro OL com tabelas, fazemos o mesmo. É como uma coisa composta. Lista ordenada, lista de pedidos tinha
e tem várias partes dela. Isso vai dizer tudo o
que está nas tabelas. Então, temos a etiqueta de abertura e as mesas terminam ali mesmo. Então eu coloquei lá.
Novamente, o que eu acho,
como eu disse antes,
é muito útil se você usar um pouco de tabulação apenas para ver
exatamente o que está acontecendo Isso o ajudará a
acompanhar porque, caso contrário, o que pode acontecer à medida que seu HTML
fica cada vez maior, você pode
começar a ficar um pouco confuso sobre o que está acontecendo. Use um pouco de tabulação e
você pode ver agora, eu posso ver claramente, tudo
isso está dentro da minha mesa Certo. O que precisamos a seguir? É um elemento da tabela. Mas
isso não acabou, não é? Não. Temos um TR
que é experimentar tarântula Nós temos TRs e você tem TDs. TR é a linha da sua tabela, você tem um monte de
linhas e, em seguida, você tem as linhas da tabela ,
então precisamos
essencialmente de uma tabela de linha, presumo que isso
seria em uma coluna Todos eles estarão na seção da segunda coluna. É uma tabela de uma linha, mas com várias
colunas nessa tabela. Sim. Colocamos um TR
no início e depois pegamos isso
aqui e colocamos
isso no final. Isso ocorre porque temos
apenas uma linha, é por isso que estamos colocando
no final. Então, aqui atrás, colocamos
isso ali mesmo. Então, em nossa única fila, temos uma mesa. Novamente, o que
vamos fazer rapidamente fazer um pequeno recuo aqui para que
possamos acompanhar Então, basicamente, o que
temos é uma tabela, e essa tabela tem uma linha. Agora, você poderia colocar mais linhas e veremos uma etapa posterior, mas seria tão simples
quanto colocar outro TR e você
teria outra linha. Mas não precisamos
disso no momento. Vamos apenas
fazer uma tabela de uma linha. Sim. Agora, para fazer isso, cada uma delas é
uma coluna na tabela. Sim. Então, temos nosso TD. O TD contém todos os nossos dados, certo? Ok, então TdS basicamente
representa os dados da sua tabela. Então, cada elemento que vai
estar na linha é um TD. Então, temos três
citações. Então, cada um desses. O primeiro de
Albert é um TD e você verá que tem um TD de
abertura e um TD de encerramento. O próximo, TD. E isso foi Nelson
Mandela Education. Homem usado. Cara, estou apostando. Quero dizer que a educação
é Benjamin Franklin, e ele também quer seu
próprio TD Você tem um TR lá,
e isso não está certo. Oh, isso não é certo
para mim. Eu sou Benji Por que eu não recebo TD? Sim, vá, vou
precisar pegar o TD. Benji vai ter seu próprio TD. Lá vai ele. E
aí está. Todo mundo tem um
TD. Vou refrescar aquele bebê Rocking, Parece que estamos cobrindo muito mais tela e
não estamos desperdiçando muito Certo, então as tabelas são um
elemento secreto que é usado, não como você esperaria. Normalmente, você espera que
Arth possa ter mesas, você verá linhas
e poderá fazer isso Você pode criar
tabelas que tenham todos os pequenos
contornos, etc Mas, na verdade, as tabelas são usadas com
mais frequência como elemento de layout
porque permitem que você coloque
as coisas lado a lado. Ao analisarmos nossa próxima
lição, talvez, por exemplo, seja legal ter
algo logo acima um título ou uma imagem
acima desses ou qualquer outra coisa. Então, as mesas são o segredo. Estamos dizendo isso
entre vocês e nós. Mesas. Dables. Mesas. Sim, mesas. Eles são todos
o estilo secreto que muitas pessoas não conhecem Então é assim que você pode organizar, senhor. Então, o que você acha, Josh Está parecendo bom.
Não estamos desperdiçando muito espaço. Obviamente,
temos mais opções com tabelas. Você pode
fazer essa pesquisa. Podemos colocar colunas que basicamente espaçam suas tabelas. Mas, por enquanto,
está tudo bem. Obviamente, isso está ficando
mais detalhado com nossas mesas Então eu acho que nossas mesas
estão legais. Parece muito bom. Tabelas são uma coisa muito importante
quando você está criando sites. Sim. Então, em nossa próxima lição, porque você vai querer
verificar a próxima lição, temos que pegar a tabela, podemos estendê-la um pouco mais, vamos adicionar outra linha. Então, vamos colocar
algo realmente especial, mas você só se
qualifica para fazer isso se sair e experimentar
por si mesmo. Vá lá. Vá lá e crie para
você uma pequena mesa, mexa com ela,
veja como funciona Muito simples. Você deve ter uma tag de abertura e uma tag de mesa de
fechamento. Então, quantas linhas você quer? Bem, começando com uma
linha, tag de abertura, fechando
e, em seguida, para cada elemento nela, você tem um TD de abertura e
um fechamento para os dados da tabela. Simples assim. Saia
e divirta-se.
68. Adição de imagem: Bem vindo de volta. Nosso pequeno site está chegando, com uma
aparência super legal. Mas podemos fazer com que pareça melhor. Sim, nós podemos. Definitivamente.
Sim. Você acha Sim, acho que podemos fazer com que
pareça melhor. Você está convencido? Sim, só para acrescentar
isso. Aquele Choi V. É isso que você vai
dizer? Ah. Ok, seja o que for. Mas eu quero começar
como uma coisa pequena. Temos essas
pequenas coisas e colunas legais para ver como
talvez fossem um centro um pouco melhor Agora, centralizar é uma coisa
muito útil por qualquer motivo, se você quiser centralizar
um pedaço de texto ou qualquer outra coisa, vamos
centralizar o que está
nas colunas Lembre-se de que temos nossa linha
e, nessa linha,
temos itens de dados, que são essencialmente nossas colunas. Aqui está o nosso primeiro, e
esse é um parágrafo formado entre a abertura
e o fechamento P. Agora, o que podemos fazer é
usar a tag central. É realmente muito simples. Adivinha o que é. Basta
digitar a palavra centro, é a tag central, que é a tag central,
e você pode simplesmente
copiá-la e colocá-la entre nossos ps de abertura e
fechamento, então, obviamente, o que temos
que fazer
é fazer isso de novo para cada um deles. Vamos colocar
a etiqueta central. Então, novamente, você pode simplesmente centralizar e fazer isso para que queiramos que cada um
deles seja centralizado Portanto, há um pequeno atalho
interessante que
podemos ver mais tarde que pode ajudá-lo a tornar
isso um pouco mais fácil No momento,
mantemos apenas uma coisa de cada vez, então centralize a etiqueta,
abrindo e fechando. Tudo bem, então vamos dar
uma olhada em Beliscando. Aqui vamos nós. O que deveria acontecer? Três, dois, um. Estrondo. Ok, você
meio que é uma boa ideia. Eles agora estão centralizados
em cada uma dessas colunas. Certo, então não é
fã, nem proibição, nem é ruim. Mas você sabe que
fica muito mais limpo. Oh, isso é lindo, mas você sabe o que o
tornaria mais bonito? De uma imagem. Oh, sim, sim, sim,
como neste Youtube. Você sabe, isso é legal.
O que você acha? Sim. Você tem seu texto e , acima dele,
temos nossas imagens. Sim, então você tem o
texto abaixo de uma imagem. Então, se tivéssemos um design como esse, teríamos nosso texto ou nossa imagem. Então, talvez seja um pouco
chato no momento. Precisamos saber, Sire V. Quem é esse? A contratação V. De
quem é isso? O hoi V. Essa é
a palavra certa? Meu, eu não sei. Seja o que for. Sabe, eu
só preciso desse visual. Qual é a
palavra que estou procurando? O que nós somos? Precisamos dessa imagem, tipo, é chata.
São só técnicos. Então, o que seria legal, Josh, é se tivéssemos, tipo, uma foto de Albert Ya Ermste
Nelson Nelson Mandela Benjamin, senhores, Franklin.
Acima de cada um deles. Então eu acho que podemos
fazer essa pedra. Então, o que vamos fazer? Então, vamos ter que
encontrar essas imagens. Teremos que
encontrar essas imagens. Ok, então essa é a primeira
coisa que vamos fazer. Então, vamos
até nosso amigo Google. Iremos especificamente para a pesquisa de imagens do Google porque esse é o lugar
mais fácil para procurar imagens. E quem foi nosso primeiro companheiro que tivemos lá, Albert. Alberto Einstein. Então, se quisermos obter
uma imagem de Albert, o que você pode fazer é
uma pequena dica aqui. Em vez de obter uma imagem enorme e
gigantesca que
levará muito tempo para carregar
em seu site e causar todos os tipos de problemas, você pode controlar
vários itens aqui Então, ao clicar em ferramentas, você verá uma pequena lista suspensa
com algumas opções E você pode escolher qualquer
tamanho grande, médio. Você pode até escolher
um tamanho de ícone, que obviamente será
bonito e pequeno. Então, vamos fazer isso. Tudo bem. Vamos ver, há uma pequena
foto interessante de Elbert Você gosta dele com
essas pequenas línguas saindo aqui, Certo. Então, quando você encontrou
uma imagem que você gosta, o que você precisa fazer
é obter o endereço da imagem onde
essa imagem está armazenada, ok? Então você clica com o botão direito do mouse e
escolhe Copiar jarra de imagem. Sim. Endereço da imagem, sim. Sim. Endereço da imagem. Sim,
então vamos precisar desse endereço porque é
onde a imagem está hospedada. Sua imagem precisa estar hospedada em algum lugar. É muito importante. Então, ou você precisa enviar sua imagem para um local
onde possa hospedá-la. Por exemplo, você pode
hospedá-lo no Google Drive, Dropbox, onde quiser, se estiver pagando
por alguma hospedagem Mas, em última análise,
precisa ser pontual. Agora, você poderia hospedá-lo
localmente em seu próprio site, mas ele só
funcionaria no seu computador. Mas depois de
publicar na web, as pessoas não poderão acessar
seu disco rígido local. Portanto, ele precisa ser hospedado online. De qualquer forma, estamos apenas
usando isso, estamos apenas apontando para essa imagem que está armazenada no site de alguém. E vamos para a Nipacrosia. Agora, o que precisamos
fazer, Joshua é o quê? Precisamos de mais linhas. Sim, acho que
colocamos outra linha, então vamos
colocar uma linha acima dela. Quantas fileiras
vamos no momento? Temos uma fila. R, temos uma fila. Você pode ver isso começando aí. Então, vamos
colocar outro. TR. Então, estamos prontos para colocar outra fila lá,
fazer algumas pequenas especificações. Então, agora o que vem a seguir? Temos que colocar TDs. Ok, então vamos
colocar nossos TDs, que serão nossos
dados, para que possamos basicamente acabar com três deles Então, vamos ter um
desses para que ocorra acima
de cada uma das linhas abaixo, haverá um para cada um. Ok, nós configuramos corretamente. Agora temos um espaço em branco.
Se olharmos para ele nesta fase e salvarmos que
ficará incrível
, não gostará de nada. Você deve ter notado que ela simplesmente pulou um pouco
porque na verdade é uma
fileira em branco, mas nada nela Certo, o que vem a seguir? Como inserimos uma imagem?
Isso é o que eu quero. Agora, com a imagem, é
aqui que chegamos ao que a maioria dos sites
tem são imagens
e, na verdade, é bastante fácil. Se apenas digitarmos IMG
e você pressionar Tab, isso será preenchido automaticamente Você sempre tem que apertar a guia. Pt. Como você pode ver
se fizermos isso, você pode ver a
sugestão que o IMG acertou Sim, vai ter
isso. Mais fácil de fazer, basta ir ao IMG, clicar na guia e
você verá que Auto cai, SRC é igual e tem
esse Esperando por alguma coisa.
Agora, o SRC é a fonte Isso quer saber onde a imagem
está armazenada. Isso é o que estávamos
dizendo há pouco. Você deve informá-lo sobre
onde a imagem está armazenada. Tem que ser armazenado em algum lugar. Agora, obviamente, será uma página da web on-line. A imagem deve
ser armazenada on-line. Então, no momento,
os que estamos pegando estão armazenados
no site de alguém, basicamente vai
colocar isso Sim. Agora, se colarmos, esse é o link para a imagem. Então esse é um link para o site de
alguém onde essa imagem está,
e aí está. Albert está falando
sério. Só um pequeno ponto. Tenha muito cuidado se a fonte
tiver que apontar para uma imagem, não para outra
página HTML ou algo assim. Observe que, no final, isso
precisa ser uma imagem, um JPEG, PNG, algum tipo de arquivo de imagem, porque se você não fizer isso corretamente,
não obterá a imagem Sim. Na verdade, se descobrirmos
quem será o próximo, Nelson Vamos procurar Nelson.
Nelson? Bem, você. Tudo bem, então ainda estamos
pesquisando os tamanhos dos ícones. Qual deles nós
queremos? Essa é uma delas. Essa. Você pode usar.
Eu posso usar esse. Agora, novamente, agora observe atentamente, observe que
estou clicando com o botão direito do mouse. Agora, o que estamos fazendo aqui é que eu não estou copiando
um endereço de link. Isso é diferente. Estou copiando o endereço da imagem
porque é um endereço de link Deixe-me mostrar
se eu copiei e cole isso e cole para
que você possa ver como é É uma coisa longa que
se parece com isso. Não há PNG de pontos nem JPEG de pontos. Ok, não
estamos fazendo isso. Estamos copiando um endereço de imagem. Na verdade, quero
o endereço exato em que a imagem é
notada. Aí está. Veja, ele termina
com um JPEG. Então é isso que queremos:
o endereço da imagem. Então, Josh, o que
vamos fazer agora? Colar. Então, vá para o tabô. E cole. Certo, então esse é o nosso segundo , e depois
temos mais um. Temos que encontrar o velho Benji. Sim. Ben, cara? Onde você está? Oh, vamos ver.
Esse parece estar bem. Como você verá, foi em um dia
paralelo porque temos fileiras em um tamanho específico Todos eles serão 256 por 256. Você notará agora,
salve esta imagem salva. Copie a imagem do vestido.
Ah. Nós salvamos isso. Nós o colocamos aqui. Coloque-o aqui. Mande
Benji Benji Aí está. Benji está dentro Agora, você percebe que, ao atualizarmos nossa guia, você verá que elas são todas do mesmo tamanho, pois se
não as tivéssemos assim, elas não seriam do mesmo tamanho Sim. Quero dizer, isso pode fazer com que
pareça um pouco feio Então, digamos que
escolhemos especificamente os tamanhos dos ícones
, o que o tornou agradável. Deixe-me te mostrar se eu
tiver que dizer em tamanho grande. É quando vamos encontrar
outro tamanho para o
bom e velho Benji, e lá está Benji Agora você vê que é há muito tempo. Isso é 2744 por 189. Agora, na verdade, eu não
gostaria de uma imagem tão grande. Isso realmente tornará as coisas um
pouco menores. Mas, além do tamanho, o que vai acontecer
é se eu tivesse
que pegar o endereço da imagem e
colocá-lo e vamos
substituir o que temos aqui para Benji pelo novo Vamos substituir
esse pouco, retirá-lo e
colar o novo. Veja o que acontece. Quão lindo
isso vai ser? Que lindo ou
vai ser ou não. Ok, veja o que aconteceu. Esse é muito grande. Está demorando muito
até para carregar. Não parece bom. Não é do mesmo tamanho. Vamos
lá, Z, isso. Antes de fazer isso, temos outra opção. E
outra opção. Então você quer essa imagem, mas ela volta. É bonito
e preto e branco. Mas nem sempre é possível que
as imagens tenham exatamente
o mesmo tamanho. Sim. Então, vamos para que você possa realmente especificar
a largura da sua imagem. Então, ele vai escalar sua
imagem para uma certa largura. Então dizemos que largura é igual, então eu inverti mas,
y, e vamos Acho que era isso que
os outros eram. Então, vamos dar uma olhada. Para
Benji, trabalhe conosco Benji Trabalhe conosco Benji.
Trabalhe conosco Benji Ainda é muito grande para carregar. Ok, então ele tem a largura certa w, mas obviamente, a altura
seria diferente. Sim, porque tínhamos um quadrado. Se tivéssemos que definir
a altura também, ele seria muito quadrado. Um banjie comprido. Sim. Mas você pode ver que tem as mesmas
dimensões de Ok, então está muito legal. Assim, você pode alterar e brincar com
a largura dos itens. Assim, você pode adicionar isso ao final e alterar a largura de
qualquer um deles manualmente. E, obviamente, você precisa mexer na
altura, etc Então, idealmente, se você está tentando fazer com que
tudo pareça igual, você terá que tentar
encontrar imagens iguais. Ou, obviamente, você pode baixar as imagens e
recortá-las você mesmo. Oh, aí
temos três deles. Entendemos que isso não
parece muito ruim. Sim. Sim, temos Albert, Nelson
e Benjamin. Então, o que fizemos
sem o conhecimento das pessoas. Temos duas fileiras aqui com três colunas controlando isso, e temos imagens. Acho que está
parecendo muito bom. Sim. Quero dizer, uma história começa
a parecer um site. Sim, acho que
na verdade parece que
temos uma citação.
E o nosso pessoal? Eu sei do que precisamos.
Só uma última coisa. Só precisamos de um
cabeçalho na parte superior. Sim. O que você diz? Eu digo. Você diz. Ooh Então, o que usaríamos? Vamos usar o H. H um cabeçalho. Podemos dizer algo
sobre citações. Citações sobre educação. Sim. Citações educacionais
que abalam meu mundo. OK. Nós salvamos isso. Então, salvamos isso. E aqui vamos nós. Educação cruza
para Rock my world. Agora, novamente, o Benji demora um
pouco a chegar. O motivo pelo qual Benji demora
a chegar é o quê? É que a imagem é muito grande. Esse também é o
problema de escolher uma imagem muito
grande. Vê? Sim, não estou feliz com Benji. Vou voltar e mudar
Benji para um tipo diferente. Eu vou dizer Benji, eu gosto deles ou você pode até dizer exatamente. Essa é
a outra opção. Você pode escolher uma imagem
com um tamanho específico. Você sabe, mas eu estava
feliz com nosso Benji que
era especificamente de um bom tamanho Ben, você não se empolgou
muito. Então, eu sou cara, ele parece
muito infeliz lá. Sim. Mas de qualquer forma,
vamos mantê-lo aqui. Há um bom 2561.
Copie o endereço da imagem. Você pode manter o
tamanho, se quiser. Diz 266, então provavelmente vai
esticá-lo um pouco. Mas vamos
colocá-lo ali. Coloque esse. Acho
que vai ser melhor. E podemos ver como estamos
olhando e agitando nosso mundo. Sim, sim, parece melhor. Temos Benji bengi, fantástico. Aí está. Podemos
alterar o tamanho disso. Podemos alterar o
tamanho de todos eles. Se quiséssemos que fossem todos
um pouco menores, seria o mais fácil possível. É uma maneira fácil de dizer que
decidimos que queríamos todos esses Joshua um pouco menores dissemos que queremos
todos eles, não sei, 220 e queremos colar
esses 220 em todos Porque queremos
repetir, então me pergunto se cada um tem 220. Eu sei que podemos copiar e colar. Sim, uma maneira fácil de repetir , mas digamos que
não temos nada disso. Estamos começando assim. Se pressionarmos o comando,
você notará lá. Nós, você apenas mantenha pressionado o comando. Então você vê que
temos duas maldições. Clicando enquanto você segura o comando. Ao clicar, você
deve manter pressionado o comando. Clicamos para dar a você
outro cursor. Temos três maldições brilhantes. Sim. Agora, se digitarmos, dizemos o que é e então podemos
economizar 200 ou algo assim. 200. Seja o que for. Salvamos isso
e agora, quando atualizamos Está aqui. Lá
vamos nós. Um pouco mais aqui. Ah. Certo. Isso é fantástico. Então essa foi uma pequena técnica muito
legal. Então, se você quiser que algo seja feito em vários lugares,
você pode fazer três coisas. Basta pressionar o
comando e clicar em todos os lugares em que
deseja que isso aconteça. Certo. Então, vamos lá. Isso eu deveria parecer
bem impressionante. Temos um pequeno
site legal chegando agora. Temos ataques na cabeça, temos tabelas
e, em seguida, temos imagens, você tem formatação Você tem listas. Você tem
coisas fantásticas acontecendo. Muito bem nesta fase. Você sabe o que? Acho que essas
pessoas merecem uma pausa. Saia e tome uma xícara de café. Vá correr. Acho que
precisamos sair para correr. Ok, vamos dar uma corrida. Vá tomar uma xícara de café. Nos vemos de volta
do outro lado.
69. Nos bastidores — fonte da página: Certo, estamos arrasando aqui. Como diz o ditado, educação é
uma pedra no meu mundo. Então, agora, você está no
final da nossa seção e espero que tenha
descoberto algumas noções básicas Então, o que queremos fazer
nessa conclusão é mostrar algo muito legal e oferecer um desafio.
Joshua, eles estão prontos para isso Sim. Ah. Você acha que
sim, eles podem fazer isso. Ok, ele tem confiança
em você. Não tenho muita certeza. Então, vamos ver o que você pode fazer. Então, primeiro, nós só queremos te mostrar
algo muito legal. Como você já sabe, seu
site é esse código HTML basicamente é
interpretado pelo Chrome ou pelo seu navegador e
mostra a página Agora, o que você pode fazer é ver o
código-fonte de qualquer página. Não importa qual,
usaremos como meu, simplesmente clicando com o botão direito do mouse na
parte inferior aqui no Chrome, você verá algumas fontes de página. Agora, se você estiver usando outro
navegador, invariavelmente, ele estará em
uma das opções que você pode ver,
por exemplo, você pode
acessar as mesmas coisas em Exibir desenvolvedor Dependendo do
navegador que você estiver usando, haverá um lugar onde
você poderá ver a fonte da página. Estou clicando com o botão direito do mouse e posso
clicar em Exibir o código-fonte da página, e vamos lá. Vamos ver o que
existe dentro desse código. Lá vamos nós. Esse é o nosso código. Isso é exatamente o que escrevemos. Parece exatamente o
mesmo que tínhamos antes. Esse é o código real
em que o desenvolvemos no Sublime, e aqui está Então, é basicamente
pegar esse código e interpretá-lo
como aquela página da web Todos os nossos códigos, nossos links, tudo aqui agora que costumava parecer loucura
para você Agora faz sentido. Faz sentido, querida. Então, o que mais temos aqui, Josh? Ok, então outra
opção com o cromo, você tem essa inspeção, então isso basicamente leva você a isso, onde você vê que,
se entrarmos aqui, é qualquer corpo
que
tenha uma margem corporal, todo esse tipo de coisa Em vez disso, você pode
selecionar uma coisa específica. Digamos que se selecionamos isso. Você pode inspecionar
isso e ver o que foi feito, então
agora você vê aqui, isso é feito em uma etiqueta B. Uma coisa interessante é que você pode realmente mudar isso, vamos. Que tal, vamos
fazer disso uma etiqueta U. R: Lá vamos nós. Se mudarmos
assim, agora você verá. Mudou de negrito para linha. Ok, então, obviamente, está apenas mudando isso em
termos de exibição, mas está mostrando que você pode pular
imediatamente para uma peça
ou algo assim e dizer, bem, onde está o código
HTML dessa peça em particular? Qual é a aparência
e até mesmo alterá-la. Sim. Agora você pode ver, obviamente, que
isso não afetará o site para mais ninguém. Sim, é
apenas uma maneira pela qual você pode realmente ver
o que está acontecendo. Sim. Se você atualizar,
isso desaparecerá. Assim, você pode fazer essa alteração no código-fonte
original novamente. Sim. Isso é uma
coisa muito interessante que você pode conhecer. Uma coisinha legal que você
pode fazer com o Chrome. Tudo bem, então aí
está. Isso é muito legal. Esse é o nosso site. E se você quiser fechar
isso, você vai
voltar a ser como
era originalmente. Nada mudou. Então você aprendeu algumas coisas legais
e incríveis Vocês acham que estão à altura. Eu acho que você está pronto para montar um código como esse Ok, certo, então
aqui está a coisa. Se você ainda não fez isso, sua tarefa é criar um site de rock como o que
você tem aqui ,
com algumas imagens
abaixo, usando uma tabela,
algum texto, usando uma combinação de H
um,
H dois e qualquer cabeçalho
que você quiser e um pouco
da formatação e algo
que pareça formatado assim da formatação e algo que pareça formatado É muito importante
que você faça isso porque vamos
reunir
tudo isso em nossa próxima seção,
onde vamos tentar criar algo que
seja um site de várias páginas Queremos que você tenha certeza de que
sabe como fazer isso. Junte tudo e, como um pequeno desafio
adicional, veja se você
consegue
descobrir como ajustar a largura
dessas colunas. Lembre-se de que isso é
uma mesa. Essa é uma linha e
temos nossos dados de tabela em
cada uma das linhas, como temos aqui, nossos
vários dados de tabela. Existe uma maneira que você poderia usar
com alguém ou alguma pista? Que podemos espalhá-los. Então, você tem que encontrar uma
etiqueta ou não é uma etiqueta. Na verdade, é uma adição
à tag TD. Bem, funciona com a tag TD e nossas tags TR que podem
ajustar a largura. Não vai ser muito
difícil descobrir qual a largura e a
largura da coluna e tudo isso,
você pode descobrir. Então, veja se você consegue descobrir, configure algo
semelhante a isso e veja se consegue mexer um pouco na
largura Certo, então esse é o seu desafio. Acredito que você está pronto para isso. E é isso que queremos deixar
para você. E de agora em diante,
vamos acelerar o ritmo e fazer algo super empolgante
na próxima seção, à medida que
juntamos tudo.
70. É incrível o que está por vir na próxima seção: Certo, você está indo muito bem, mas o que vem a
seguir é ainda melhor. Na próxima seção,
mostraremos como
realmente criar sua página da web, como usar coisas como
listas, tabelas e imagens Você vai
transformar seu site. Você vai começar a
entender a essência do que é
um site:
colocar suas próprias imagens, o segredo das tabelas e como você pode colocar
listas e fazer pedidos. Então, queremos ver você do outro lado,
porque vai
ficar ainda mais empolgante à medida
que aumentamos o aprendizado Nos vemos na próxima aula.
71. Escolhendo um site e um tema: Bem-vindo à nossa próxima seção. Até agora, você deve
estar bem versado. Seu cérebro deve estar em e espero que seus
dedos estejam soltos e hábeis porque você
está testando toda a codificação HTML
que estamos aprendendo está testando toda a codificação HTML
que estamos Então, agora queremos
pegar suas habilidades e ver se podemos
juntá-las em algo legal e divertido. Então, já
criamos nosso site, que é nossa coisinha divertida sobre citações educacionais
que abalam meu mundo. Mas agora é hora de encarar
tudo isso e tentar
algo diferente Então você sabe o que eu estava pensando? Sim. Como você sabe
o que eu estava pensando? Porque o Google é. O Google sabe. O Google só dá aquela
sensação de que às vezes, você sabe, adora bolo. Então eu me deparei com algo.
Ou você se deparou com isso? Acho que eu diria que nós
dois nos deparamos com isso. Esse tipo de coisa. O que
temos aqui? O que está acontecendo? Este é basicamente um site
com um monte de receitas. Você pode ir e eu ficaria tipo,
animar esse bolo de chocolate. Falta bolo de chocolate. Se formos aqui,
veremos que eles têm uma imagem. Isso parece bom. Com
este bolo e título. Sim, essas pessoas que
gostam demais de bolo. E então tem algumas
informações ao lado. Então ele tem algumas instruções. Todos os detalhes sobre o bolo. Sim. Portanto, é basicamente um site
relativamente simples. Tem muitas imagens e, obviamente, o layout, você
pode decidir como quiser. Mas, basicamente, estou
vendo essa parte aqui. Tem muitas
imagens pequenas. Cada um deles é um bolo no qual você pode clicar e ele
vai te mostrar alguns. Ok, então vamos nos concentrar em tentar criar uma dessas
pequenas abas aqui. Sim, depois de
fazer um, quero dizer, é basicamente a mesma
coisa repetidamente. É a mesma coisa.
Então, obviamente, como você sabe o que
fizemos com nossas citações, temos todas essas pequenas
imagens, você pode ver com isso. Em vez de fazer uma citação, eles têm qualquer bolo de
chocolate e têm
tudo em uma mesa. Você sabe como dissemos,
tabela, tabela, linha linha, linha linha linha. Sim, então é basicamente como uma
mesa, assim como fizemos. Vamos ver se podemos
criar algo assim, algo delicioso, algo super doce e criar nosso
próprio site de bolos. Parece bom. Ok, então
esse é o nosso plano. Nosso plano é para a seção. Me desculpe por isso. Se você está com
fome,
esta é a sua hora. Vou sair e pegar
um bolo para você e enfiá-lo na sua
garganta porque isso
vai ser difícil, muito difícil porque
vamos fazer seu site de bolos deliciosos. Então prepare-se, prepare-se
mentalmente, fisicamente, emocionalmente e
tudo mais enquanto nos preparamos para uma saborosa
experiência de bolo online
72. Como criar um logotipo: Parece estéril.
Mas não tenha medo. que Barren parece que não
há nada lá,
porque, na verdade, não
há nada aqui, e
queremos acabar com
algo assim Mamãe. Ok, então é
um site bastante complexo no sentido de que tem outros aspectos, como
e-mails e nomes. Mas o básico disso é,
na verdade, muito simples, e é nisso que
vamos nos concentrar neste
curso introdutório em HTML Então, o básico está aqui, temos uma
espécie de cabeçalho E então, se você olhar aqui,
temos algum tipo de tabela
com imagens nela. Então, Josh, o que
vamos fazer para começar? Porque isso não
parece um H. Não, não. Veja, se passarmos por cima com
o mouse, você pode ver. Sim, você pode destacar isso.
Então, na verdade, isso é texto ,
mas isso não acontece. Isso aqui não é ex e esta imagem e, se você for
inspecionar ,
descobrirá rapidamente que não é texto Então, eles obviamente criaram.
Eles têm um pequeno logotipo. Então é isso que queremos fazer. Queremos criar um
logotipo que vamos
colocar na parte superior e depois colocar
uma mesa para algumas imagens. Então,
vamos começar com o básico. OK. Em primeiro lugar,
queremos economizar. Acho que há um bonde para nós. Então, abrimos uma nova guia. Nós fomos, entrem. Vá lá. Então, agora entramos. Ok, então vamos
chamar isso? OK. Melhor. Site de bolos. Não me lembro. Precisamos colocar o ponto HTML. Não esqueça. Não se esqueça do HTML com pontos. L, L. Você entendeu. Então agora eu sei. Ele sabe que isso
não será um CSS. Ou outra coisa, louca. Certo. Então, o que faremos a
seguir? Você se lembra? Aba HTML e B
Aí está a mágica. Tudo aparece. Então, já está dizendo,
qual é o título do site? Acho que devemos
colocá-lo aqui. O melhor. Então, isso vai
aparecer no topo,
lembre-se, Melhor site de bolos. Sim. Certo, então
isso é bem simples. Então, no momento, isso
não é nada demais, mas o que vamos
querer fazer quando
se trata do logotipo, talvez
voltemos a isso. Vamos montar rapidamente a
estrutura da nossa mesa que será colocada, tirar as fotos
do bolo. Sim. Ok, então
isso vai acabar. Se olharmos para isso, obviamente, você
não precisa
copiá-lo em particular, mas
é muito bom. Eles têm três por três, e vamos fazer apenas um,
dois, três a menos,
então são nove no total Eu posso fazer quantas
você quiser, faça isso, começamos com nossa mesa. Etiqueta de mesa. Sim. E então, lá dentro, temos
três conjuntos de TRs. Então, temos que fazer linhas. Está bem? Então, temos nossas linhas, então haverá uma, e você pode manter
todas lá para criar nossas
três linhas rapidamente. Não é sua mesa e
outra, não é? Sim. As fileiras. Certo. Então, três linhas e, em
seguida, dentro de cada linha. Temos três TDs, que são nossa tabela, que
é basicamente nossa coluna Então, haverá três
colunas em cada linha. Sim. Ok, muito fácil, há outra coluna e
há outra coluna. Sim. Então, basicamente,
poderíamos simplesmente copiar isso. Sim, e apenas cole. E vamos colocá-lo
dentro de cada uma de nossas fileiras. Sim. Muito fácil. Ok, então vamos colocar
isso aí. E precisamos de mais
um aqui. E a vida vai
ser simplesmente perfeita. Pequena configuração perfeita. O que temos é que uma tabela
vai ver
começando ali, terminando aí, e
temos a linha um, linha dois e a linha três. Dentro de cada linha, teremos
três colunas. Sim, isso vai ser bom
e fácil, três por três. Ok, então vamos salvá-lo se
quisermos dar uma olhada nele. Não haverá
muita coisa para ver, mas
vamos abrir nosso navegador. Então, meu melhor site de bolos. Sim, e abrimos aquela
migalha. Lá vai ela. Ela não é absolutamente nada lá. Ok, então, obviamente, você não
pode ver a mesa. Tudo o que você pode ver é que
demos um nome. Se você se lembra, poderíamos ir
e ver o código-fonte da página, e então você veria que
há tudo. Mas não há nada
nas colunas do assado ou nada
no momento. Mas isso é legal. Temos o básico
do que queremos. Certo. Então, vamos, hum,
nós poderíamos usar H um. Sim. Você se lembra disso?
Poderíamos usar H um, mas poderíamos simplesmente colocar como parte
do corpo apenas para dar uma pequena amostra do que
eles saboreariam. Oh, isso é incrível. Poderíamos ter feito isso
e dito o melhor bolo, o que, você sabe, não
é ruim. Eu não o chamaria de
o melhor site de bolos. Sim, esses não serão
os melhores bolos, mas aí temos os melhores bolos. Sabe, quero dizer, tudo bem, mas quero dizer, isso é mais legal. aqui, você sabe, eles têm a
aparência de um.
O que você diria? Tem isso como Choi V. Sabe, como você
diria isso Tem uma aparência
melhor que a nossa. Sim, sim, parece melhor
do que isso. Eu adoro isso. Então, o que temos que fazer é você
querer ter seu próprio logotipo. Mostramos rapidamente
que isso é extra, sem custo extra, nada. Você pode
criar seu próprio logotipo. Você não precisa ir
buscar uma pessoa cara. Há muitas
maneiras de fazer isso. Mostraremos
rapidamente como em vez de ter
o melhor site de bolos, você pode criar seu próprio logotipo. Aqui está apenas um site. Você literalmente poderia
fazer isso. Você pode usar o PowerPoint para criar seu
próprio logotipo, fazer o que quiser O resultado final é que você
tem que acabar com uma imagem. Por isso, mostraremos rapidamente
o logodesign.org
gratuito, como você
pode fazer isso rapidamente aqui Ok, então podemos ver que
temos todas essas coisas. Basta criar meu logotipo. Sim, fui criar um
logotipo para nosso site de sucesso, basta clicar em criar
logotipo no site gratuito logo design.org, e ele pensa por um tempo,
quando todos os elfos inteligentes que estão dentro do sistema
estão OK. O que queremos
escolher? Um, vamos ver. É bolo? Não
sei o que é bolo. Isso parece um pouco
exagerado. Não. Vamos ver. Esses bolos incluem milhões
de temas. Oh, meu Deus. Tem até comida e
bebida. Há 169 comidas e
bebidas, uma Oh, vamos ver se você
consegue encontrar um hambúrguer este goste.
Parece um bolo. Isso já está bem perto. Sim. Então, este não
deveria? OK. Então, basta clicar
nele e ele aparece. E agora podemos dizer: Oh, que bolo
fácil, como chamamos? A melhor arte de bolos que realmente
não temos. Ok, então
vamos
nos chamar de os melhores bolos. Os melhores bolos. Os melhores bolos.
É muito original. Tudo o que está feito, você pode
mover as coisas, soltá-las um pouco. Você pode mudar as
imagens, movê-las. Não vamos
mexer muito. Não é um curso de edição. Isso está apenas mostrando como
você pode fazer isso. Adorável pequena chance. Isso é lindo. Você
pode adicionar mais formas. Você pode descobrir
isso. Isso, você não precisa ser um
cientista espacial para fazer isso Sim, parece bem
simples. Nós temos nosso pequeno.
Você está feliz com as cores? Feliz? Sim, tudo, não precisamos ser
muito exigentes com isso Eu posso ver que há
muitos elementos nisso. Ok, então vamos
deixar as coisas assim. Como você pode ver, temos
uma opção de economia baixa. Ok, então essa é a essência
de tudo isso. No final das
contas, o que quer que você esteja usando qualquer designer, mesmo que esteja usando o PowerPoint, você precisa salvá-lo em um arquivo
JPEG ou PNG Meu dinheiro, dinheiro, mas não, não, dinheiro necessário se
você quiser comprar
os baixos Rs 200 por 200, provavelmente está
tudo bem, apenas
para um pequeno logotipo para nós. Ok, então. Ok, então, depois de executar o desafio e
inserir seu e-mail, eles esperançosamente
enviarão um link para você
obter seu Então, vamos dar
uma olhada e ver se podemos encontrar isso do outro
lado, pegar nosso logotipo. Certo, então você pode
ver lá está. Eu nos envio um e-mail com nosso pequeno logotipo,
parece muito legal. E agora podemos
finalmente baixá-lo e obter a imagem que
tanto precisamos para nosso site Certo. Então, agora
temos que salvar isso em um local adequado onde
todo o resto seja armazenado. Então, vamos
colocá-lo aqui com todos os outros arquivos. É bom manter
tudo em um só lugar. E agora está salvo
nessa pasta. Então,
entramos nessa pasta, veremos que
temos nossos vários sites, e também temos um pequeno arquivo
PNG, e aí está. Então, temos nossos logotipos com
um pequeno logotipo de baixa resolução,
mas ele está lá e agora podemos
usá-lo em nosso site. A questão é que você pode
criar um logotipo qualquer maneira. Neste exemplo, usamos um design de logotipo gratuito. Há muitas dessas coisas. Basta pesquisar no Google. Encontre
um que combine com você. Como dissemos, basta
criar um em alguma edição. Você pode até mesmo criar um no PowerPoint, Keynote, etc. Aí está nosso logotipo. O que vem a seguir é
que queremos inserir esse logotipo, em vez dessa coisa
chata de H , que não é tão interessante Josh, leve isso embora. Vamos inserir isso
como um logotipo de imagem. Ok, então podemos realmente colocar isso na cabeça
porque é um logotipo, isso é uma coisa que
você também pode fazer. Entramos no IMG e digitamos. Agora tem um espaço para imagem. Agora, se pegarmos
um logotipo aqui, veja. Então, na verdade, não estamos
usando um logotipo on-line. Agora lembre-se, se você tivesse que
publicar este site on-line, enquanto este site
funcionasse localmente, se você tivesse que publicar
on-line, essa imagem
teria que ser armazenada
on-line em algum lugar. Vou atualizar isso.
Temos nosso pequeno logotipo. Então, há um logotipo. Isso
parece muito melhor. Tudo o que Josh fez foi pegar
a imagem que está armazenada localmente na mesma
pasta do melhor HTML do Cakes Outra forma também
de obter essa imagem. Se tivéssemos renomeado isso, não
obteríamos a imagem Basta entrar aqui, podemos dizer abrir Worth. Agora, se dissermos
que abre o Chrome,
você verá que isso nos mostra que o
Dropbox usa Craig Blewett você verá que isso nos mostra que o
Dropbox usa Craig Se dissermos isso de novo, dando a você o caminho completo para isso. Sim. Essa também é outra
maneira de usar o Comando C, substituir isso por aquilo
e agora dizemos isso, volte lá. Vai
ser o assento. Sim. OK. Então, na primeira vez que o
colocarmos sem o caminho, o que ele
fará é simplesmente procurar
na pasta atual. Ele vai procurar na
pasta onde está o melhor HTML do bolo. Se renomearmos isso,
se tivéssemos acabado de dizer, ou se houvesse outra pasta, ela não a encontrará Bolo. Agora, se
tivéssemos que fazer isso, vá lá, economize. Atualize isso Vai ser ruim,
vai ser ruim.
Não há nada. Sim, então poderíamos
apenas atualizar o nome. Então, se voltarmos para encontrá-lo, abriremos isso novamente com o Chrome. Você pode obter o caminho completo novamente. Na verdade, é
melhor do que ter um nome aleatório, como
tínhamos antes. O que é esse 967,
isso é ridículo. Para dar a ele um nome que seja
vagamente compreensível. Quando você lê seu
código, sabe, ok, essa é a imagem do meu
bolo, o logotipo do bolo ou algo assim, dê um nome que seja
sensato e, obviamente, agora, você poderá vê-lo aparecer novamente em
nosso site Certo, então isso é bem simples. Então, abordamos o básico. Temos nosso melhor
site de bolos instalado e funcionando. Temos um título.
Temos um pequeno logotipo lá e arrumamos a mesa. Então, estamos prontos. Estamos
prontos para enfrentá-lo. Ok, então você
sabe o que tem que fazer. Vá comer um pedaço
de bolo e configure seu esqueleto básico para o
seu melhor site de bolos
73. Obtenha imagens gratuitas (legais) para seu site: Então, o esqueleto está no lugar. O logotipo está pronto, mas precisamos de mais. Então, temos nossa pequena estrutura
de mesa. Mas o que precisamos,
Joshua, é o quê? Precisamos de imagens. Precisamos dos bolos. Quer dizer, não é
que tenha
um logotipo muito legal, os melhores bolos, mas
precisamos dos bolos.
Precisamos das imagens. Agora, obviamente, se
há um lado real em você vender bolos ou fazer
algo parecido,
vou sugerir que você tire
fotos de seus próprios bolos. Mas, para não ter tempo
de assar
nove bolos diferentes, mostraremos
uma faixa muito sorrateira Agora, você não quer simplesmente
continuar,
pode acessar images.google.com
e Mas agora, tenha cuidado, há coisas protegidas por direitos autorais por
aí, sim, sim Então, para encontrar algumas imagens
muito legais, e você pode usá-las para
todos os tipos de imagens, acesse pixabay.com Aqui você pode obter
imagens gratuitas. É simplesmente lindo. Você pode deixá-los aqui. Eles são compartilhados por nossa
generosa comunidade, uma e 0,1 milhão de imagens. Então, é super fantástico. Há tantas
imagens legais aqui. Vamos. O que você
vai procurar? Ah. Bolos, bolos, bolos, bolos. Esse é o tamanho de bolos.
Bolos são bons. O mesmo que pesquisar imagens do Google. O que você pode fazer é que
haja uma especificação aqui. Você pode escolher se
quer apenas fotos, etc. Você pode até escolher fundos transparentes e começar a dizer:
Bem, você queria um
certo tipo de tamanho Aí está. E aqui, temos muito bolo. O que
precisaremos fazer é escolher um bolo delicioso. Então Joshua me avise quando
você ver sua fita. Sim, então vamos deixar a
de topless. OK. Linda. Então, novamente, tudo o que você precisa fazer é abrir novas guias porque você terá
muitas. Ok, então vamos
abrir alguns bolos em
abas diferentes para que
possamos rapidamente precisar de nove bolos Mas mostraremos como fazer uma ou duas só para
você ter uma ideia e descobrir
o resto. Delicioso. Acabei de terminar. Ok, então ele tem uma fileira de bolo, então vamos comer
aquela, aquela. E, cara, isso parece bom. Ok, então o que precisaríamos
fazer agora é o que
vamos fazer? Vou ter que baixá-lo. Teremos que
baixá-los. Novamente, há duas
maneiras de fazer isso. Podemos vincular diretamente
a esta imagem, copiar o endereço da imagem ou como mostramos anteriormente,
você pode baixá-la. O problema de apenas
vincular diretamente
à imagem que está armazenada
on-line no site de outra pessoa, se ela
a excluir, você terá um problema
no seu site Descarregá-lo significa que
você tem controle sobre ele, mas também significa que, se quiser publicar
seu site, precisará colocar
essa imagem on-line em algum lugar Vamos baixar essas imagens. Nós só vamos salvá-los. Você pode escolher Salvar como
ou, melhor ainda, se
escolher o download gratuito, você pode realmente
escolher o tamanho. O que devemos ir? Deveria
usar imagens menores? Talvez. Sim, bem, quero dizer, o
ponto principal é que não
precisaremos de imagens muito grandes porque
vamos apenas colá-las. Quero dizer, você pode. Depende de você. O que você quiser
fazer com as imagens. Em seguida, clique em baixar e
fará o download dessa imagem. Vou dar a
eles alguns nomes sensatos, bolo um Obviamente, você daria a
eles um nome
mais inteligente do que esse e
faremos o mesmo com todos os nossos bolos. Vamos
baixar o bolo dois. E chame isso de bolo também. E você está tendo
uma ideia sobre esse estágio. E vamos baixar o bolo número
três dessa resolução. Portanto, você
precisaria fazer isso com
todos os seus bolos ou
teria que ter suas próprias imagens. Mas o PixAR é um lugar legal para
conseguir algumas imagens.
Então aí está. Agora baixamos três
imagens e precisaremos
colocá-las em nossa tabela. Josh. O que você acha Tem que ser bem simples. Sim, então temos todas
as nossas imagens lá. Podemos ver uma
delícia decente, deliciosa. Novamente, tenha cuidado com
o tamanho das imagens. Esse é um tamanho decente. É de tamanho médio para a web. Você não quer que seja um risco
muito alto,
porque então o carregamento será mais lento Mas, obviamente, você também quer que
tenha uma aparência vagamente decente em uma bela
imagem escrita do tipo display, laptop ou computador Ok, agora podemos copiar isso. Certifique-se de obter o JPEG
agora que copiamos isso. Vá lá. S. Agora colocamos a imagem
em nossa tabela, então IMG. Agora colocamos nosso
pequeno link lá, agora ele tem k dot j peg, salve isso para ver como
nosso site está até
agora. É muito grande. É uma grande mãe do bolo. Você realmente consegue ver
os detalhes disso. Então, podemos mexer
no tamanho das pernas agora, mas vamos colocar nosso bolo Bem, primeiro coloque, eu acho,
então podemos mudar a largura. Então, voltamos para encontrá-la. Na verdade, sabemos os
nomes. Nós podemos discutir isso. Mantenha pressionado o comando e você verá que duas
maldições aparecerão desse jeito Agora, quando vamos ao IMG, eles fazem tudo
ao mesmo tempo Está vendo assim? Agora
podemos comer bolo. Nem precisamos entrar, só temos que mudar isso para quatro bolos. Temos um, dois e
três. Dois. E um. Vamos retroceder.
Sim, seja o que for. De qualquer forma, agora dizemos que
isso vai parecer muito estranho, mas podemos. OK. Converse agora. Certo. Então, como você pode ver,
temos nossos três bolos. Eles estão sentados em
uma fila, em uma mesa, mas são enormes entre elas Ok, agora usando nossa
pequena dica, comando. Vá lá, comanda. Mantenha pressionado,
vá lá, enquanto clica. Agora podemos ir. Podemos alterar a largura para igual. O que
devemos fazer com isso? Bem, vamos meio
que fazer isso. Vamos tentar 200. 200, 26 oh não, 200. Eu gostaria de ter
200. Cento 201. Ok, 201. Diga isso. É bom. Experiência. Oh, eu acho que é muito pequeno.
Você quer um pouco maior. 307. Cento e 707 Ne me escuta. Isso
é provavelmente o que? Oh, eu te escuto
pela primeira vez. OK. Nada mal. Nada mal. Nada mal. Certo, então
aí temos uma briga. Temos uma fileira de
três bolinhos, não parece muito ruim. E sim, o que
vamos ter que comer não vai
fazer você sofrer, provavelmente
gostaríamos de colocar mais
algumas fileiras de bolo para que
possamos ter uma aparência um
pouco melhor. Mas aí está até agora. Vou até você
configurar isso do seu lado para ver se consegue obter sua página
com um pequeno logotipo
e uma fileira de bolos
nela ou dois ou três. E acho que estamos chegando perto de ter algo acontecendo aqui. Portanto, lembre-se de todo
o plano, todo o plano é acabar
com algo assim, e vamos mexer
mais nisso na próxima lição para que as pessoas
possam vê-los, clicar em algo
e ver uma receita
74. imagens de fundo: Então, os bolos estão chegando. Se você der uma olhada
aqui,
notará que agora temos nove bolos. Três por três, estamos tentando
imitar essa sessão aqui. Novamente, você pode escolher o tamanho. Acabamos de
aumentar um pouco porque
não vamos fazer toda
essa coisa de sinalização aqui,
o que obviamente você poderia. Estamos apenas tentando
torná-lo visualmente mais atraente. Então, temos nosso cabeçalho e
temos nossos nove bolos. Então é assim que
parece no momento. Essencialmente,
temos nossa imagem de cabeça, que está no topo
aqui, e temos nossa mesa com três
linhas, linha, linha dois e linha três, e em cada linha, temos três colunas com nossos bolos diferentes e eles
têm nossos nomes diferentes. Hum, mas o que precisamos é apenas tornar isso um
pouco mais interessante. O que acha que precisamos, Josh? Acho que precisamos dos
nomes dos nossos bolos, ter algumas ideias sobre o que chamaremos
de bolos individuais e também precisamos de um plano de fundo. Sim, isso seria bom.
Comece a ter uma aparência elegante. Ok, então você quer colocar
um pouco de texto. Quero dizer, você vê aqui, cada um
deles tem algo escrito embaixo do
bolo, como é chamado Então, precisamos colocar um pouco de texto abaixo desses bolos e, sim, talvez um pouco de fundo
apenas para adicionar um pouco de algo a isso Então, vamos pegar um texto
abaixo desses bolos. Ok, então temos nossas
mesas prontas para nós. Então, tudo o que precisamos
fazer, como você pode ver, temos um TD aqui. Então é basicamente
aqui que temos uma imagem de bolo e tudo mais. Então, dentro desse TD, vamos colocar algumas tomadas. Então, esse é o nosso
primeiro. O que isso faz? Parece um
bolo de cenoura ou algo assim? Sim, bolo de cenoura ou bolo de cenoura
úmido. Sim. Então, morango E diga isso antes de nós. Vamos fazer disso um
parágrafo, então apenas faça xixi. Então, isso vai
garantir que ela
fique bem unida, para que a cenoura úmida comece
agora e Um chute de corrente de Mister. Sim, mas precisa. Parece irritante
. Eu acho que tem que ser
colocado ali ao lado. Para o que você acha que enviamos? Acho que devemos nos concentrar. Ok, então no centro, Sr. Center,
colocamos isso assim, e vamos dar
uma olhada nisso Tudo bem. Vamos ver que isso deve
estar centralizado na célula, yeah yay, ya, ya ya, ya ya, ya Também precisamos de algum
estilo para isso. Eu definitivamente acho que
devemos ter algo
porque, sozinhos, eu digo que precisamos de H três
ou algo assim para isso. E H três sobre isso?
Sempre mudamos, então começamos com H
três. Nós vamos aqui. Vamos pegar isso
e colocar,
hum, agora vamos salvar isso,
e vamos ver. É um pouco
melhor. Sim, acho que parece um
pouco melhor. Ok, então você vê que realmente não
pode mexer como
quiser Então você pode identificar a SARS. Você pode fazer o que quiser. Ok, então, supondo
que seja isso que
queremos, teremos que escolher alguns pequenos nomes
para outros. Isso vai
ter que ser repetido. Então, é uma
maneira fácil e agradável de repeti-lo. Então, vamos tirar
isso por enquanto. Vamos tirar isso. Ok. Agora podemos pegar toda
essa seção aqui, economizando muito tempo. Copie isso. Vá lá, veja. Sim. E agora, o que eu te mostrei é esse comando de
segurar. Mantenha pressionado o comando. Mantenha-o pressionado. Continue segurando, continue esperando porque vamos colocar
isso em todos esses lugares. Sim, não. E clique, tudo o que você bate
acontece em todos esses espaços. Sim. Então, agora vamos usar uma guia para
que possamos ser inseridos. Então, agora vamos colar. Colar. Agora podemos digitar. Obviamente, o que digitamos
agora será o
mesmo para cada um, então não temos bolo de
cenoura úmido para todos eles Então, agora soltamos o Sim, vou mantê-lo ligado agora, assim que não pressionarmos o
comando e
clicarmos, será um. Selecionados agora, estamos de volta a um. Este foi o nosso bolo de cenoura úmido. Não tenho certeza de quais serão
os nomes de todos os nossos
outros. Teremos que
criar uma grande variedade
de nomes criativos para nossos
bolos. Certo. Então, aqui você pode ver
Sposas acelerando Temos todos os nossos bolos, desde baunilha e chocolate até
qualquer bolo, até
o bolo surpresa, o bolo
úmido, o bolo de Natal
ou qualquer outra coisa Então, nada mal. Então, o que conseguimos
fazer foi colocar todos os detalhes do bolo, colocá-los todos em
Htries no momento Mas precisamos de um plano de fundo. Como pano de fundo, os
brancos são um pouco chatos. Que tal colocar essencialmente o que é um plano de fundo,
é como uma imagem que ficará
por trás de tudo isso. Mas conforme você rola, ele meio que fica lá atrás.
Então, como você faz isso? Ok, então o que basicamente
queremos é um plano de fundo. Ou você tem um
plano de fundo muito grande e eu
cobrirei toda a sua área, ou você pode ter um plano de fundo
menor e o HTML repetirá automaticamente a
repetição dessa imagem. Precisa ser uma imagem
repetível. Se você for ao Fonda, podemos ver que temos esse, mas isso não vai se
repetir muito bem Essa será uma que
se sobreporá a tudo Então, vamos usá-lo mais tarde,
mas no momento, isso não é bom
para Winter Chief. Nós temos isso. Agora, isso é realmente repetível.
Isso é como uma guerra. Eu realmente não percebo se
noto um pouquinho, obviamente, há alguns bolos sendo cortados, mas você mal
notará quando eles estão sendo ampliados e há
bolos cobrindo-os Assim, você pode realmente pesquisar imagens
feitas especificamente para esse tipo de coisa. Gosto
do estilo dessa imagem, então podemos adicioná-la. Na etiqueta corporal que temos aqui, que é um corpo, vamos colocar
em segundo plano. Isso basicamente nos diz que,
no corpo principal do nosso HTML, haverá um
plano de fundo, o que será,
é simplesmente o plano de fundo igual
e, em seguida, pensaremos Se voltarmos ao nosso arquivo, podemos ver qual é o nome dele. R, certifique-se de obter
o PNG. Vá lá, C. O nome completo. Agora, ao
colá-lo, salve-o. Agora temos um
plano de fundo, então clique nele. Atualize-o. Ok, então
você verá que, mesmo
que
tenha várias linhas, a imagem de fundo continuará se repetindo Então, um pouco barulhento
com muitas imagens, então tenha cuidado com isso.
Mas você entendeu a ideia. Então, obviamente, você quer
procurar um que seja limpo, dependendo do tipo de aparência do seu
site. Então, com este,
provavelmente procuraríamos menos. Só queremos que as pessoas
se deliciem com bolos. Sim, muitas opções.
Então, quantas opções? Sim, é basicamente assim que vamos colocar
em nosso plano de fundo. E está realmente começando a surgir com todas essas
coisas que estamos adicionando. Tudo bem, então aí
está. Nós temos nosso site. Está chegando, e
agora o que precisamos
fazer é porque as pessoas
agora podem navegar em nosso site,
ver coisas. E lembre-se desta, quando você chega a um site e
pode clicar, veja, ao mover alguma coisa,
vem uma mãozinha e é como, ah,
tem alguma coisa. Eu quero saber como você
distingue
o apagão ou
faz esse apagão, bolo de
chocolate e, em
seguida, ele vai aparecer com informações adicionais Então é isso que estamos
perdendo no momento, você sabe,
não há nada acontecendo aqui. Tudo o que fizemos até agora
foi mostrar como
criar um site de uma página. Como você cria um site real que consiste em mais
de uma página? Isso está chegando a seguir. Antes de fazer isso, você
sabe o que
precisa fazer, pegar seu site, comprar alguns bolos, colocar
suas imagens lá,
em algumas descrições, colocar um plano de fundo se
estiver interessado no plano de fundo e acompanhar a história para que você participe e nos
veremos do outro lado
75. Uau — uma prévia da próxima seção: Uau. Você está quase lá. mais uma seção
e, na próxima seção, ampliaremos seu site Um site não é apenas uma
página. São várias páginas. Então, como você cria páginas
adicionais, hiperlinks e bônus, incorporando vídeos do Youtube
em seu Portanto, a próxima seção é PAT. É empolgante e é onde tudo
finalmente se junta e você se torna um incrível desenvolvedor web de
HTML. Então não fique aí
olhando para mim. Do outro lado está um vídeo, o próximo vídeo, onde
fica realmente empolgante. Nos vemos lá.
76. Fazendo a segunda página: Uau. Você está quase lá. mais uma seção
e, na próxima seção, ampliaremos seu site Um site não é apenas uma
página. São várias páginas. Então, como você cria páginas
adicionais, hiperlinks e bônus, incorporando vídeos do Youtube
em seu Portanto, a próxima seção é PAT. É empolgante e é onde tudo
finalmente se junta e você se torna um incrível desenvolvedor web de
HTML. Então não fique aí
olhando para mim. Do outro lado está um vídeo, o próximo vídeo, onde
fica realmente empolgante. Nos vemos lá.
77. Um truque de espaçamento oculto: Su. Parece úmido,
parece delicioso Temos nossas duas páginas,
mas, sim, isso não é tudo bom. Então, este é um pouco mais detalhado
sobre isso antes de mostrarmos como
vincular as duas páginas Então, precisamos mover
este
um pouco até a
posição dele aqui, e então precisamos
adicionar algo, que eu
aposto que será o quê? Uma receita? Sim, uma receita, e ela
vai ficar aqui em uma pequena mesa que vai nos ajudar
a fazer isso. Então, a primeira coisa é, como
no mundo vamos
mover isso para lá? Ok. Portanto, não há muitas maneiras de fazer
isso em HTML. Sim. Então, se estivermos usando CSS. Sim, então você tem
muito mais opções. Este não é um curso de CSS. Há
maneiras muito complicadas de fazer um HTML. Eles deveriam fazer nosso curso de CSS
e, em seguida, o
curso de JavaScript. Mas isso é o próximo. Isso é o que você
tem que acertar. Isso é HTML, é o básico. Então, temos que
hackear um pouco. Ok. Então, o que
vamos querer acrescentar, que é muito simples, mas parece
meio ineficaz Vai fazer isso. Será que T é HTML, e não queremos
entrar em coisas difíceis
fazendo isso. Sim. Então, temos que mover
esse bolo para o outro lado, e podemos centralizá-lo,
mas isso só vai centralizá-lo na célula. Então, precisamos fazer alguns
espaços, essencialmente. Então você sabe que se fizermos
isso, não faz nada. Isso não vai funcionar, mas
temos essa pequena coisa chamada ênfase e NBSP, que é um espaço sem Um espaço sem suporte. Ok. Então, agora vamos ver o que acontece. Então você o coloca no
espaço do café da manhã, guarde isso. Sim, dê uma olhada. Ele se moveu
cerca de um milímetro Sim, então não está acontecendo muita coisa. É aqui que você
vai ficar tipo, o quê? Ele. Quero copiar isso. Sim, eu colei, colo
muito, muito e muito. Então você está criando muitos
pequenos temperos lá. Sim, porque vai ser muito complicado de qualquer maneira, mesmo que
pareça ineficaz agora? Não vamos
ver nada na tela desse
jeito. Portanto, é uma
maneira meio hackeada de fazer isso usando HTML. Mas sim, funciona. Já que tudo o
que fizemos foi
colocar um monte de
pequenos espaços aqui. Basicamente, é só
tentar fazer isso. Novamente, se você quiser colocar mais no menu, basta comprá-lo para que fique perfeito, continue
fazendo isso de E você vai dizer,
eh, isso está certo. Ok. Então isso não é ruim.
Está lá. Está parecendo muito
legal e Dandy. Então, agora queremos
incluir nossa receita. Sim,
vamos para aquele lado. Então, vamos precisar de
outro TD, precisamos de outro TD. Então, há uma segunda coluna lá dentro. Nós vamos aqui. T atingiu o TD. Clique na aba, aperte. Sim. Ok, então nós realmente não
conhecemos as receitas de Craig O que você quer dizer com a receita de Craig, usamos o Asly Google Google. Receita. Pesquise diretamente e isso
está em um bolo de quilate, podemos fazer com carotake,
vamos fazer assim Não quero dizer, se algum de vocês
não tiver uma boa
receita de bolo de cenoura , você pode nos ajudar mais tarde Mas nós, caras do HTML.
Nós comemos bolo de cenoura Não vamos
tentar fazer isso. Vamos incluir isso, mas antes de fazer isso,
vimos que o Google também fez isso. Três. Essa
coisa toda de lista que eu pedi. Ok. Sim, queremos uma lista
de pedidos. Fantástico. E toque nele no espaço.
Sim, aperte a aba. Ok. Então lá dentro,
eu pedi a lista que queremos. Quero listar itens. Oh, então vamos ter que
colocar alguns como aqui? Só vai
ser uma porque é uma lista e depois continua. Sim, então coloque isso. Os itens chegaram lá? Ok, então vamos lá. Só que está parecendo
muito confuso. Vamos só esses olá, vá lá, ele,
vá lá, vá lá. Isso está ficando muito
confuso agora. Lá vamos nós. Você
entendeu. Você entendeu. Não, eu não tenho. Estou indo longe demais. Ok, nós podemos fazer isso. Eu sempre entendi. Lá vamos nós. Tabadin. Tabain baby,
Tabin Lá vamos nós Parecendo um pouco melhor. Ok, então temos
que acabar com isso. Então, cada um tem que ser um caule. Então, vamos pegar esse comando. Então, isso vai acabar. Essa termina aí mesmo. Essa é a nossa primeira lista.
Criamos outra lista. Eu diria que termina
depois dos pontos porque são nove polegadas Sim, porque isso também está na
moda, mas vamos
colocá-los no final de cada
linha ou algo assim. Ah, sim, coloque aí. E a segunda lista ali. Oh, vamos fazer
um favor a nós mesmos aqui e
usar um pequeno comando. Sim. Faça tudo junto. Vou parar aí no final de cada um,
fechar as listas. Sim. Então,
vamos fechá-lo. Oh, perto. Certo. Então, agora todos eles fazem
parte da nossa lista de pedidos. Vamos dar uma olhada nisso. Ah, está parecendo muito melhor. Ok, então vamos precisar espaçar um pouco isso
porque, como você pode ver, o que eles
fazem
também é, quando fica
muito tempo , você aprisiona BR, então você quebra a linha. Podemos ver para onde
isso dura muito tempo? Esse fofinho. Açúcar, eu digo, é aí
que o quebramos até. Vamos até, coloque no BR Save isso agora mesmo. Não vai demorar muito, então agora ele vai colocar
duas linhas novamente depois. Onde está a água, a
água? Além disso. Você pode ver que tudo exige um pouco. Isso é codificação. Na verdade,
você precisa especificar todos os pequenos detalhes. Agora, existem
muitos atalhos para
usar CSS, mas é muito útil aprender como fazer tudo basicamente
em HTML, porque mais tarde , quando você se tornar
mais avançado, precisará entender
o básico Sim, parece bom,
exceto que temos que
mover isso para o outro lado. Então, uma vez que você planeja, teremos que espaçar isso. Mas se
colocarmos como temos com
esses espaços aqui, se colocarmos
lá, vai ficar muito confuso,
porque agora é tipo, qual deles devo colocar um
monte de espaços. Então, em vez disso,
vamos adicionar outra tabela. Então, TD, outra coluna. Ok. Vamos adicionar outro. Então, isso vai
ter muitos espaços na coluna. Então você
não conseguirá ver isso. Então, basicamente, tudo o que estamos
fazendo é adicionar uma coluna entre
as duas que
vai aparecer aqui e,
em seguida, colocar um monte
de espaços.
Ok. Agora vamos ver. Lá vamos nós. Ok, então, na verdade, temos uma coluna
em branco no meio. Você pode ajustar o tamanho
dessa coluna central, quantos espaços
quiser, mas parece
que sim Talvez, retire alguns. Vamos apenas ir até aqui.
Oh, pare por aí. Vamos ver se está procurando. perfeccionista. Acho que sim. Ok, então vamos lá.
Isso parece muito bom, eu acho. Hum, sim. Então, estamos chegando
bem perto de ter esse site incrivelmente mestre
e Eu vou
te mostrar mais uma coisa que você vai fazer e nós vamos fazer isso no próximo vídeo, mas você vai ter
que ser paciente para isso. Mostre como você pode realmente
adicionar um vídeo à sua página. E isso seria
muito legal. Vídeo de alguém fazendo o bolo,
seria legal? E então tudo o que resta é
vincular tudo. Então, bem perto de você, veja se você pode deixar sua segunda página
um pouco mais bonita, adicione as imagens, mova-as,
tente alinhá-las e veja como tudo
funciona para você Então pare de assistir
e comece a fazer. Lembra da nossa famosa citação? Você conhece essa citação que
gostamos sobre educação? Sim, o quanto você
aprende fazendo? Bem, vá lá e faça.
78. Incorpore um vídeo do YouTube: Ok, então estou
cheirando bolo fresco. Agora, temos um problema. O problema é que essa
receita existe, hum, além de estar incompleta, acho que é uma receita de bolo de
chocolate. Sim. Ok, mas eu
tenho uma solução. Sim. Você sabe o que
é? Não, você não. Você sabe qual é a minha
solução? É uma ideia. Você tem uma ideia. Eu
vou te mostrar a magia. A magia. Como você
adivinhou? Ok, vamos lá. Youtube, você sabe como seria
legal ter um vídeo
dentro da sua página? Isso vai
torná-lo super incrível. Na verdade, não é tão quente. Agora que você entende
o básico do HTML, vou mostrar como você
pode realmente adicionar um vídeo Então, fiz um pequeno Google ou uma pequena pesquisa para
fazer um bolo de cenoura e encontrei um muito popular, 1 milhão de visualizações Então, esse tem que ser incrível. Portanto, mesmo que minha receita de bolo de
chocolate não funcione para
bolo de cenoura, tudo bem Vamos pegar o bolo de cenoura
emitido. Então, o que
vamos fazer agora é incorporar o vídeo dela. Você vem aqui e escolhe Compartilhar e não conversa,
não se veste sozinho Vá até onde diz Embed. E aqui você
vai ver o código. Na verdade, há algumas
coisas que você pode fazer. Mostre os controles do jogador e todo
tipo de coisas que serão incluídas
na sua opção de cama. Mostre vídeos sugeridos. Você pode dizer, eu não quero isso depois. Eu só
quero esse vídeo. Você pode até começar em um
determinado ponto, se quiser. Mas tudo que você precisa
fazer é pegar isso. Agora você reconhece
isso. O que é isso? Isso é algum código. Isso é código HTML.
Não é tão complexo. Não fizemos exatamente o código
específico, mas você entenderá porque todo
código HTML é semelhante. Vamos comandar, veja. E nós vamos. Vamos
voltar aqui e
, aqui embaixo,
vamos ver o que acontece. Vamos comandar V e vamos simplesmente colar de código que
acabamos de encontrar. Na verdade, é um trecho de código I
frame, o que significa que é
algo que estará contido
em um quadro. Mas você não precisa se
preocupar muito com isso. Você só precisa
copiá-lo e
verá que ele tem a largura e
a altura e, em seguida, tem a fonte do
vídeo, qual a borda do quadro e se
permite tela cheia ou não. Essas são apenas algumas opções,
mas vamos dar uma olhada. simples quanto isso, acessamos nosso melhor
site de bolos e clicamos
em atualizar. E aí está o vídeo. Ele apareceu em nossa página. Agora, obviamente, não é
exatamente assim que gostaríamos. Talvez gostaríamos
que fosse um
pouco menor e cabesse aqui. Então, a solução para isso,
com esta que
fizemos, podemos adicionar um
monte de espaços, e ela deu
a opção de adicionar largura e coração. Ok, agora só
queremos torná-lo um
pouco menor do que isso. Se tivéssemos que mudar
este, digamos 36360. O que isso vai fazer é criar uma
imagem como um quadrado, e queremos manter
as mesmas proporções. O que temos aqui é uma escala
proporcional. G. Quero dizer, você pode
pegar uma calculadora e resolver isso sozinho. Aqui está nossa
largura e altura originais. Se você acabou de comer isso e
disser que o redimensionamento nos
dá, serão dois oh 2,5 Se colocarmos no
coração dois, oh dois. Se você não mantiver a
proporção correta, ela ficará muito
longa, muito mole
ou muito estranha Então, aqui. Sim. Agora você pode ver que é
realmente do tamanho certo. Sim, então
agora parece do tamanho certo. Sim. Mas ainda precisa
ser movido. Sim. Então, assim como
fizemos com este, teremos que adicionar
muitos espaços antes. Então, vamos pegar isso. Pegue alguns espaços. Não precisamos simplesmente
colocar isso aí.
Vamos tentar isso. Pode economizar. Nós atualizamos
isso e, oh, estamos quase lá Eu só mais alguns. Vamos apenas sacudir o rabo de
um cachorro pequeno. Oh, meu Deus. Vá, o gobsmacker Ok, então vamos guardar isso. Digamos que isso seja
suficiente. Vamos tentar isso. Tudo em sintonia fina. Ok. Oh, tão perto. Acho que você vai
precisar de mais um. Acho que é Timor. Não, não,
porque é um monte. Sim, está na hora.
Vamos. Eu te disse, eu te disse. Sim,
isso é perfeito. É perfeito. Você
acertou. Você acertou. Está parecendo
muito bom. Quero dizer, poderíamos sentar aqui e tocar violino.
Mas você entendeu a ideia. Então, sim,
nossos sites realmente
parecem muito legais. Nós temos nossa receita. Temos uma pequena imagem.
Temos nosso vídeo. E agora você verá
se aperta o play. Agora, este vídeo mostrará melhor bolo de cenoura de todos os
tempos O melhor CarotKeh de todos os tempos para fazer isso. Então, tudo está acontecendo aqui no seu site e você realmente
fez tudo isso. Quero dizer, é muito impressionante. Tudo está incorporado ao seu site. Lá vamos nós. Vá em frente incorpore um vídeo em seu site.
Mostramos a você como fazer isso. Você simplesmente
pega o código de incorporação e o encontra e o
insere em seu site Lembre-se de que talvez seja necessário apenas alterar a largura e
a altura proporcionalmente, adicionar alguns pequenos espaços e você estará pronto
para o rock and roll Então, só resta uma coisa. E isso é vincular esta
página a essa página, e você terá
um site completo. Então, para você. Estamos quase lá e você
está fantástico.
79. Vinculando páginas da web: Bem, creio que temos os melhores bolos, o melhor site, e tudo parece
super incrível. Então, temos nossas duas páginas, mas
resta uma coisa porque um site não é
apenas
uma página da web ou páginas
da web separadas. Eles
precisam estar conectados. Então, queremos
clicar naquele sujeito lá e
acessar esta página. Então, como fazemos isso? Voltando ao HTML. Lembre-se,
temos nossas duas páginas. Essa é a nossa página de bolo de cenoura. Esta é a nossa página principal, que seria
chamada de nossa página inicial, e queremos conectar as duas Ok, então temos
essa opção que
nos dá a opção de
vincular. Para vincular páginas. Sim. Sim. OK. Então aqui, é
aqui que temos
nosso bolo de cenoura úmido Primeiro vou
te mostrar essa opção de link. Se você for, vamos realmente
fazer isso na parte inferior, só para dar um exemplo. Então, se dissermos uma tag A, basta digitar A, vá até lá. Isso é chamado de tag âncora. Está permitindo que você ancore e vincule algo
a outra coisa. Sim. Então esse será
o nome do nosso site. Então, vamos querer
vinculá-lo a isso, diga isso. Agora, isso é o que vemos
dentro desse pequeno interior dos bens comuns. Isso
é o que você vai ver Então, se for texto, será como o bolo de cenoura. Seja o que for. Não
importa agora. Veja, isso é só uma mensagem de texto. Então, agora, se atualizarmos isso, você verá com o texto
que ele estará em azul Agora você está muito
familiarizado com eles. Você vê essas pequenas
coisas sublinhadas, sim, vamos lá. Quando você clicou em
Ei, o que ele fez? Eu nos trouxe
até aquela página. Esse é o seu antigo texto familiar de
hiperlink sublinhado. Isso nos leva
até a nova página. É assim que é simples. Tudo o que era era usar essa ATag colocando o link e depois qualquer que fosse o texto Mas isso não é realmente
o que queremos fazer, Josh. Queremos realmente
vinculá-lo à imagem, não a algum
texto aleatório no final. Então, isso é
realmente muito fácil. Tudo o que vamos fazer é
pegar isso, na verdade, e depois vamos aqui, que é onde
temos nossa imagem. Então, dentro disso,
vamos colocar nossa imagem. Depois do TD, basta colocar isso. Podemos usar a
tag A. Trocando feno Livre-se do feno. Em seguida, imagem da imagem ali mesmo. Vamos pegar isso
e colocá-lo dentro da etiqueta A. Coloque-o dentro. Em vez de ter o
texto dentro da Atag, estamos colocando nossa tag de
imagem dentro da Atag Sim, então vamos ter
uma coisinha extra. Dizemos que agora queremos atualizar. Então, nada parece
diferente, exceto como você vê, quando vamos aqui. Nada Quando vamos lá,
temos o dedo. Certo. Dê-lhe o dedo. Agora, quando clicamos nele. Sim, bebê. Somos um foguete Quase parece que
você pode ver a mesma imagem. Traz isso até lá. É o
Qual é a palavra para isso? Barbear. Sim. Ok, mas você sabe o que,
na verdade. Por que não? Uh, adicione também o link para
aquele bolo de cenoura úmido. No momento, se eles
clicarem lá, provavelmente nada
vai aparecer na página errada. Nada vai acontecer
se você chutar de qualquer maneira. Mas se você clicar aqui,
nada vai acontecer. Eu ficaria bem se isso também fosse, talvez um hiperlink. Se
você quisesse fazer as duas coisas. O que
podemos fazer é pegar isso e colocar a etiqueta
A aqui também. Você poderia simplesmente fazer outra etiqueta
A para Mistarotake. Uma etiqueta, poderia copiá-la, mas temos
muita coisa nela. Vá e coloque dentro do chapéu. Ele é colocado em uma etiqueta de espaço A. Agora todos nós temos essas
pequenas palavras aqui. Coloque-os dentro de dentro. Feito errado, muito errado. Lá vamos nós. Fantástico.
Sim, você tem isso aí. Você tem isso
aí. Você está arrasando Sim. Ok, então agora,
quando atualizarmos Lá vamos nós. Agora temos um
hiperlink em ambos. Então você clica em qualquer um deles, você vai
para a peça errada. Hum, isso não é inteligente. Sim, eu não coloquei
nenhum link desde então. Sim. Isso é muito inteligente. Tudo o que você fez foi
colocar um bolo de cenoura úmido. Isso é brilhante.
Tudo incluído nos erros. Sim, lá vamos nós. E agora
isso ajuda você a superar. Lá vamos nós. Está
parecendo fantástico. Nesta fase, basicamente
temos um site completo. Você tem todas as suas imagens. Você pode vê-los,
você pode incorporá-los. Temos planos de fundo, temos logotipos,
temos links clicáveis,
temos segundas temos Temos tabelas
usadas para formatação, temos vídeos incorporados Isso é fantástico. Eu só acho que tem mais
uma coisa. De jeito nenhum. Mais uma coisa desse jeito. Você começa a soar como
o nome dele da Apple, só
tem mais uma coisa. Não está ligado. Vá lá, Steve. Não é uma grande coisa aqui. É o novo iPhone. O que é isso? O que é isso?
Novamente, simplesmente vai ser. O que é isso? Então, quando
clicamos nessa imagem, não
queremos ter que
clicar no botão Voltar. Sim, como um botão, aquela
pequena seta. Sim. Eu entendi. Ok,
então eu tenho Handy no meu localizador, uma pequena
flecha aqui Pode não ser
a melhor, mas,
você sabe, uma flecha é uma flecha, então vamos novamente, você pode ir para Pixel Bay, encontrar flechas
e o que quiser Então, seja o que for,
vamos colocar isso. Vai estar perto do
topo em algum lugar, certo? Sim, coloque-o bem
na parte superior, debaixo do corpo. Sim, embaixo do corpo, poderia até fazer isso
na cabeça porque é meio que eu não sei. Eu não sei.
Vamos fazer isso no corpo. Vamos fazer isso no corpo.
Podemos ver como isso parece. Ok, então nós também. É uma imagem, cole e
coloque o nome lá. Salve isso. Ok, então isso. É um bebê grande,
podemos dizer: Sim, vamos ter que ser muito pequenos
naquela cidade mais pequenos do que isso. Eu gosto disso. É mais
pequeno do que isso. Sim. Com iguais, o que devemos fazer? 30. 30 pequenos. 206. Não, vai
ser como eu. Não é. Isso é. Vai ser, ele vai
estar errado. Eu
te disse. Ele está errado. Obrigada. Obrigada. Obrigada. Obrigada. OK. Eu vou dizer 45. Sim. O relógio não
quer ouvir. Assista 45. Sim, senhor. OK. Então,
um pouco pequeno. 82. 130. Sempre quer
ficar muito grande. 82 minúsculos. Sim, isso é bom.
Agora temos que vincular. Eu não sei. Está
meio que fedido no topo do meu logotipo agora, mas de qualquer forma Não, é bom. Não, eu posso. Esse logotipo é só
uma coisinha. Você pode ver quanto
tempo pode passar mexendo nessas coisas,
mas está tendo Então, colocamos uma pequena seta, uma seta para trás, mas não é
apenas uma imagem que queremos Também precisamos
usar a tag âncora porque queremos
transformá-la em um hiperlink Sim, você vai ter que
ir lá em um hiperlink. Será um hiperlink para
a página dele. Diga isso e colocamos lá. Agora, finalmente, o site está
realmente muito bom. Clique aqui. Lá temos um acesso fácil e
agradável aqui. E quando você bate nele? Sim, de volta. Oh, mais uma coisa,
Steve. Você está repreendido Ei, isso foi
fantástico. Agora podemos dar uma olhada, acabamos de
fazer um bolo de chocolate. Vamos
procurar mais alguns. A melhor parte é que, mas
vocês venham ver isso vocês realmente têm um verdadeiro bolo de
chocolate esperando por nós, uma mistura de cenoura
e tudo Acho que vamos
comer isso agora. Esta é uma vez que você pode
ter seu bolo e comê-lo. Então, aí está. O melhor
site de bolos de chocolate que você poderia desejar. E você tem a ideia, e
você nunca tem as habilidades, você tem a capacidade de
criar seu próprio site. Então, espero que você
tenha aprendido muitas coisas
incríveis e incríveis. É muito simples. Esse é o começo de
uma jornada incrível. Aprender a programar,
aprender a usar HTML é muito, muito empolgante. Então, esperamos que você tenha se divertido
muito ao sair. A melhor forma de
aprender é jogando. Divirta-se, cometa erros. Tudo bem. Crie coisas. Vamos ver como eles funcionam, experimentar, acima de tudo, compartilhar conosco. Diga-nos o que você quer,
o que não funciona, o que funciona, o que mais
você gostaria de experimentar. Adoraríamos aprender também com você. É uma jornada de aprendizado. Queremos participar juntos e esperamos que
tenham se divertido muito. Então vá lá, experimente.
80. Caos - Você consegue fazer isso?: Bem-vindo ao Canva. O que eu quero mostrar é como essa ferramenta on-line muito
poderosa, o
canva.com, pode ser usada para
apoiar a abordagem de ensino da sala
de aula ativada, que é especificamente
a pedagogia do caos Você pode pensar que o caos
é uma coisa ruim, mas o caos é algo
com o qual
temos que lidar o tempo todo. E quando temos
muita informação ou pouca informação ou até mesmo informações conflitantes, o importante é
ser capaz de
reunir
todas essas informações e colocá-las em algo que as reduza sucintamente à E uma das maneiras de fazer isso
de forma muito poderosa é por meio dos
chamados infográficos Um infográfico é
essencialmente uma grande quantidade de informações
complexas que foram condensadas em representação
visual, e é disso que trata essa
pedagogia do caos Tentando resumir, destilar, obter a essência do nosso aprendizado O Canva é um ótimo
site para fazer isso. Então, se você se deparar com o
Canva e escolher um infográfico, você verá uma grande variedade
de modelos Tudo o que você precisa fazer agora é
escolher um que você ache adequado ao
que deseja
montar, seu resumo. Talvez você queira fazer
uma série de pontos, para poder escolher
um como esse. Ou, se você continuar lendo, verá
que esta é
a versão com marcadores, não é tão interessante em termos
de não ser tão gráfica, mas talvez haja dez coisas
que você queira lembrar Que ótima maneira de
reunir todos eles de forma sucinta. Você pode ser bastante visual, talvez queira
fazer assim. Ele mostra quatro itens
que são essenciais para você e assim por diante. Você notará que a maioria
deles é gratuita,
o que significa que não há custo,
o que é uma grande vantagem. Alguns deles você paga,
apenas fique atento a isso. Essencialmente, tudo que você precisa fazer é escolher um
que você acha que, bem, seria ótimo
para representar meu pensamento. Desça e escolha um infográfico
que você acha, bem, vou usar este como
uma imagem visual do que aprendi neste curso em
particular Eu quero dizer: Bem,
há muitas
coisas que aprendi e me pergunto qual seria uma ótima maneira de
representar isso. Novamente, apenas pensando
nisso por alguns minutos, você está tendo que
tentar resumir
seu aprendizado em
algo que faça sentido Vamos escolher um
desses infográficos para representar nosso aprendizado Ora, esse aqui parece divertido. Nós vamos
escolhê-lo. Vamos continuar jogando. É um gráfico informativo gratuito. Simplesmente, tudo o que você
precisa fazer é ampliar um pouco para
ver com mais clareza. Agora você pode editar. É
tão simples quanto isso. Você pode clicar em qualquer elemento
e editar seu aprendizado. Se você quiser alterar a
fonte ou o tamanho da fonte, basta clicar nela, ir até o topo e
alterar a fonte. Você pode mudar as cores, você pode mudar todo
tipo de coisa. É realmente muito simples. Agora é só uma questão de
colocar seu conteúdo no chão. Se você quiser inserir
algo na imagem, novamente, isso também é
muito simples. Há uma grande
variedade de elementos que podem ser
inseridos no lado esquerdo Você verá a opção de escolher quais elementos
deseja inserir. Você pode pesquisar sobre eles. Eles podem ser ícones,
linhas, ilustrações ou você pode simplesmente pesquisar
aqui qualquer
imagem que esteja procurando Talvez você esteja procurando por HTML. Imediatamente, ele vai
aparecer com muitas imagens. Novamente, se eles forem gratuitos, você poderá usá-los. Então você
pode ter que pagar. Talvez eu queira
usar esse aqui. Eu disse: Sim, é
exatamente isso que eu quero. Clique nele. Ele é colocado na página. Agora você pode redimensioná-lo e
colocá-lo onde quiser. Para me livrar de uma imagem, eu
não quero aquela, clique nela, clique em Excluir e eu posso
colocar minha imagem aqui. O redimensionamento é um processo simples. Você também pode fazer upload de suas próprias
imagens, se quiser. Se você pesquisou ou algo assim e não ficou satisfeito,
eu não gosto de nenhuma delas, você pode enviar sua própria imagem, mas
estou feliz com isso. É grátis. Tem a ver com CSS. Isso parece bom o suficiente ou
eu poderia pegar um desses. Vamos pegar essa
aqui, e eu vou usá-la. Esse é essencialmente o processo pelo qual você pode continuar fazendo isso. Você simplesmente edita cada um dos
itens e, ao final, pode produzir para si mesmo uma bela
representação visual
das principais coisas que você aprendeu. Depois de terminar, você
pode simplesmente clicar Baixar e
baixar sua imagem. Você pode baixá-lo como PNG, JPEG ou PDF, tão
simples quanto isso No final das contas, o que
você criou agora
é criar um lindo infográfico simples
do que você aprendeu É uma ótima maneira de destilar seu aprendizado e
lembrá-lo No final do dia,
agora você tem uma imagem que resume os pontos-chave
do que você aprendeu Até você, pegue o que
estiver aprendendo, acesse o Canva
e crie para você mesmo uma
representação infográfica do seu Você acabará de
experimentar o poder da pedagogia ativada
do
ensino em sala de aula do caos e como ela o ajudará a
se lembrar de seu aprendizado
81. Conclusão: Uau. Bem feito. Você
chegou ao final do curso. Você deve estar se sentindo super amplificado, super animado, porque se você chegou até aqui,
você se saiu muito bem. Acho que você se saiu muito bem. Você aprendeu a criar seu
próprio site desde
não saber nada até criar esse site
incrível com duas páginas, links, imagens, e agora você pode continuar sozinho.
Aprendendo à medida que avança. Absolutamente. Isso
é só o começo. Então, o que
você fez até agora foi aprender o básico, aprender como pegar código
HTML e montá-lo Você é programador e programador de
HTML agora. Em seguida, crie seu primeiro site. Você pode ter duas
páginas, três páginas, 20 páginas, o que quiser.
É um ponto de partida. É aqui que tudo começa,
mas tem muito mais. Você pode
aprender mais sobre HTML. Esperamos que você tenha lhe dado
a confiança necessária para aprender lá e conhecer nossos
outros cursos sobre HTML. Depois, há os
outros aspectos. Lembra o que dissemos que o HTML
cinco é feito de quê? HTML. CSS. E qual é a última?
Vá lá. Diga a eles. JavaScript. JavaScript, é claro,
você sabia disso. Essas três coisas são a
essência do HTML cinco, e em breve teremos cursos
sobre elas. Eles provavelmente
já estão lá, então dê uma olhada. Então, tem sido empolgante.
Adoramos ter você. Por favor, entre em contato conosco. Queremos ouvir seus comentários, fale conosco nas discussões. Se tiver dúvidas, pergunte-nos
e, por favor, nos dê
aquela avaliação do Five Star. Nós queremos isso. Se não for Five Star, há
algo que você não gosta. Não é isso, porque parte da nossa
jornada de aprendizado está melhorando. Queremos torná-lo
cada vez melhor, e só podemos fazer
isso com sua opinião. Por isso, valorizamos seus comentários. Valorizamos estar no curso, conte aos seus amigos
se você gostou. Também adoraríamos ver você em um
de nossos cursos. Portanto, não se esqueça de se conectar conosco. Nós nos
divertimos muito. Gostamos de ensinar a
você e tudo melhor em suas
jornadas de HTML daqui para frente Sim, adeus. Divirta-se muito. Continue aprendendo. Veja.
82. Por que programar com Python: Oi, eu sou Craig. Oi, eu sou Sarah. E seremos
seus anfitriões
nessa jornada empolgante em que
você aprende a programar. Deixe-me contar um
pouco sobre mim. Tenho experiência
em tecnologia. Eu tenho um PhD em tecnologia
educacional e minha verdadeira paixão
é Eu absolutamente amo isso. E não havia nada
mais empolgante do que quando minha filha também
queria começar a programar Então, estou no meu último ano
de programação na universidade e
adorei isso até agora Mal posso esperar para fazer pós-graduação
e ciência da
computação no próximo ano e continuar minha jornada de
programação Eu realmente amei
cada minuto e estou realmente ansiosa para compartilhar esse amor
com todos vocês. Sim, então queremos lhe dizer por que
você deveria
aprender a programar? Simples. Fama.
Tudo gira em torno da fama. Agora, eu não estou necessariamente dizendo que você vai
se tornar famoso. Você pode muito bem, sabemos que
muitas pessoas se tornaram famosas
com as coisas
que codificaram, como pessoas como
Mark Zuckerberg, Bill Gates Mas fama é um acrônimo.
É sinônimo de diversão. Conquista. Habilidades e ganhos de sobrevivência na era milenar. Então, vamos dar uma olhada
rápida neles. Tão divertido. Codificar pode
ser muito divertido Eu sei que a maioria das pessoas acha que programar pode estar
em um quarto escuro, gravando no seu computador Mas, na verdade, é
completamente o oposto. Em primeiro lugar, você está criando algo novo,
algo empolgante. É quase como se
você estivesse contando uma história. E ao digitar seu código
em seu computador, você está fazendo as coisas acontecerem,
você está criando um jogo, e é uma experiência
muito empolgante, e é uma das coisas mais divertidas
que eu adoro fazer Você descobrirá
por que é tão divertido, mas isso nos leva
à próxima coisa Conquistas são
algo que todos nós gostamos, e Sarah vai
contar um pouco. programação só dá a você essa incrível sensação
de realização. Então, o cérebro é desafiador. Eu definitivamente posso
concordar com isso. A programação
desafia constantemente seu cérebro. Quero dizer, veja esse cérebro. Você tenta descobrir soluções para problemas que
talvez nem existam. Então você passa esse tempo trabalhando, tentando descobrir algo. Quando você faz o
programa funcionar, quando você acerta
a resposta,
é uma sensação incrível. Então, em segundo lugar, você está fazendo coisas, você está criando coisas. Depois de terminar o jogo, você tem essa coisa física que pode
mostrar a alguém. Uau. Olha, isso é o que eu
fiz e eles
podem experimentar e
ver fisicamente o que você criou. Sabe, eu só
quero me conhecer, adoraria ser artista ou
algo assim ou escrever livros, e muitas vezes não
temos essas habilidades. Mas é tão bom quando
você faz essas coisas, você faz aquela
pintura, você pode
olhar para ela e dizer, uau,
e mostrar às pessoas Bem, se você
pode fazer isso ou não, isso é algo que você
pode fazer com a codificação Você pode escrever esse programa
que fica para trás. Eu sento na loja de aplicativos
, fica no seu computador. É uma
sensação incrível de realização. Eu ia dizer que está
sempre lá, nunca desaparece. Por fim, ajuda você a
se tornar eficiente. Há tantas coisas que
são repetitivas em sua vida. Pode ser algo que você esteja
fazendo no seu computador ou que precise
fazer repetidamente. Você pode usar a codificação
para fazer isso por você. Pode ser que você
precise de um aplicativo para armazenar seus itens de maquiagem ou equilibrar seus livros ou
o que quer que seja. A codificação permite que você faça todas
essas coisas por si mesmo. Você cria seus próprios
aplicativos, realmente torna sua vida muito mais
eficiente do que produtiva. Mas isso nos leva ao M. É divertido. Tudo isso é empolgante. Mas mais do que isso, você obtém essas habilidades de sobrevivência da
era milenar Essas são essas
habilidades que precisamos. Agora, no passado, quando você vivia na idade das trevas nas cavernas, desenvolvíamos habilidades como
fazer fogueiras e correr mais rápido do que o
tigre dente-de-sabre Agora precisamos de
habilidades diferentes para sobreviver. Precisamos de habilidades, e essas são habilidades que
foram identificadas como essenciais se quisermos ter um
bom desempenho em nosso mundo moderno. Habilidades como ser preciso, saber como resolver problemas, estar preparado para assumir riscos, uma habilidade vital
neste mundo moderno,
ser criativo, ser produtivo, aprender a trabalhar em
conjunto e colaborar. Uma questão muito importante, persistência, não desistir porque
muitas pessoas desistem muito rapidamente, sendo curiosas e depois
pensando logicamente, cada uma
dessas habilidades da
era milenar é
desenvolvida Ao aprender a programar, você
aprende a se tornar persistente, criativo, lógico, todas essas habilidades incrivelmente
importantes. Você não apenas
aprende a programar produzir código e
produzir programas, mas aprende essas habilidades que o colocarão em uma boa posição para qualquer que seja sua carreira
e o que você esteja fazendo na vida
no século 21. Então isso nos leva
ao E, que é. Ganhos. Os ganhos são extremamente
importantes porque todos nós gostamos de ganhos Em termos de ganhos,
a primeira coisa
é que as oportunidades de emprego
estão fora do comum. Conseguir empregos para programadores é provavelmente uma
das coisas mais fáceis Se você é um código, se
sabe como desenvolver, é uma das oportunidades mais
procuradas. Mas não é só isso, se
vocês são pessoas do tipo, eu não quero aquele trabalho das
oito até as 18h. eu não quero aquele trabalho das
oito até as 18h.
Eu quero trabalhar por conta própria. Não há outro
setor em que você tenha mais oportunidades de trabalhar por
conta própria do que como programador Você pode estar sentado na
ilha deserta ou na cafeteria, escrevendo código, vendendo
aplicativos, programando para pessoas Todo mundo está procurando alguém
para escrever código para eles, para escrever um programa para
ajudá-los em grandes oportunidades. Então, esses são eles, tão fáceis de lembrar, por que você
quer codificar? Fama. É o primeiro. Diversão. Conquista. Essas
habilidades e ganhos da era milenar. É por isso que queremos você aproveite tudo neste curso e se
divirta muito. Então, além da fama, você vai
se divertir muito. Nos vemos do outro lado.
83. Encontrando sua(s) própria(s) asa(s): Agora que
baixamos o Python, vamos
baixar nosso IDE Então, o que é um IDE? Ele representa um ambiente de
desenvolvimento integrado e o que ele faz é
tornar a codificação um pouco mais fácil Então, ele esconde as coisas que realmente não
precisamos ver. Ele nos fornece várias
funções e outras coisas que apenas tornam o código
muito mais simples e
fácil. Então, para o nosso IDE,
vamos usar o Wing. Existem muitos
IDs diferentes, e tenho certeza de que, durante
sua jornada de codificação, você aprenderá e usará muitos IDs diferentes, mas para nossas aulas,
usaremos o Wing Então você precisa acessar
wingwar.com fordlash Downloads. Quando estiver aqui,
você acessará o botão Download e
acessará o Wing one on one. Então você vê que existem
algumas outras opções. Wing one oh one é apenas a versão gratuita e
tem tudo que
você precisa para começar a programar, mas provavelmente por
alguns meses ou até anos Portanto, agora ele o
levará automaticamente para a versão necessária para qualquer sistema
operacional que estiver usando. Então, eu estou usando um Mac, então ele está me
dando essa opção. Você acabou de baixar o que
ele tem aqui para você. Então vá em frente e clique
no botão de download. Ele fornecerá algumas
etapas que você pode ler, mas também mostrarei
tudo passo a passo. Então, uma vez baixado aqui,
vamos clicar. Quando terminar de abrir, ele
aparecerá com uma janela. Para Mac, basta arrastar isso para aqui e ele
iniciará o processo de instalação. Para usuários de Mac, após
o término do download, basta
clicar nos aplicativos. Em seguida, precisamos procurá-lo. Você vê que está aqui e
eu vou clicar duas vezes. Aqui, basta dizer aberto. Em seguida, basta
clicar em Exceto. E agora nós o baixamos. Então, uma coisa que você só
precisa verificar é se
o que está escrito aqui é a mesma versão do pathon que
você acabou de baixar Caso contrário, as coisas não funcionarão. E se não for, basta entrar em contato
comigo e eu posso te ajudar. Caso contrário, existem
muitos fóruns on-line que explicarão o que você
faz se não for o mesmo. Agora baixamos o Wing e estamos quase
prontos para começar a programar.
84. Python e Wing - que combinação: Agora estamos dentro do nosso Wing ID e vou
mostrar algumas coisas
básicas para começar. Primeiro, para
criar um documento, você clicará
neste ícone aqui em cima e agora isso permite que você
comece a escrever algum código. Se você quiser fechá-lo
ou não precisar mais dele, clique no X no lado
direito aqui e isso fechará
o documento. Você também pode usar esse ícone para criar vários
documentos ao mesmo tempo. Você verá que eles são salvos
automaticamente como geralmente sem título
e um número Com a codificação, o nome do seu documento
é muito importante Então, você quer salvá-lo como
algo significativo, que abordaremos mais tarde. Então, para salvar, basta clicar em
Arquivo aqui e
vamos escolher Salvar como
para alterar o nome. Sempre que estiver salvando,
certifique-se de que, ao
alterar o nome, você também não
exclua o ponto PY. Se você fizer isso, seu
documento não poderá mais ser executado como um caminho e programa, então você receberá um erro. Então, vamos chamar isso
e clicar em Salvar. Agora você vê que mudou
aqui na parte superior. Então, essas são algumas
noções básicas sobre o Wing. E à medida que você
avança no curso, você se tornará um grande
especialista no uso dessa ID.
85. Seu primeiro programa: Certo. Este é o momento que
você estava esperando. Porque em alguns segundos, você vai
ser um programador Eu sei que é difícil acreditar
que você vai ser um programador literalmente
em alguns segundos. Então Sarah, faça
deles programadores. Ok, então, obviamente, escrever seu primeiro programa é sempre
uma experiência empolgante. Na verdade, eu colocaria uma câmera agora capturando esse momento,
o momento da selfie, porque
isso é Ok, então vamos
direto ao assunto. Então, uma das declarações mais
básicas em programação é uma declaração
chamada declaração impressa, e é bastante
autoexplicativa Ele imprime. Ele imprime. Ele imprime. Então, ele imprimirá
algo em suas telas. Para usá-lo, tudo o
que precisamos fazer é digitar e imprimir. E agora,
obviamente, queremos imprimir
algo em nossa tela. Então, vamos
imprimir algum texto. Para imprimir texto, você precisa usar aspas Agora, você notará
que o SIR está digitando, Wing já está reconhecendo
o que são Python Então, ao digitar a impressão,
você verá a mudança de cor, ela reconhece como um comando
válido, assim como é reconhecido que precisávamos
de dois pequenos colchetes que Saras colocou lá Se você não salvou
esse arquivo como DoPiYT, notará que nenhuma
das cores será exibida Tudo ficará
apenas em preto. Então, você quer ter certeza de que suas coisas têm cores
diferentes,
porque então você sabe, Wing está reconhecendo
isso como um arquivo Python Ok, então o primeiro programa que quase todos os programadores escreverão se
chama Hello World Basicamente, é impresso e,
em seguida, entre aspas, Hello World. Então você pode assistir Grand
moment, drum roll. Nossa, seu primeiro programa.
Você fez isso. Lá está na
parte inferior, é aqui que seus monitores são exibidos. Então, está mostrando
qual é a saída
do programa. Olá, mundo. E isso agora faz de
você oficialmente um programador. Então, muito bem. Nesse ponto, você pode
correr pela casa gritando,
tirando selfies, postando
no Instagram, compartilhando Diga a palavra,
você é um programador. E é tão simples
quanto isso, uma simples declaração
impressa que exibe
algo na tela. Com vírgulas invertidas, você deve colocar o que é esse texto Obviamente, você poderia ser
um pouco mais criativo, mas o primeiro programa
clássico maioria dos programadores é
o Hello World Ok, então agora vamos tornar isso um
pouco mais interessante. Vamos adicionar
à nossa frase. Assim, você pode fazer a frase
do tamanho que quiser, na verdade. Então, em vez de
dizer olá mundo, vou colocar meu nome
e você pode colocar seu nome. Então, olá Sarah. E você notará novamente, ele aparece aqui. Este é o nosso caminho no shell e qualquer texto ou qualquer coisa
que imprimirmos usando essa instrução de impressão aparecerá dentro desse
Python no Então, podemos imprimir mais de
uma linha, se quisermos. Temos nossa primeira declaração,
que foi olá Sarah. Agora, digamos que queremos
digitar, como você está? Ok, agora você verá que
quando executarmos nosso programa, ele é impresso na era Hellas e, na próxima
linha, é impresso Como você está imprimindo duas declarações impressas
diferentes. Então, é tão simples
quanto isso. Quero dizer, não poderia ser mais fácil, essencialmente, como
acabamos de dizer, você é um programador, então, vá
lá, experimente Experimente algumas declarações impressas.
É uma maneira divertida de começar, e vai ficar cada vez mais divertida daqui em diante.
86. Estou travado, e agora?: Só queria abordar
rapidamente a programação e a depuração Isso é se livrar
dos pequenos bugs bestiais que entram em seu programa
e resolver problemas A programação é uma espécie
de processo iterativo. Isso significa que você tem que dar
voltas e voltas. Você comete erros. Você
tem que descobrir isso. E é isso que o
torna empolgante. como um processo
de
resolução de problemas. E então você precisa
continuar tentando. E à medida que avançamos no
curso, você verá isso. Daremos exemplos
em que realmente
erramos de propósito para que possamos mostrar como
você resolve as coisas. Agora, você aprenderá muito
neste curso, mas, certeza, 100%, serão coisas que você experimentará e
que simplesmente não funcionarão, como dissemos. A opção então é agora entrar em
contato com alguém, e o melhor
é que o Google está lá. Google. Você pode simplesmente vir
aqui e dizer, por favor, me ajude. O Google simplesmente
dirá: Ok, certo. Talvez isso não
ajude você. Você tem que ser um pouco
mais específico. Você pode simplesmente pesquisar no Google
literalmente o que quer que seja. Digamos que você tenha uma
consulta Path sobre algo. Agora, um dos lugares que
descobrimos que é
muito bom é o StackOverflow Você pode simplesmente pesquisar no Google
Stackoverflow e eu vou encontrá-lo. Na verdade, o Google o levará diretamente ao Stackoverflow
e permitirá que você digite uma pesquisa
apenas nesse site O Stack Overflow é onde
muitas pessoas inteligentes compartilham ideias, fazem perguntas Por exemplo, mencionamos anteriormente que algumas vezes, quando você
instala o Wing one oh one, ele está usando a versão errada do
Python apenas para dar
um exemplo, self Eu disse Wing one on one, versão
errada do Python, e quando usar o stack overflow, ele surgirá com
muitas opções. Aqui vamos nós. Configure o
Python 3.32 Você diz: Oh, eu poderia ler isso, e você provavelmente
encontrará suas respostas. Então, basicamente, todos
esses
sites ou links diferentes que trazem perguntas que
as pessoas fizeram. Você notará que, se pesquisar qualquer coisa, mesmo
no stack overflow, quase todas as
perguntas foram feitas Se você tiver um problema, há uma grande chance de que
outra pessoa tenha tido
exatamente o mesmo problema. Portanto, com a programação, se
você tiver uma pergunta, não entre em um
desses sites digite sua pergunta e
espere que alguém lhe responda. Os programadores ficam muito irritados
se você não fez pesquisa e
ainda não tentou encontrar
a resposta
antes de perguntar a Sim, mas muitas
dessas perguntas
surgiram repetidamente. Quero dizer, isso foi
perguntado há quatro anos. Apenas certifique-se de ter
pesquisado completamente o seu problema
e, se você realmente
não conseguir encontrar uma solução, coloque-a em
um desses sites O que também é muito bom Sisk Stack Overflow é que
as respostas são votadas
dependendo de quão boas elas são Então você verá se a resposta tem mais curtidas ou
algo assim, ela sobe mais alto. Então, obviamente, funciona
para mais pessoas. Então, se você não consegue encontrar a
resposta em nenhum lugar aqui, você pesquisou em todo o site. Você realmente não está
acertando,
então, por favor, clique em
fazer uma pergunta e digite sua própria pergunta. Portanto, o ponto principal é que você terá que entrar em
contato com as pessoas. Mas em nosso mundo moderno do Google, com tantos especialistas conectados, você
tem a garantia de encontrar sua resposta. Seja qual for o problema que
você teve, você pode ter certeza de que outra pessoa
teve o mesmo problema. Então, esteja preparado para isso.
Basta ir até lá ,
pesquisar e, antes que perceba, você receberá uma
resposta para sua pergunta. Isso faz parte da aventura. É aí que está o
aprendizado. Aprender consiste em
cometer erros e depois
corrigi-los. E o que é empolgante é que há
tantas pessoas por aí. E, é claro, ficaremos mais do que felizes se você quiser
entrar em contato conosco, fazer uma pergunta e também
ficaremos felizes em ajudar. Mas à medida que você avança, à medida que se
torna cada vez mais poderoso,
incrível e inteligente, você vai
querer abrir suas asas O trocadilho. Abra suas asas e pesquise na Internet
respostas para suas perguntas.
87. Resumo: Chegamos ao
final da seção e agora vocês são todos programadores Basicamente, poderíamos
parar agora e você poderia ir para casa e terminar, mas acho que há
muito mais que você pode. Há muito mais por vir e coisas
muito mais interessantes. Você verá que, à medida que fica cada
vez melhor em programação, ela fica cada vez mais empolgante
e interessante. Uma rápida recapitulação do que
fizemos nesta seção. Baixamos o Python,
baixamos o Wing e escrevemos nosso primeiro programa Até agora, você aprendeu
um comando Python, print, e viu o resultado aqui embaixo semelhante
a esse Também mencionamos como você pode entrar em contato e obter ajuda. Você descobrirá que ambientes como Wing têm manuais
e outras coisas, e algum tipo de coisa até
leva você ao manual
do Python, que sempre
pode ajudar, se você quiser, e até mesmo ao site do Python
. Muita coisa. Também costumo consultar
a documentação de qualquer
linguagem que você esteja usando. Então, se você realmente olhar
a documentação do Python, ela explica muito bem exatamente o que tudo faz e como deve ser usado Novamente, muitas coisas, desde a instalação dos módulos
até
os tutoriais, etc., estão aqui Então, essa é outra opção do que você pode fazer para
se orientar. Então é isso. Você está no
final desta primeira seção. Você se saiu muito bem. Você pode ir e talvez
descansar por alguns minutos,
e nos vemos de volta
do outro lado, porque
vai começar a ficar muito
emocionante à medida que avançamos.
88. Variáveis — porque mudar é bom: Bem, vai ficar
muito empolgante agora porque queremos abordar
algo chamado variáveis. Agora, antes que você pense, o que no mundo são essas coisas? Na vida, todos nós precisamos de
lugares para guardar coisas. Então, quero dizer, se você
tem sapatos, quero dizer, talvez você
os guarde em um armário, a menos que
tenha muitos sapatos Se você tem comida, você sabe, leite e queijo e
coisas assim, você vai guardar isso
na geladeira. Se você tem um carro, você vai
guardá-lo em uma garagem. Todas essas coisas
precisam ser armazenadas em algum lugar, e esses são contêineres úteis, e o mesmo se aplica quando se
trata de programação Precisamos guardar coisas porque às vezes você precisa se
lembrar de coisas. Então, talvez você precise
se lembrar de uma pontuação alta em um jogo ou do que é o
contador e algo assim. Há muitas razões pelas quais você
precisa se lembrar de coisas, e esses pequenos recipientes que você armazena coisas
e que
deseja lembrar são
chamados de variáveis. Então, vamos dar uma
olhada em como você implementa variáveis dentro do Python Ok, então é assim
que usamos variáveis. Basicamente, a sintaxe para criar uma nova variável
é muito simples Então, digamos que eu
queira armazenar meu nome. Eu crio uma variável chamada nome, mas apenas digito nome Em seguida, colocamos um igual
, conhecido como operador de atribuição, e o
igualamos a qualquer nome que
gostaríamos que fosse Mais uma vez, vou guardar Sarah. Tudo o que isso faz é
pegar a palavra, Sara, e agora
guardá-la dentro do armário Contêiner. Contêiner. Portanto, nesse caso, é muito importante que você
dê às variáveis um nome
que seja significativo. Então, por exemplo, poderíamos
ter chamado isso de X. Mas mais tarde, quando você começar a trabalhar
com suas variáveis, você dirá: O que foi X Ah, eu não me lembro. Portanto, sempre dê
um nome útil às suas variáveis. Então, como essa
variável em particular está armazenando o nome, na verdade, podemos até
querer ser mais específicos e
chamá-la de primeiro nome. Então,
simplesmente está usando o nome de Sarah. Agora observe que o nome dela
é comunicação invertida. É muito importante. Explicaremos isso em um momento e ele o atribuirá
à variável Depois, há também
alguns nomes que você não pode usar como variáveis. Em primeiro lugar, uma coisa
que você não pode fazer ou um nome que você não pode criar uma variável, você não pode
criar uma variável, comece com uma letra maiúscula. Isso simplesmente não é
sintaticamente correto. Os programadores nunca iniciam a linha de código com uma letra maiúscula para
quase nada Em todos aqueles anos em que seus professores de
inglês
lhe disseram para fazer isso, e
aí está tudo pela janela. É disso que
gostamos na programação. Isso mexe com as regras. Aqui, a próxima coisa que
você não pode fazer é começar com um número
ou qualquer símbolo. Assim que eu fizer isso, você verá que isso realmente
mudou cor porque não
entende mais o que você está fazendo. Então você não pode começar
com um número. Você não pode começar com um símbolo. Basicamente, você simplifica, digita o nome da variável, algo que faz sentido e depois atribui ao
que você deseja. Agora, você poderia, se quiser
chamá-lo de primeiro nome número um. Não há problema em colocar um
número no final porque talvez você esteja
armazenando o primeiro nome, primeiro nome dois ou
algo assim, tudo bem. Mas, geralmente, mantenha-o simples, mantenha-o em letras minúsculas e mantenha algo
que faça sentido Ok, então você verá essa
impressão se eu executar este programa, ele não vai fazer nada, e isso é porque eu
realmente não imprimi nada. Então, agora vamos imprimir nossa variável. Então, o que basicamente queremos fazer é imprimir
o nome Sarah, mas queremos imprimi-lo usando o nome da variável,
que é o primeiro nome. Então, para fazer isso, agora tudo o
que você precisa fazer é tocar
no nome da variável. Então você notará
aqui que eu não coloquei em
vírgulas invertidas nem Se for uma variável,
basta digitá-la como está, nada ao redor dela, e
agora, quando a executarmos, você verá que agora está impressa. Então, como é uma
variável, tudo o que realmente se
faz é imprimir o que está
armazenado aqui. Sarah disse que é
muito importante que isso não
seja uma vírgula invertida O que você acha que
aconteceria se colocassemos vírgulas invertidas? Pense sobre isso. O que aconteceria se colocassemos vírgulas
invertidas ao redor disso? Coloque duas
vírgulas invertidas e execute-as. Na verdade, está imprimindo
a palavra primeiro nome, assim como imprimiu
a palavra Serra. Agora acho que é
apenas o que é chamado
de string e está
apenas imprimindo isso. Com uma variável, você não coloca sua variável em vírgulas
invertidas porque está realmente
interessado no que está armazenado dentro dela.
É um contêiner. Podemos removê-los e
poderemos imprimir o nome
que está armazenado lá. Agora, o que também é
bom com variáveis, e veremos se isso se
torna poderoso, é podemos simplesmente mudar o que
entra na variável. Então, podemos colocar meu nome aqui agora. E sem alterar
esse trecho de código, notaremos na parte inferior que ele muda para imprimir meu nome. Então, está mudando porque está apenas imprimindo o que está
armazenado dentro da variável. Então é assim que as variáveis
funcionam de forma muito simples. Mais uma vez, você pode realmente colocar o que quiser dentro
dessas vírgulas invertidas,
mas o que estiver dentro
das vírgulas invertidas
agora se torna o primeiro nome agora Então, se eu quisesse fazer mudanças
em talvez uma saudação, agora, o que vai
imprimir, Craig, como você Então você pode fazer isso
pelo tempo que quiser, mas, obviamente, você
quer fazer algo
que faça sentido. Agora, isso realmente não
faz mais sentido porque chamamos um primeiro
nome e dissemos: Craig, como você está Portanto, talvez você queira
alterar isso para ser chamado de saudação e,
em vez disso, imprimir saudação Então,
vamos fazer muito mais com variáveis. Nós os usamos em quase
todas as coisas. Eles provavelmente são uma das partes mais importantes da programação. Percebo que mudei
para saudação. O que você acha que
vai acontecer agora? Vou dizer saudações,
Craig, como você está? E então vamos
dizer imprimir. Primeiro nome. OK. Você verá aqui embaixo Python não está feliz Basicamente, está dizendo que,
no meio de tudo
isso, está dizendo na linha três Na linha três, você
verá aqui que algo ruim está acontecendo. Diz que você tem
essa coisa em que diz imprimir o primeiro nome, mas eu não sei o que é. O primeiro nome não está definido. Ok, então o que está
realmente dizendo é que não existe uma variável chamada primeiro dia. Você diz, A, veja, eu cometi um erro porque mudei
o nome da minha variável. Minha variável é,
na verdade, saudação. Então, se eu executá-lo agora, vamos lá. Outro erro comum que
as pessoas cometem é se você colocar
essa declaração impressa, antes da declaração de saudação, o que você acha
que vai acontecer? Novamente, diz que não está definido. Então, isso pode ser
confuso porque você dirá que o
definiu aqui embaixo Mas a forma como o Python funciona é que ele lê o que você escreveu
de cima para baixo Portanto, se você imprimiu a saudação mas não definiu a saudação
antes de
imprimi-la, ela não sabe do
que você está
falando porque é a linha vermelha um, saudação
impressa e isso é tudo o
que é lido Você ainda não definiu a variável saudação
na linha três Ok, então é muito importante que você defina suas variáveis antecedência e as carregue
com o conteúdo antes de
tentar trabalhar com elas com o conteúdo antes de
tentar trabalhar com Então, essa é basicamente sua introdução às variáveis. Então, divirta-se. Crie algumas variáveis
quantas quiser e use o comando print
ou a instrução print, e você poderá imprimir o que está
nelas. Vá. Divirta-se um pouco.
89. Tipos de dados — porque nem todos são iguais: Fale sobre armazenar coisas. Falamos sobre variáveis. Agora, mencionamos que as variáveis são como locais de armazenamento
onde você coloca as coisas. Mas quando você pensa sobre isso, você realmente tem lugares
diferentes onde você armazena coisas
diferentes. Então, você sabe,
podemos ver algumas
dessas coisas em um grande recipiente como aquele que armazena caixas,
ou eu suponho que você poderia
guardar um carro lá, mas você não guardaria seu perú congelado para o Dia de
Ação de Graças aqui, E presumo que, a menos que você
tenha um grande estoque de sapatos, provavelmente não
usaria esta loja seus sapatos e eles
entrariam no seu armário E continua, se
você tem livros, talvez
guarde livros em algum tipo de estante Então, a questão é que armazenamos coisas
diferentes em espaços
diferentes. Carros vão para garagens, comida vai para geladeiras, facas e garfos
vão para gavetas e assim por diante Portanto, é importante, quando chegamos
à nossa programação perceber que espaços diferentes
armazenam coisas diferentes. Portanto, nossas variáveis são na verdade, de tipos diferentes e
são chamadas de tipos de dados. Então, quando falamos de variáveis, nem todas as variáveis são iguais. Então começamos e
analisamos a única variável, que era uma saudação ou um nome, e
tínhamos algo armazenado nela Mas, na verdade, precisamos
entender que você tem diferentes
tipos de variáveis, e é importante que
entendamos isso um pouco. Há alguns tipos
diferentes de variáveis, mas vamos nos concentrar nas variáveis
mais importantes e
básicas que Pan tem. Você pode ver aqui uma lista dos
diferentes tipos de dados
e, na verdade, abordaremos
a maioria deles. Mas, para
começar, vou dar uma olhada nos três primeiros. Em primeiro lugar, vou
dar uma olhada nas cordas porque você realmente já
sabe o que são as cordas. Então, se voltarmos ao nosso
programa, você verá, lembre-se de quando eu lhe disse, se você está escrevendo
algo que é texto, coloque-o entre aspas Então, isso realmente cria
algo chamado string. Então, basicamente, tudo o que você coloca entre
aspas é uma string Então, o problema com as cordas
é que elas são totalmente ignoradas. O que quer que
você coloque lá, você
pode colocar o que quiser em
símbolos especiais. Você pode inserir
praticamente qualquer coisa. Essa é a coisa com
uma corda. Uma corda não se importa com o que está lá dentro. Então você pode enlouquecer aqui dentro. Você pode até mesmo armazenar apenas um
número entre aspas, mas agora isso não é
mais um número É visto como uma sequência de caracteres ou texto. Ok, isso é muito importante
porque veremos um tipo
diferente ou um tipo de dados diferente que
permite armazenar números. Portanto, se você quisesse
fazer cálculos, não armazenaria
seu número como uma string porque ele não o
veria como um número. Ok, então você já pode ver aqui que outro
tipo de dado são números. Portanto, os números podem ser divididos
em duas
subcategorias diferentes Os mais importantes
que você realmente precisa
saber são números inteiros e flutuantes Então você pode ver aqui, basicamente, se você tentar descobrir, você pode ver facilmente que um número inteiro é algo que não tem decimal Então, basicamente, é apenas
um sem pontos. É um número inteiro.
Cinco, sete, três e um decimal. Novamente, muitas vezes você não precisa
dos pontos decimais Então, talvez você esteja fazendo um contador. Quantos esquilos no meu
Gard e um, dois, três. Novamente, a menos que você tenha feito algo
com um dos esquilos, você não deveria ter
1,1 Mas se você estiver fazendo
um cálculo, qual é o número médio
de esquilos no meu E, obviamente, agora talvez você queira que
o número médio seja 3,2. Então é aí que você decide
se está usando
um número inteiro ou não O Python é muito inteligente e quase automaticamente
descobrirá qual tipo de dados
você está tentando usar Então, se eu agora digitar meu número, como
nome da minha variável e quiser atribuí-lo ao valor numérico. Eu posso atribuí-lo ao
que eu quiser. Digamos que eu queira fazer 38 anos. Agora criei uma
variável chamada meu número, que está armazenando um tipo de
dados chamado inteiro em vez de antes, onde armazenávamos
uma string Agora, se
quiséssemos imprimir isso e quiséssemos imprimir meu número. Você vai ver
que apenas imprime 38. Tenho certeza que você pode adivinhar. se eu colocar
aspas em torno desse 38, ele realmente imprime
exatamente a mesma coisa Então, imprimindo apenas um valor. Está apenas mostrando o
conteúdo do número. Na verdade, não está fazendo
nada com isso. Mas veremos em breve que se não for um número inteiro,
você pode ter um problema Agora, isso se torna
importante quando você deseja adicionar
ou subtrair coisas,
o que, na verdade, veremos com mais detalhes posteriormente Mas, por enquanto, você só
precisa saber se deseja
digitar um número inteiro,
basta digitá-lo Se eu quiser fazer agora,
torne-o um flutuador, posso simplesmente colocar a casa decimal, e isso agora é chamado de flutuador Ok, então o último
tipo de dados que vamos
examinar é um
tipo de dados chamado booleano Booleano é basicamente uma
palavra chique para verdadeiro ou falso. Sim. Veja, essa é uma
coisa legal de aprender o programa, porque você pode impressionar seus amigos e familiares Agora, tente isso,
eu prometo desta maneira. Você vai servir o
jantar hoje à noite. Espero que você ainda tenha
jantar em volta da mesa. E você está cantando
em volta da mesa e só conversando, conversando, e então diz:
Oh, desculpe, você pode me
passar o booleano Eu quis dizer o sal, e toda a
sua família vai olhar
para você e ir embora, cara. O que você fez? Você é tão inteligente. E eu prometo
a você de agora em diante, eles vão pensar que
você é a pessoa certa. Então, impressione-os
com palavras grandes, palavra
grande para você
impressioná-los com um Então, o que é bilhão? Sim, bem, na verdade,
voltando a isso, eu realmente lembro que na minha primeira palestra
sobre programação, meu professor me disse que os programadores adoram
usar palavras confusas para coisas
mais simples para fazer
todo mundo pensar que você
está falando sobre algo
que está falando sobre algo que Obviamente, isso é basicamente
o que é programação. Se você acabou de aprender as palavras
mais confusas, na verdade está aprendendo coisas que já
sabe, mas é justo Então, eles são apenas palavras sofisticadas. Exatamente. É por isso que estamos tentando tornar isso acessível
a todos. Sabemos que qualquer pessoa pode fazer isso se você se
dedicar a isso. Então, de volta ao T Booleans,
verdadeiro ou falso. Então, agora vamos digitar uma variável
booleana. Sim, porque meu número não
faria sentido ser um booleano Ok, as pessoas geralmente
encurtam Boolean para Bo. Ok, então, como eu disse antes, esse só pode ser o
valor verdadeiro ou falso. Não consigo digitar
mais nada no valor booleano. Assim que eu digito algo que não diz verdadeiro ou falso, não
é mais um valor booleano Então, isso realmente não faz
nada muito empolgante, mas você verá por que eles
são tão importantes mais tarde. Ele apenas
imprimirá o valor verdadeiro. Mas se eu mudar
isso para verdadeiro, agora
ele vai reclamar porque acha que
é uma string, mas não temos
aspas ao redor Sim, e também, como você pode
ver aqui embaixo, ele realmente pensa que esse
é o nome de uma variável. Então, no final,
você notará que é indefinido, pois
dizer que o verdadeiro não
está definido porque presume que isso deve
ser uma variável, algo em que você
armazenou algo em outro lugar, mas não consigo encontrar Obviamente, se você fez isso e colocou
vírgulas invertidas ao redor,
bem, obviamente, agora,
mesmo que seja chamado de Mboul, isso é na verdade apenas uma
string que você Então, na verdade, você ainda não
criou um booleano. E é por
isso que é importante. Mesmo se você fizer isso, lembre-se de
que ainda não será
um booleano. É uma corda. Portanto, os booleanos são simplesmente, como disse Sarah, verdadeiros ou falsos E você também pode ver uma
mudança de cor, dizendo que essa é uma palavra
reservada em Python Então, obviamente, você também
pode usar false. Outra coisa que você deve
fazer é que , para valores booleanos, o primeiro teta deve ser maiúsculo,
então é verdadeiro com
T maiúsculo ou falso com F
maiúsculo . Caso contrário, ele não o reconhecerá novamente Verifique se é
a cor correta. Sim, essas são algumas
das coisas bobas com essas linguagens de
programação Eles ficam um pouco irritantes,
mas você se acostuma. Mencionamos anteriormente
que você não inicia suas variáveis
com maiúscula, mas pode, como você pode ver aqui, ter uma letra maiúscula
dentro do nome da variável, que às vezes ajuda a facilitar a leitura. Então você pode ter meu nome
ou minha corda ou meu touro. E assim como você o tem,
temos um grande B. Então está tudo bem. Então, letras minúsculas no início, mas quando você está atribuindo
um valor booleano, ele deve ser um
F maiúsculo. Esses são os três tipos de dados mais
importantes que precisaremos agora, e você já sabe
muito mais sobre variáveis Você pode ver
que há mais alguns. Veremos alguns
deles mais tarde, mas são tudo o
que você precisa por enquanto.
90. Operadores: Para ver alguns operadores. Agora, quais operadores, você sabe, você fez matemática na
escola, mais menos O que era aquela coisa
chamada missa corporal? Colchetes de divisão. No entanto, você achava que essas coisas não
tinham valor. Claro,
eles têm valor. Como você sabe, quando
você pega aquela calculadora e calcula, você sabe quanta dica você tem para dar a
alguém ou qualquer outra coisa. Você está usando operadores. E o mesmo se aplica
à nossa programação. E há uma variedade
exatamente dos mesmos operadores, e alguns pequenos operadores
especiais que tornam a vida um
pouco mais fácil. Então, temos mais. Muito simples. Se eu quiser pegar A mais B
, são 30. É tão
simples quanto qualquer coisa. Você entende a subtração, então esse é apenas o
pequeno hífen, o pequeno traço é
a nossa A multiplicação na
programação não é um X. É o asterisco da estrela Então esse é um símbolo que usamos para multiplicar dois
valores A divisão é um ataque para frente, não para trás. Tenha
cuidado com isso. Deve ser uma barra para frente. Isso é o que usamos para divisão. Descendo, há um
pouco especial aqui. É esse sinal de porcentagem e é o que
chamamos de módulo É exatamente o
mesmo que divisão. A única diferença é que ele
fornece como resposta o que foi o restante Por exemplo, se eu tivesse
quatro divisões ou 5/2, e eu a usasse como uma divisão, você obteria a resposta
de 5/2 vezes e duas vezes, então você tem dois pontos,
qualquer Se eu fizesse um módulo e colocasse cinco e o sinal percentual dois, diria, bem, dois
vai para cinco duas vezes, ou
seja, dois, o restante é E então a resposta seria a parte restante, apenas uma Então é isso que é o módulo. E podemos retomar um
pouco mais tarde onde você
vê que o usa, mas isso não é
tão importante no momento. Expoente. É quando algo está no poder de algo. Eu vou 110 elevado à potência de dois, então será um dez estrelas dois. E, finalmente, você
tem essa coisa que é chamada de divisão de
piso, e basicamente tudo o que ela está fazendo é
arredondar algo Então, dizemos nove fortes, menos forja menos dois, em vez de lhe dar quatro
pontos
, está apenas dando Portanto, não está fornecendo nenhuma
das partes restantes. Está
lhe dando um número inteiro Esses são os operadores básicos. Então, esses são operadores muito
legais, e vamos ver como
podemos realmente usá-los. Ok, então vamos
começar com o mais fácil. Vamos criar uma variável
que vai armazenar um número. Mas, na verdade,
vamos tornar essa variável um pouco mais interessante. Não vamos
armazenar apenas cinco. Eu quero armazenar cinco mais dois. Então, agora, dentro dessa
variável M num, na verdade, a primeira coisa que
vai fazer é adicionar cinco mais dois, que é sete, e
então vai pegar o valor sete e
armazenar isso no meu número. Portanto, não está armazenando
toda essa expressão, primeira coisa que acontece quando
o programa é executado, o que ele
faz é pegar cinco mais dois. Ok, isso é igual a sete
e, em seguida, M num
é agora igual a sete. Em comparação com se colocarmos o que você acha que
aconteceria se
colocassemos duas pequenas
cordas ali, vírgulas
invertidas, isso
seria uma coisa totalmente diferente Então,
na verdade, estaria armazenando cinco mais dois da
expressão real lá. Se colocarmos meu número e fizermos isso, você verá
impresso na parte inferior aqui, que tem cinco mais dois. Mas se removermos isso e olharmos para a
parte inferior da tela, você verá que tem sete. Então, vamos realmente tornar essa declaração impressa um
pouco mais empolgante porque digamos que estamos
executando este programa e executamos, ele chegou
e imprimiu sete. Isso realmente não
te diz muito. Nem mesmo diz que o que
você está realmente tentando
descobrir é cinco mais dois. Então, para realmente
dizer à pessoa que está lendo a saída do seu programa o que
você estava tentando fazer, o que você pode fazer é adicionar mais de um elemento
à sua declaração impressa. Então, o que
vou fazer agora é imprimir
primeiro uma string que diz que cinco
mais dois é igual a. E então eu vou colocar uma vírgula e
imprimir a variável Então, basicamente, o que a vírgula
está fazendo é dizer ao Wing ou ao Python que você quer
imprimir duas Coloque-os juntos. Coloque-os juntos em
uma declaração impressa, publique-a e isso habilmente
fará mais sentido Sim, você vê na parte inferior
cinco mais dois é igual a sete. Na verdade, esse é um tipo do
que é chamado de concatenação. É onde você coloca duas coisas e as soma
, onde você está adicionando uma corda
e algo junto. Então essa é uma palavra chique. Você pode adicioná-la a outras palavras bonitas que
você já aprendeu Então, é simplesmente
pegar duas coisas. Nesse caso, é
pegar uma variável de string ou melhor, um número de
variável de string, uma variável inteira e
imprimi-la ao lado um pedaço de texto ou uma pode realmente concatenar quantas
coisas você quiser nesta declaração de impressão, dizendo que eu quero colocar alguns pontos de
exclamação, agora
ela
imprimirá a string,
cinco mais dois, depois a cinco mais dois ,
ou melhor, um número de
variável de string,
uma variável inteira e
imprimi-la ao lado de
um pedaço de texto ou uma pode realmente
concatenar quantas
coisas você quiser
nesta declaração de impressão, dizendo que
eu quero colocar alguns pontos de
exclamação, agora
ela
imprimirá a string,
cinco mais dois, depois a variável M
número e, em seguida,
outra string, que tem muitos pontos
de exclamação. Isso foi adição com números inteiros. Novamente, você pode adicionar dois carros alegóricos se
quiser , e isso é
exatamente a mesma coisa A adição sempre fará
a mesma coisa.
Isso vai adicionar. Ou, obviamente, isso
não é mais cinco mais dois porque agora está
fazendo 5.1 mais 2.1. Mas de qualquer forma, basicamente o que
estou tentando dizer é que você pode adicionar dois números inteiros,
você pode adicionar dois flutuadores É apenas adição,
adição normal, como você faz em matemática. Ok. Em seguida, vamos para, quero
dizer, divisão de subtração Tudo é muito
autoexplicativo. Se colocarmos um sinal de menos lá, ele imprimirá
cinco menos dois Se você se lembra qual era
o sinal de divisão, era essa barra frontal Agora é cinco
dividido por dois. Então, se você for realmente inteligente, talvez se lembre do que essa coisa chamada divisão de
piso fez Basicamente, tirei
os cinco e estou apenas
imprimindo os dois. Basicamente, está
convertendo esse float, que deve imprimir 2,5, Agora, isso apenas
imprime o número inteiro, então basicamente exclui tudo após
a casa decimal E quanto ao módulo um? Vou te mostrar o que o
módulo um fez. Se você, como
explicamos anteriormente, ele imprime o que sobrou Então, obviamente, dois
é cinco, duas vezes, como meu pai
explicou anteriormente. Dois, dois ou quatro sobraram com um. Então, se mudarmos isso para
, digamos, nenhum, ele também imprimirá um. Excelente. Que ótimo exemplo foi
esse. Que tal cinco? Ok, podemos engordar. Depois do trabalho. Excelente. Cinco vai para nove, um restante, quatro Ok. E se
não tivéssemos feito um multiplicador Cat, espere, você se lembra qual é o som do multiplicador?
Você pensou que era isso? Não, não é isso. É
isso. Ok, nove vezes cinco. 45. Você resolveu
isso antes de olhar? Espero que
tenham resolvido isso. Ok. Agora, a coisa divertida com os operadores é
que, com tapetes, obviamente, os operadores que você
está usando estão com números Mas na programação,
você também pode usá-lo com strings Então, vamos criar uma string. Vamos torná-la nossa cor
favorita, por exemplo, minha cor
favorita é azul. Em vez de apenas dizer azul, quero acrescentar algo a isso. Então, com strings, você só
pode adicionar strings a strings e inteiros
a inteiros ou, basicamente, você só pode adicionar uma string
a uma string e você só
pode adicionar um número a um Você não pode misturar. Quando você trabalha com tipos de dados, não é
possível misturá-los. Eles não gostam disso.
Eles ficam muito chateados. Então, se quisermos somar
duas cordas, bem, ambas devem ser cadeias
de caracteres Se você tentar adicionar um número
inteiro a uma string, ela não diminuirá. Uau. Ok, agora vou imprimir essa string concatenada chamada
mystring E vai simplesmente
imprimir essa frase. Mas o que você nota aqui
é que quando você usa esta edição, ela não fica nesse espaço. É basicamente pegar
o que você escreveu lá e adicionar o que você escreveu lá diretamente no final
do que está antes. Uma coisa que você deve
dizer
com a adição de strings
é que com a adição de strings não se
chama mais adição,
agora é chamada de concatenação Na verdade, isso é chamado de concatenar duas
strings Mas, obviamente, o que
eu fiz aqui realmente
não faz sentido, realmente
não faz sentido porque eu poderia
simplesmente ter colocado tudo isso dentro
da primeira string. Digamos que eu queira fazer vamos chamá-lo de Musring um
e agora quero chamar isso Minha cor favorita. Agora, em vez de imprimir, juntando esses dois
no primeiro, eu os coloquei em suas
próprias variáveis separadas e agora vou
concatená-los na declaração de impressão, como
mostrei Ok, agora, aqui, novamente, você notará que ele
não ocupa esse espaço para você. Então, se você quer um espaço,
é bem simples. Você acabou de colocar o seu próprio. Obviamente, um espaço é
apenas uma corda com. Acabei de clicar
na barra de espaço adicioná-la entre elas
e imprimi-la novamente, e agora a tenho em um centro com aparência mais
correta Então, basicamente, o que
fizemos foi somar duas variáveis
que criamos, myString e myString one, que são variáveis de string, e criamos
um pedaço de texto, um pedaço de string que
estamos adicionando como parte Então, desde que
tudo seja a mesma coisa, o problema
é
que se você começar
a misturar as coisas, agora estamos tentando adicionar o que não é uma
string a uma string. Isso é um número inteiro. Aqui embaixo, você verá um erro de tipo. Não estou muito feliz com
o que você fez. Coisa ruim, não faça isso.
Isso não é uma string. Deve ser uma corda, e
até te diz lá. Portanto, mantenha os mesmos tipos de dados juntos e a vida será feliz. Com strings, tudo o que você pode
realmente fazer é adicionar, que dissemos ser
chamado de concatenação Você não pode subtrair multiplicar ou dividir porque isso realmente não faz O que é M menos a cor favorita.
Isso não faz sentido. Ok, então com strings, você pode usar a adição
com números, pode usar qualquer um
desses operadores diferentes Então, antes de
mostrarmos aqui, tentando adicionar esse
número nove a uma string, você viu que recebemos um erro. Então, novamente, obviamente, bem,
talvez não, obviamente, mas se fizéssemos disso um número
inteiro em vez de um número, vamos chamá-lo de Mt e dizer que é igual a 14 Agora, nesta declaração de impressão, se agora usarmos M Int, mais cinco e
decidirmos imprimir
isso, isso não nos dará
um erro porque o Python percebeu
que esse valor
aqui é um número Esse valor aqui que estamos
adicionando é um número, então sim, eu posso fazer isso. Mas se essa mudança na minha
string, como vimos antes, agora
ela é avaliada como azul, o
que definimos aqui, e a segunda,
é avaliada como número inteiro ou como um número Agora nos dizem: como posso
adicionar uma string a um número? Isso é impossível e isso nos
dará um erro. Certo, então essa é uma breve introdução
aos vários operadores. Nós vamos
usá-los muito. Você pode se familiarizar
bastante com
eles à medida que avançamos. Mas, como você vê, eles
não são tão difíceis. Não é muito diferente do
que você teria aprendido apenas em
matemática na escola Então, esses são os operadores, e divirta-se,
brinque com eles. E contanto que você mantenha
seus operadores todos ao mesmo tempo,
a vida será boa.
91. Como ser interativo - um pouco de entrada(): Agora vamos
ver algo que permite que você
torne sua programação um pouco mais empolgante e quase um pouco mais pessoal
para o usuário. Porque no momento, quero dizer, estamos usando
impressão, mas, você sabe, é como quando tudo é
saída. Precisamos de alguns. Entrada. Entrada. Então, vamos dar
uma olhada no Input. Você sabe, você conhece aquelas
pessoas que
só conversam , nunca te
dão um momento. Sim, bem, é disso que
se tratam as impressões digitais. Apenas fale, fale, fale. É
hora de você obter algumas informações. Ok, então, felizmente, com o Python, eles tornaram isso
muito fácil para nós Então, muito antes de fazermos isso,
vamos colocar uma
declaração impressa. Imprima, olá. Agora podemos usar o Input. Então, novamente, nós apenas digitamos input. E agora, basicamente,
o que você colocar dentro desses colchetes é, na verdade o que vai ser
impresso na tela Então, é quase como se
você estivesse fazendo uma pergunta. Ok, então vamos perguntar ao
usuário qual é o nome dele. Então, qual é o seu nome? Sim, qual é o seu nome? Ok, agora é como eu disse, o que quer que você coloque
aqui é a pergunta, e agora você tem esse
pequeno cursor piscando, o que significa que você pode digitar
dentro da concha agora Então, meu nome é Sarah. E então eu simplesmente imprimi
tudo o que o usuário digita. Então, vamos executá-lo novamente
e imprimir outra coisa, qual é o seu nome, Craig E acabou de imprimir Craig. Então, isso não é muito
empolgante, mas quero dizer, é pegar o que o
usuário digitou, lê-lo
e agora saber que o
nome do usuário é Craig Sim, Path está muito feliz. Mas não queremos apenas ler um nome e
deixá-lo ser reimpresso. Na verdade, queremos fazer
algo com isso. Sim, precisamos
guardá-lo em algum lugar. Então, agora, como essas coisas são
chamadas? Essas variáveis. Sim, exatamente. Vocês são essas variáveis que são uma
boa razão para existir? Não é apenas para guardar sapatos, carros
e perus? É, e eu guardei meu nome. Eu armazenei isso bem, armazenei a resposta para essa pergunta dentro
da variável, meu nome. Então, pode ser um
pouco confuso. Você pensaria que isso está armazenando toda
essa entrada.
Qual é o seu nome? Mas meu nome não está armazenando isso. Ele armazena tudo o que
o usuário digita. Então, novamente, você verá, qual é o seu nome se
eu digitar Sarah? Não vai fazer
nada, mas o que Parton realmente
fez foi esse valor Sarah como uma string e
armazená-lo dentro do meu nome Então, poderíamos dar uma olhada variável my name e apertar um pouco e ver
o que está armazenado nela Então, usando nossa declaração impressa, agora
queremos imprimir meu nome. E veja o que ele
realmente está armazenando. Vamos fazer um nome diferente. Molly. Ok, vamos fazer Molly. Isso é muito legal. Agora, sem alterar o
código real do programa, podemos continuar executando esse programa e
digitando novas entradas, e elas serão armazenadas Assim, você pode
ver imediatamente o que está acontecendo agora. O código não precisa mais ser alterado. Isso continua o mesmo. Essa variável
contém um valor
e, portanto, o usuário pode inserir esse valor e ele é
armazenado nessa variável. É aqui que o poder das
variáveis está começando a entrar, porque podemos
inserir coisas nelas ou o usuário pode inserir
valores na variável. Então, digamos que você esteja criando um jogo e muitos jogos possam
pedir que você digite seu nome. Eles podem fazer com que o jogo pareça um pouco mais
personalizado para você. Digamos que você
pediu o nome do usuário e depois quer
dizer olá para ele. Lembre-se de que é o
olá e, se você quiser adicionar algo
novo à declaração impressa, basta inserir essa vírgula Agora, qual é o seu nome? Danny, ele vai
te dizer Olá, Danny. Então, ele pegou o
que o usuário digitou, armazenou nessa variável,
meu nome, e o imprimiu aqui E lembre-se, tudo
o que o usuário digita aqui é considerado uma string. Então, mesmo que eu tivesse
digitado meu nome como sendo oito, ele diz olá oito, mas isso não é um número.
Isso é uma string. Tudo o que o usuário insere é considerado pelo Python
como sendo Você pode se divertir muito aqui.
Você quer se divertir. Você quer
se sentir bem. Faça isso Basta fazer
uma pequena alteração. Em seguida, pressione Executar, digite seu nome e pressione Enter. Oh, eu me sinto tão fantástica. E você continua rodando
isso
repetidamente e fazendo com que nos
sintamos bem. A
programação não é incrível? Isso faz você se sentir
bem com isso. Você pode fazer praticamente qualquer coisa. Ok. Então isso foi uma entrada. Uma rápida olhada nisso.
Também é uma coisa muito poderosa. Nós o usaremos muito mais tarde. E sim, vá em frente, divirta-se
um pouco mais com isso, experimente coisas diferentes
e inicie o programa.
92. Resumo: Feito, bem feito. Você chegou
ao final da seção. Fizemos muito
nesta seção. Então, aqui está um
pequeno resumo para ajudar você a lembrar que começamos com variáveis, e variáveis são aquelas coisas que basicamente são o
oposto de uma constante. Uma constante é algo
que pode mudar. Uma variável é algo
que pode mudar. E uma variável é um contêiner onde você pode armazenar algo. Então, se você tivesse uma variável chamada minha variável e
outra seção feita, isso é basicamente
apenas um contêiner. Armazenamos esse pedaço de texto ou o que é chamado de
string em uma variável. Então essa foi a primeira coisa que fizemos na importância
das variáveis. Em seguida, analisamos os tipos de dados. Agora, nem todas as variáveis
são iguais em termos de crédito. Acabamos de dizer, por exemplo, que você não guarda o
perú no armário, não guarda o
carro na sua estante de livros Bem, o mesmo se aplica às
variáveis e aos tipos de dados. Então você pode ter uma
variável que é um número inteiro como minha idade.
Bem, lá vamos nós. Perto de 103. Esse é um tipo de dados
inteiro E você obtém diferentes
tipos de dados. Você obtém tipos de dados de string,
tipos dados booleanos e uma grande variedade
de tipos diferentes Então, ao colocar 103
em vírgulas invertidas, de
repente minha idade
é na verdade uma string, e vimos como era
importante
ter cuidado com seus tipos de dados, especialmente se você começar
a tentar misturá-los Não os misture. Então, estamos
analisando os operadores. Operadores, todas aquelas
pequenas coisas que ficam entre números ou entre variáveis ou mesmo
entre cadeias Assim, podemos usar operadores
para adicionar coisas, para
multiplicar coisas em coisas divinas Então, se tivéssemos criado
uma variável que é uma variável inteira
chamada Menna dis four, podemos somar duas Então temos minha idade mais, meu final, 103 mais
quatro, e é 107. Talvez pudéssemos dividi-los. Então, lembramos
que tínhamos o sinal de divisão, Ford Slash, e ele nos dava
algo diferente, 25,75 E havia ainda outros,
se você se lembra, tínhamos alguns muito engraçados que poderíamos incluir
que
mostravam apenas a base de sua divisão e não qualquer um
dos restantes e assim por diante Então, esses eram operadores. Em seguida, seguimos em frente e
analisamos o Input. Queríamos que nossos programas
conversassem para nos envolver. E é aí que o poder da programação começa a entrar, e é aí que
tudo isso se juntou, porque essas variáveis são
contêineres que abrigam coisas. Mas, obviamente, não podemos deixar que
a pessoa
que usa o programa entre e altere
o código, as variáveis. Então, queremos ter um aviso. Queremos fazer uma pergunta a eles e queremos que o resultado da resposta
a
essa pergunta seja armazenado potencialmente
em uma variável. Por exemplo, se
criássemos uma variável chamada finished e agora
quiséssemos fazer uma pergunta ou
dizer a eles, tudo bem. Se você estiver feliz, etc., usaríamos então
o comando Input E então eles seriam
solicitados a contribuir, muito bem. Você está feliz e, em seguida, ele
pode ser exibido. Obviamente, poderíamos
optar por imprimir essa variável finalizada e, em seguida, imprimir o que estava armazenado dentro
dessa variável. Então, usar o Input com
variáveis agora abre um mundo inteiro de oportunidades
e possibilidades. É aqui que a codificação
realmente fica empolgante. Então, sim, estamos todos acabados. Terminamos esta
seção, muito bem. Você alcançou uma ótima
próxima etapa e agora está avançando para onde
vamos abordar algumas coisas muito,
muito empolgantes. Você pode ver que a essência e o básico de seus programas
estão se unindo Mas é tudo uma questão de prática
, experimente você mesmo
repetidamente, faça com que seja como
seu segundo idioma. Não se esqueça de
que há perguntas e questionários no final da
seção, certifique-se de fazê-los Obviamente, quanto mais você tentar
e praticar, melhor ficará. Fazer
as perguntas realmente
o ajudará a lembrar e experimentar por si mesmo as diferentes
coisas que mostramos.
93. Por que todos precisamos de listas: Quer ver as listas. Se é algo com que todos temos que
lidar na vida, você sabe como é. Temos listas e listas, e
temos listas sobre listas. E sim, vamos
comprar o pão, o leite e
o
que quer que seja, os ovos. Então, o que é uma lista? Bem, obviamente, uma lista é
simplesmente um arranjo de itens que têm algum link entre
si. Agora, não bagunça. Quer dizer que eles têm que
ser iguais: ovos e leite não são
exatamente a mesma coisa, mas todos fazem parte
de uma lista de compras, ou você pode ter uma lista de notas de estudantes ou
o que quer que seja. Então, é algum tipo
de arranjo
e, normalmente, porque
eles pertencem um ao outro, você quer trabalhar
com eles juntos. Então é aqui que as listas
são realmente importantes. Então, em vez de ter variáveis
separadas. Então, você quer ter variáveis para armazenar os nomes dos seus alunos. Você poderia ter meu nome
um, dois, três, quatro, cinco, mas são todos nomes, e todos têm a ver
com nossos alunos. Talvez o
melhor seja se você pudesse tê-los todos em uma lista. Portanto, as listas são um espaço especial onde você pode armazenar muitas coisas que
têm alguma relação. Então, isso é o que vamos
ver
nesta seção: como você pode
criar listas como um tipo de variável
especial
e, em seguida, como você pode trabalhar com listas
porque elas realmente tornam a vida muito mais fácil
do que para nós na vida normal. Vamos ver as listas.
94. Criando sua própria lista: Agora que você já
tentou listar, vamos ver como podemos
usá-los e onde
realmente os usaremos. Vamos começar
criando uma lista. Digamos que queremos armazenar uma lista de todos os amigos que você deseja
convidar para uma festa. Poderíamos fazer o que
fizemos antes e dizer talvez amiga um como variável, e vamos chamar aquela amiga de Mary e
depois virar amiga dois. Mas você pode ver que isso pode
começar a ficar um pouco repetitivo, especialmente se
você tem muitos amigos, amigos três, amigos quatro, e você vai
continuar tendo que
adicionar todos eles à sua lista dessa forma E vai ficar um
pouco confuso
ter que lidar com todas
essas variáveis diferentes Essencialmente, todos eles
pertencem a uma lista. Eles são seus amigos da festa. Ok, então, em vez de ficar falando e
digitando cinco, 20 variáveis diferentes, vamos
armazená-las em um só lugar Então, para criar uma lista, vamos chamar essa lista de amigos. Tudo o que você precisa fazer é colocar
esses dois colchetes. Então, agora eu realmente tenho uma
lista. É uma lista vazia. Ele não está armazenando nada, mas o Python agora vê
isso como uma lista Ok, então, na verdade, é
um tipo especial de dados. Então, agora que você
realmente criou, você vê que é diferente de ser apenas
um número inteiro ou uma string Na verdade, esse é um tipo de
lista com o qual você pode trabalhar agora. Então, vamos começar a armazenar
esses amigos em nossa lista. Agora, lembre-se, esses são nomes, então vamos armazená-los todos como strings e, para
armazenar uma string, usamos vírgulas invertidas Agora, para separar os diferentes
nomes, usamos vírgulas. Então, primeiro nome,
Mary, próxima amiga. Ok, vamos novamente com Fred. Vamos colocar meu nome
aqui. Nós podemos ser amigos. Ok, você pode continuar
o tempo que quiser. Vamos embora. Mais um nome. Charlie. Ok, então aqui está
uma lista de quatro amigos. Novamente, se imprimirmos isso,
não mostrará nada. Mas o que o Python fez foi pegar essa lista,
Mary Fred, Sarah,
Charlie, e armazenar tudo isso
dentro dessa variável
chamada amigos Então, agora vamos primeiro imprimi-lo apenas para ter certeza de
que é isso que ele está fazendo. Imprima a variável friends. E aí você vê,
ele é armazenado como uma lista. Não é uma corda. Ele não armazenou todos eles como
uma frase dentro. Não, você pode realmente ver
cada uma das vírgulas invertidas. Sim, cada um deles tem um pequeno conjunto de vírgulas invertidas ao redor deles, indicando que cada um
deles é uma string individual, então é visto como quatro nomes
separados Ok, agora nós
os temos em uma lista, mas agora vamos apenas
dizer que eu
quero enviar um convite para Sarah. Como posso agora dizer que
quero enviá-lo para Sarah? Então, o que vamos fazer é que em todas as linguagens de programação, temos algo
chamado indexação. Basicamente, isso
significa que cada elemento em nossa lista tem um
número específico associado a ele. Então, agora, você pensaria
que se eu tivesse que perguntar qual número
na lista é Sara, você diria
: Oh, isso é fácil Sarah é Mary, Fred, Sarah. Sarah tem três anos, mas
você estaria errado. Errado. Os computadores são
um pouco diferentes. Como dissemos anteriormente.
Os computadores podem parecer um pouco confusos para pessoas que não sabem
nada sobre eles, mas assim que você
começa a aprender
a maneira como eles trabalham, o idioma
deles, isso realmente faz muito mais
sentido e é muito simples Então, o que você
precisa lembrar com computadores,
a contagem começa do zero. Então, aqui, em vez de um, dois, três, quatro, cinco, qualquer coisa, vamos para zero,
um, dois, três. Então, onde você poderia
ter pensado antes, Sara seria a número
três na lista, na verdade está indexada Digamos que agora
eu quero ser
capaz de imprimir esse nome, Sarah. Eu não quero nenhum
dos outros nomes. Eu só quero Sarah. Para extrair esse nome, usamos o que eu disse
anteriormente, indexação. Novamente, isso pode
parecer um pouco confuso, mas estamos usando
colchetes Talvez uma maneira fácil de
lembrar isso seja, se eu quiser ligar para um
número da lista, estou usando os mesmos
colchetes, mas isso não
significa necessariamente a mesma coisa Isso significa que você deseja ligar
para esse número. O que eu digitei aqui é o nome de uma lista,
amigos, e estou dizendo que quero o
índice dois dessa lista Posição de índice número
dois, então zero, um ,
dois, e aqui embaixo , veja, encontramos Sarah. Então, se tentássemos zero, queríamos Mary,
na verdade usaríamos o Zerra Lá vamos no fundo,
é retirado Mary. Ok, então o que acontece
se colocarmos cinco? Boa pergunta. Essa é uma
boa pergunta. Lá vamos nós. Não estou feliz. Você o verá lá
embaixo. Isso lhe deu um erro de índice. o índice da lista está fora do intervalo Obviamente, o índice da lista está fora do intervalo porque não há uma posição cinco ou um valor na
posição cinco em sua lista. E, obviamente, o
mesmo com os negativos. Mas, na verdade,
reclamou desses cinco porque há apenas quatro
elementos diferentes nessa lista, e ela só vai
até o índice três Ok, então, novamente, em vez de
agora ter que digitar olá ,
colega um, olá , amigo em
coma dois,
podemos facilmente alterar esse número e
dizer que você está convidado. E queríamos convidar Charlie e não
esquecer aquela vírgula OK. E então você poderia
fazer isso com outras pessoas. E, na verdade veremos mais tarde
algo chamado loops, o que torna isso
ainda mais poderoso Então, como você pode ver, lentamente, as coisas estão começando a ficar
cada vez mais complicadas, à
medida que seus programas começam a ficar cada vez mais longos
e, eventualmente você
terá programas que podem ter milhares de linhas. Queremos tentar
acompanhar o que estamos fazendo. No momento em que você
desce na linha 373, você pode
voltar para a linha quatro e não ter ideia do
que estava digitando Para nos ajudar como programadores e também
ajudar outras pessoas quando elas podem ler seu código ou tentar entender
o que você está fazendo, temos algo
chamado comentários Todos os nossos comentários
são muito simples. É uma hashtag e
o que você quiser. Ok, agora essa
hashtag olá, olá. O que o Python basicamente faz é ignorar
isso completamente. Então, os comentários são para
você. É para te ajudar. Python, quando executa o programa, ele
nem vê Então, qualquer coisa depois dessa hashtag,
ela é completamente ignorada. Você pode ter um espaço
e dizer, qualquer coisa. Portanto, o objetivo de comentar é muito importante.
Como disse Sarah. Muitos programadores pensam: Ah, eles só vão se
apressar e
programar . Mas entenda isso. Mesmo que outra pessoa não
precise ver seu código, se você for ver
o
código de outra pessoa e ela não tiver
comentado, você não tem ideia do
que ela fez. Mas mesmo você mesmo, você volta uma semana ou um
mês depois e olha seu código e
não consegue se lembrar por que fez certas coisas. Portanto, é muito importante. É um bom hábito começar
a adicionar comentários. Você pode adicionar comentários on-line. Você pode adicionar comentários
em sua própria linha, então talvez
queira dizer, você sabe, o código abaixo aqui é onde estamos imprimindo os nomes
dos amigos, etc É muito importante fazer o
máximo de comentários possível, apenas para lembrar a si mesmo e outras pessoas que estão lendo o
código do que está acontecendo. É um bom hábito,
acostume-se com isso. Você ficará muito grato se fizer comentários
, porque tem a
garantia de que
voltará mais tarde e dirá: O que
diabos eu estava fazendo
95. Trabalhando com listas: sabermos como criar uma lista, vamos começar a fazer coisas mais complicadas e
empolgantes. Então, agora que temos essa
lista chamada de amigos, talvez não
queiramos mais convidar, digamos que não queremos mais
convidar Sarah para a festa e
queremos alterar esse valor. Queremos torná-lo
dinâmico no momento, é uma lista estática que
foi definida no programa. Então dinâmico significa
que podemos alterar os valores dentro dessa
lista chamada amigos. Vamos Austin. Qual comando você
acha que
vai usar para permitir que o usuário altere o valor
armazenado nessa lista? Desculpe. O que você disse? Não, eu não
posso aqui. Você vai ter
que calar a boca. Entenda que estamos a quilômetros
de você. O que você disse? Você disse que acho que
ouvi Input. Bem feito. Isso é exatamente. É isso mesmo. Definitivamente estou ouvindo. Ok, então, antes de pedirmos
ao usuário que insira o nome, teremos que
dizer aos nossos amigos da lista qual valor queremos mudar. Portanto, é muito parecido
com o que fizemos antes. Usando a indexação, como dissemos, queríamos alterar
esse valor, Sara,
que era índice, espero que
você se lembre de dois. Índice dois. Sara um, dois. Não queremos mais mudar
para Sara, mas digamos meu pai me substituiu e
queremos que
meu pai me substituiu e
queremos verificar se a lista realmente
mudou, então queremos
imprimir essa lista Talvez para realmente verificar se isso definitivamente mudou. Queremos primeiro imprimir o que era
a lista antes de alterarmos o valor e depois imprimir o que era
a lista depois de
alterarmos o valor. A primeira linha
impressa será a lista anterior, a segunda linha, a lista depois. Você pode ver que o primeiro
foi o que ensinamos aqui, então decidimos que não, não
queremos mais a Sara. Vamos mudar esse
valor para Craig. Acabou de mudar esse valor,
Sara, para ser Craig Mas talvez queiramos
torná-lo mais empolgante e, como
dissemos anteriormente, queremos que o usuário insira
quem ele quer que venha. Então, em vez de decidirmos que
queremos isso igual a um amigo, perguntaremos novamente
ao usuário e, como você tão habilmente lembrou
anteriormente, usamos Agora vamos digitar um prompt. Essa é a parte que aparece
no comércio invertido usuário a
pergunta:
digite o nome de um amigo Onde o
nome desse amigo será armazenado? Ele será armazenado na lista
na posição dois. Assim, podemos ver na lista como
ela se parece no momento. Mary Fred, Sarah Charlie, e vamos experimentar
Claire, aí Agora, Mary, Fred
Clare e Charlie. O usuário agora está realmente
inserindo um valor, mas ele está sendo armazenado em uma
posição dentro da lista Lembre-se, se isso mudarmos para quatro e pedirmos que eles
digitem, vamos fazer o mesmo. O que você acha
que vai acontecer? Você receberá um
erro porque não
há posição
quatro nessa lista. Temos 01, dois, três, Charlie é o
último nessa posição. Você só pode alterar o que já
está na lista. Então, essas são listas. Você está tendo uma boa ideia. E, novamente, é uma ferramenta
muito importante, um
tipo de variável
muito importante, em certo sentido, que você pode usar e manipular e elas se tornam muito
poderosas quando analisamos mais tarde os loops,
porque agora você pode
percorrer uma lista em um loop e preenchê-la
rapidamente ou imprimi-la Então, eles são muito úteis, você pode se
divertir muito. Então, divirta-se. Brinque com suas listas. Eles são uma parte importante da organização.
96. Esta é uma lista sólida: Às vezes, na vida, há listas que você
não quer mudar. Talvez seja uma lista de
suas pessoas favoritas. Talvez seja uma lista dos seus restaurantes
favoritos. Talvez seja uma lista dos seus filmes favoritos,
sejam eles quais forem. Às vezes, as listas não
deveriam mudar. Agora, no momento,
você pode ver que nossa lista pode mudar muito facilmente
e é muito útil, e há muitos
motivos pelos quais queremos fazer isso Mas e se não quisermos que nossa
lista mude de qualquer maneira. Ok, em Python, essa
lista que não pode ser alterada é chamada ou As pessoas pronunciam isso de forma diferente. Eu vou usar a tupla. Tuple porque isso
responde a tuple. Sim. Mais fácil de lembrar. Ok, então essa
lista imutável é, na verdade, muito fácil de mudar de
uma lista em mudança Então, para
fazer disso uma tupla, tudo o que estou fazendo é colocar colchetes
em vez
de colchetes Agora, o que isso significa, isso significa que não importa o que aconteça, eu não posso mudar essa lista. Não consigo adicionar um nome, não
posso mudar um nome. Bem, uma vez criada, é uma lista sólida. Então, essas pessoas estão vindo para a festa, elas
são melhores amigas. Então, antes
que esse programa fosse exatamente o
mesmo que tínhamos antes, mudamos esse nome Sarah para o nome que
o usuário inseriu. Agora vamos tentar novamente, executar o mesmo programa,
mas agora usando uma tupla Então, vamos digitar novamente Clare. E, imediatamente, você receberá um erro
dizendo
que o objeto de tupla não
suporta a atribuição dizendo
que o objeto de tupla não
suporta Então, o que isso significa é
basicamente, em termos simples, que a lista não pode ser alterada. Isso é o que significa em inglês. Não é? Um lindo objeto de tupla não
suporta a atribuição de
itens Em inglês, isso significa que você não
pode mudar essa lista, cara. É uma lista sólida e estagnada. A razão pela qual você gostaria de
fazer isso é basicamente para evitar cometer erros bobos Então, se eu tivesse isso como uma lista
com colchetes, mas não quisesse alterá-la Era
algo importante. Foi algo que permaneceu o mesmo durante todo
o programa, e de alguma forma eu cometi
um erro tolo e um item foi alterado e você executou seu programa
e, de repente, ele
não está fazendo o que você queria fazer e você não entende o porquê O motivo é porque algo foi alterado e não
deveria mudar. Se no início eu o tivesse
definido como sendo uma tupla, assim que eu
tentasse alterá-lo algum lugar no final do
programa, ele não me deixaria Ele lançaria
aquela flecha dizendo, desculpe, você não pode mudar isso. Um exemplo clássico
seria criar uma lista com os
meses do ano. Então, de janeiro a março,
eles não mudam. Eles sempre são os mesmos
meses do ano. Isso seria
criado em vez de apenas como uma lista, mas como uma tupla Assim, você pode imprimir
facilmente o mês 12, meses, 11, etc., referenciando o
item certo na tupla Ok, então eram tuplas, e elas são
listas sólidas. Listas sólidas.
97. Resumo: Resumo rápido do que abordamos
nesta seção. Nós abordamos as listas e por que você tem listas, e isso
é muito importante para a vida. E vimos
como você pode criar uma lista de forma bastante simples definindo o
nome da sua lista e, em seguida, listando entre
colchetes todos os itens que
estarão nessa lista Você pode imprimir sua lista e acessar a lista simplesmente usando número de
índice, lembrando
que sempre começa em zero, por que precisamos que a lista
seja zero, um, dois e três, e é
simples assim Então, quando executamos isso,
produzimos uma lista do
que está dentro da lista. Então, a lista é muito legal. Também analisamos as tuplas. As tuplas são exatamente iguais. Tudo o que fazemos é mudar
dos colchetes para
os colchetes, de
repente, essa
lista não pode Neste exemplo, tudo
continuará da mesma forma que não estamos
tentando mudar nada, mas essa lista causará um erro de atribuição se você tentar alterar algo
nela posteriormente Então, isso são listas e tuplas. Eles
são uma
forma muito conveniente de armazenar coisas semelhantes e que precisam ser
trabalhadas em grupos. Como dissemos, uma lista de amigos e talvez sejam
meses do ano ou talvez
sejam valores da tabela de impostos, seja o que for,
armazená-los em uma lista é muito poderoso. Veremos mais tarde
como você pode usá-los. Então essa é a lista, e deixamos que você
liste todas as suas necessidades e desejos e
se divirta o máximo
possível programando em Python
98. É importante tomar decisões: Decisões, decisões, decisões. A vida está cheia de decisões. O que você vai estudar? Que emprego você vai aceitar? Com quem você vai se casar?
Que carro você vai comprar? Você vai pegar os
vegetais ou o chocolate? Sim, decisões de decisão. E as decisões também são
muito importantes quando se
trata de codificação, porque é
assim que muitas coisas funcionam, maior do que
isso, é a mesma coisa, e
precisamos tomar decisões Na verdade, uma área inteira, chamada de fluxogramas, é frequentemente usada para
tentar definir,
decidir e deixar claro como a lógica do
seu programa funciona. A lâmpada funciona? Não.
Bem, está conectado Não, então conecte-o. Sim, ele está conectado. Portanto, temos fluxogramas para tentar
tomar decisões Agora, obviamente, esses fluxogramas
podem ficar cada vez mais complexos à medida que mais e mais decisões
precisam ser tomadas Então, nesta seção, queremos dar uma
olhada em um comando especial, que é a instrução I
e partes relacionadas a ela, a instrução IL que
ajuda você a tomar decisões e a
tomar decisões em Python Então, agora nossos programas começarão a passar para
o próximo nível e se tornarão
bastante empolgantes , porque é
aqui que
começamos a ver como
podemos usar o poder de
tudo o que estamos fazendo, todas as declarações,
todas as variáveis ou operadores, e
trazê-los para o próximo nível
usando a decisão. Então, vamos até o Python e ver o que podemos
fazer com
99. Se — uma palavra pequena com grandes implicações: Então, analisamos a
importância das decisões na vida. Agora, para implementar isso em Python, Python implementa
decisões e oferece capacidade de tomar decisões
usando
o que é Então, vamos dar uma olhada em como
podemos usar a instrução if para tomar decisões úteis e interessantes
dentro do Python Se as declarações são uma
parte fundamental muito importante da programação. Constantemente,
ao longo de
sua carreira de programador você
descobrirá que os usará muito e eles realmente
são muito úteis. Basicamente, o que eles fazem é permitir que você decida
qual caminho seguir com base em coisas anteriores
que podem ter acontecido e com base em condições que podem
ser verdadeiras ou falsas. Espero que
faça mais sentido para você se eu der um exemplo A sintaxe básica de uma
instrução if se parece com isso. Então, começamos com
um F. Em seguida, temos uma variável que queremos verificar se essa variável é verdadeira
ou falsa Então, eu provavelmente deveria
criar essa variável primeiro, para que faça um pouco mais de sentido. Temos uma variável.
Vamos fazer disso a nossa idade. Então, digamos que temos 16 anos. OK. Agora, queremos
escrever um programa que nos
diga se essa pessoa
pode dirigir com base em sua idade. Então, em nosso país, a idade em
que você pode dirigir é 18 anos. Então, para verificar se minha variável de idade tem idade suficiente
para
que a pessoa possa dirigir, o que
vamos fazer é usar essa declaração I. Portanto, a sintaxe é se a
variável que queremos verificar
, agora queremos verificar
se essa variável de minha idade é menor ou igual ao limite
de idade em nosso país Então, como eu disse, esse limite de
idade era 18. Então, o que você verá é que eu
coloquei esse pequeno poço, esses pequenos símbolos aqui. E o que esses símbolos significam é que, se minha idade for menor que 18 anos,
algo acontecerá. Ok, então, basicamente,
existem muitos operadores condicionais
diferentes que podemos usar Então, o que você vê aqui é que
isso mostra o que é o caminho e o
símbolo e o que isso significa em matemática, porque esses
símbolos devem ser bastante familiares para você se você tiver
feito algum tipo de matemática. Você basicamente avalia. Basicamente. Esse é o mesmo. Menos significa menos do que
maior do que é maior, então não temos
realmente essa codificação Em vez de colocar esse
sinal de igual embaixo desse jeito, vamos menos ou igual a, igual a, maior do que igual a. Então, se você quiser verificar se duas variáveis são
iguais entre si, não
usamos um sinal de igual, mas usamos o duplo assim. Muitas vezes, esse é outro
erro que os programadores cometem quando estão tentando aprender
pela primeira vez Eu poderia colocar apenas
um em vez de dois. Mas examinaremos exemplos
e faremos perguntas sobre onde você pode usá-los para que todos
se tornem mais familiares. Por fim, tivemos
este para verificar se algo não é
igual a algo Então, voltando ao nosso
código, vamos continuar. Se minha idade, que é minha variável de idade aqui em cima, for
menor e não igual a 18, então queremos imprimir
algo para o usuário. Então, vamos
imprimir, digamos,
desculpe, não tenho idade suficiente para dirigir. Ok, então vamos executar isso
e ver o que ele faz até agora. Ok, então o que nosso programa basicamente
fez
foi ir para a primeira linha. Isso fez com que minha idade fosse igual a
16. Em seguida, está testando. Esse valor é minha idade, que é 16, menor que
igual a 18? Sim, é. Isso é avaliado como verdadeiro. Portanto, está imprimindo, desculpe, não tem idade suficiente para dirigir. Agora, vamos alterar esse valor para um número maior que 18.
Vamos fazer com que seja 19. Como você pode ver, nada acontece porque o programa
já chegou. Está verificado que está
elicinando, não, então não imprime isso e pronto, o programa
termina Agora, o que você deve ter notado, que eu
realmente não mencionei
no início, é esse
recuo aqui Assim que eu clicar em
Enter, nesta linha. Eu me trouxe para a próxima linha, mas ela deixou esse recuo Agora, esse recuo é
realmente muito importante. Ok, então o recuo
é extremamente importante. Como Sarah apontou,
tudo o que está recortado faz parte da
condição de ser verdade Agora veja o que acontece se
removermos o recuo. No momento, se
Sarah correr, veremos que sim,
nada vai acontecer. Então, vamos reduzir essa idade para que
fique abaixo de 18 anos. E devemos imprimir
essas duas linhas. Aí está. Desculpe,
você não tem idade suficiente para dirigir. Um dia, você será. Isso porque essas duas
linhas foram avaliadas verdadeiras e, portanto, fazem parte dessa condição
e ambas foram impressas. Agora, vamos ver
o que acontece se nos
movermos e mexermos com
o recuo Então, vamos puxar a
segunda para trás, e ainda parece: Bem,
ok, se minha idade for
menor que 18, o que acontece, ela deve
fazer essas duas linhas. Bem, vamos dar uma olhada
e ver o que acontece agora. Ok, ainda está
imprimindo as duas linhas, então podemos pensar, bem, está
tudo bem. Agora, não há problema nisso. Imprimiu as duas linhas
exatamente como esperávamos. Ok, agora vamos mudar a idade para que seja
maior que 18. Portanto, agora ele não deve imprimir
nenhuma dessas linhas porque a condição não é verdadeira. Mas oh, não, olha lá, está impressa essa linha.
Um dia, você será. Então, o que aconteceu
foi, essencialmente, verificar se a
idade é menor que 18
e, se for verdade, imprimir essa linha. Desculpe,
você não tem idade suficiente. Se for maior que 18, não imprimirá essa
linha, mas de qualquer forma, sempre imprimirá a
linha número quatro, porque não faz mais
parte da condição if. É por isso que é muito importante que você use o recuo Se não estiver indentado
, não será considerado parte da condição if Portanto, é muito importante
manter esse recuo. Outra razão pela qual você também
deseja manter o recuo é que ajuda a tornar
tudo lógico À medida que seus programas ficam
cada vez mais longos, falamos anteriormente
sobre o uso de comentários, mas o recuo também ajuda
você a entender
o que está acontecendo Como veremos mais tarde,
teremos “ses ses” e “ ss”
, e isso pode ser bastante
complicado Para tornar isso um pouco
mais interessante, vamos agora imprimir algo se essa pessoa tiver mais de 18 anos. Então você vai embora, se
minha idade for maior que 18. Ok, vamos apenas imprimir. Sim. Ok, então tudo o que isso vai fazer agora
é
termos duas declarações if, que basicamente essa
está quase bem, está fazendo o mesmo tipo de
coisa que a anterior,
mas exceto que agora temos
uma condição diferente. Então, agora, quando eu programa discursos
, minha idade é igual a 19 Primeiro, será
verificado. Está bem? É menor que igual a 18? Não, não é. Portanto, ignore todo esse código
que foi indentado. E encontre o
próximo código que
não esteja indentado, então ele
virá aqui É maior que
18? Ah, sim, é. Então, vamos ver o que acontece,
obviamente, ele imprimirá essa
declaração aqui. Você pode realmente ter quantas declarações
if quiser, mas o que
explicaremos a você mais tarde é que essa não é realmente uma maneira
muito eficiente de
codificar e há maneiras
muito melhores de fazer isso em vez de ter
várias instruções if, mas veremos
em nossa próxima lição. Então, neste momento,
tudo que você precisa entender é o
conceito de um se, como você pode ter uma variável. Você pode ter um operador
condicional aqui enquanto examinamos
os vários,
e então, desde que
tudo esteja recuado, se for considerado verdadeiro, tudo o que estiver recuado abaixo dele será executado Então essa é a nossa declaração if. Uma
declaração muito poderosa nos ajuda a tomar decisões e a
ramificar nosso código E vamos ver onde podemos
levar isso na próxima lição.
100. Se - do outro lado - por que as alternativas são boas: Analisando a declaração
if, vimos como
podemos usar várias declarações
para fazer avaliações. Mas só de olhar para isso, há algo suspeito, que
não está 100% certo aqui Mencionamos que,
em nosso país, a idade para dirigir é 18 anos. Agora, é aqui que
há a
necessidade de lógica em sua programação. Se você observar essas
duas condições. Se minha idade for
menor ou igual a 18 anos, imprima desculpe, você não
tem idade suficiente para dirigir
e, se minha idade for
maior que 18 anos, sim, você pode dirigir. Você consegue identificar qual
é o problema se a idade oficial para dirigir
em nosso país for 18? Sarah, qual é o problema? Espero que você tenha
conseguido identificá-lo, mas basicamente tudo
funciona perfeitamente bem Mas, como meu pai
mencionou anteriormente, isso é na verdade apenas
um erro lógico. Então, o que realmente
queríamos é que, se meu g fosse menor que 80, não
pudéssemos dirigir, mas se
você tem 18 anos, você pode. Então, isso deve ser
se meu H for
maior que igual a 18. Então, esses erros lógicos
geralmente são mais difíceis de encontrar. Mostramos que, se
você errar com a sintaxe de algo,
ele a detectará Então, digamos, por exemplo, esquecemos de colocar as vírgulas
invertidas lá, executamos e imediatamente
podemos ver, na parte inferior, um erro de
sintaxe, que está dizendo que Os computadores podem ajudá-lo
com esse tipo de coisa. O truque é
acertar sua lógica , e isso é
muito importante. O que é
empolgante em aprender o programa é que você precisa ser lógico e, portanto,
pensar sobre isso. Mais tarde,
na depuração, veremos como você pode tentar resolver alguns desses problemas, porque nem sempre
são fáceis de identificar, mas
isso faz parte da diversão Ok, agora que
corrigimos esse erro lógico, vamos tornar esse programa
um pouco mais genérico. Genérico. O problema da programação é que você quer
tentar e a razão pela qual usamos variáveis e coisas assim é
que nossos programas podem ser
quase reutilizáveis
e não precisamos
reescrever o mesmo código
repetidamente Agora, em vez disso, como você deve
ter notado, sim, escrevemos I mag
menor que 18 aqui, e então escrevemos, I mag é maior que igual a 18 Em vez de
digitar duas vezes e dar a chance de que de alguma forma
estragássemos tudo,
se eu dissesse 19, novamente, minha lógica está errada Em vez de fazer isso, vamos
criar uma variável que armazene o limite de idade para
dirigir. E o que é bom
nisso é que agora podemos usar essa variável e
só precisamos fazer uma
alteração em um lugar. Então, vamos definir o limite de idade para
dirigir aqui para 18. Então, em vez de colocar agora
o número 18 aqui, vamos colocar
a variável. Portanto, esse é um uso muito mais
eficiente da codificação porque agora
temos uma variável, que é o limite de idade, e
podemos usá-la várias vezes E então, sim, você pode dirigir. Agora podemos alterar esse limite de
idade em um só lugar. Talvez seu limite de idade seja 21 ou o que quer que
seja em seu país, e possamos executar rapidamente o mesmo programa e
ver se ele funciona. Aqui, o limite de idade é de
15 anos. Execute-o, sim. Ok. Se você tem 19 anos,
certamente sabe dirigir. Ok. Então, isso basicamente também mostra que você
pode comparar duas variáveis. A segunda parte aqui
não precisa ser um número. Pode ser uma variável. Posteriormente, também veremos outras coisas ou outros
tipos de dados que também podem ser. Mas, por enquanto, vamos
dar uma olhada nas declarações. Então, antes de mencionar que não
é realmente uma boa ideia escrever muitas declarações
if como essa, porque há uma
maneira melhor de fazer isso. Ok. Então, a razão pela qual
queremos usar uma instrução else, que Sarah examinará
em breve, é a forma como
o programa é executado de
cima para baixo explica que eles
farão cada linha. O único lugar onde ele pode pular é se uma
condição não for verdadeira Por exemplo, aqui, se minha
idade for menor que o limite de idade e essa condição não for verdadeira, ele pulará esse
trecho de código ou essas duas linhas e, em seguida,
pulará para a próxima Agora, se você tem várias declarações
if, como
temos você na linha três, linha seis, etc., seu programa precisa
passar por tudo isso Talvez eu não
pareça grande coisa. Mas à medida que você obtém programas cada vez maiores, isso fica mais lento. Se você está tentando escrever
um jogo ou escrever algo que precise de melhor desempenho,
tudo isso conta. É uma
forma muito ineficiente de codificar. O que realmente queremos é que,
se essa condição for verdadeira, ela faça isso e depois ignore as outras partes
da condição, que são chamadas de outra parte. Como alternativa, se essa
condição não for verdadeira, ignore-a e execute a parte verdadeira. Isso é
o que qualquer outra pessoa faz. Em vez do que temos, eu tenho que avaliar isso, depois avaliar outro,
vamos mudar
isso para F e an e vamos
avaliar apenas uma
parte disso,
tornando-o mais eficiente. Vamos dar um exemplo
de uma declaração. As declarações L são, na verdade,
muito, muito simples de usar. Tudo o que você precisa saber é como digitar isso.
Isso é uma declaração. Não tem nenhuma
condição porque basicamente, o que mais significa é que, se tudo acima
dessa afirmação for falso, imprima isso. A única condição é que todas as afirmações if
acima sejam falsas. Agora, o que queríamos fazer é verificar
primeiro se a idade
era menor que o limite de idade, caso
contrário, se a idade não fosse
menor que o limite de idade,
então, obviamente, a pessoa
deve ser capaz de dirigir. Vamos imprimir essa
declaração novamente. Imprima bem. Isso fará exatamente o que
tínhamos antes e, como se vê, 19 é a idade, o limite de idade é 15
é 19 a menos que 15. Não, então ele vai direto para o L e imprime
isso aqui. Novamente, se eu mudar isso para menos do que o limite de idade para dirigir, ele verifica isso e diz
: Ah, sim, isso é verdade,
e está impresso. Mas o que tem sido eficiente
agora é que você não consegue ver isso, mas na verdade nem sequer
examinou essa parte aqui. Portanto, embora não estejamos vendo isso ou os
ganhos de desempenho aqui, é
assim que você deve codificar. É muito mais
eficaz e estamos tentando ensinar
bons hábitos desde o início Portanto, não use várias
instruções if se
for possível usar uma instrução se.
101. Declaração If- elif- else: Vamos ver se podemos ultrapassar um pouco mais os
limites e criar quase um programa de
inteligência artificial. Ok. Não será
exatamente uma IA, mas digamos que queremos
tentar dar alguns conselhos. Portanto, este será seu consultor pessoal sobre o que fazer nas
várias temporadas. Então, vamos escolher as
diferentes estações do ano. Por isso, vamos imprimir conselhos,
dependendo da época do ano. E para cada temporada, publicaremos um conselho
diferente. Então, digamos que seja inverno. Portanto, no inverno, nosso conselho no inverno é que você
se vista bem. Portanto, não se esqueça de se
vestir bem se for inverno. É um conselho muito bom e é algo que você nunca
deve esquecer. Certo. Então esse é o
nosso conselho de inverno? Vamos pegar o outro extremo. Talvez seja verão. Portanto, nosso conselho de verão é
não esquecer o protetor solar. Você quer ir lá e se
divertir muito, mas, você sabe, mais do que colocar
protetor solar é
mais do que colocar
protetor solar
se for ficar
muito tempo no sol Certo, que tal um
conselho de primavera? Então eu acho que a primavera é uma
época linda para tirar fotos. Então, lembre-se da sua câmera. Nos dias de hoje,
sempre temos seu telefone com você. Você provavelmente não precisa se
lembrar da sua câmera. De qualquer forma, lembre-se de sua
câmera para
poder escolher bem as
lindas flores que estão brotando por
todo o Então temos o outono, aquela linda estação em que
todas as folhas estão caindo. O importante a
lembrar no outono é não se esquecer de
pular nas folhas. Você deve fazer isso.
Todo mundo vai fazer isso bem, uma grande pilha de folhas e
pular para cima e para baixo Este é o nosso
conselho incrível que queremos dar às pessoas
com base na temporada. Agora, obviamente, se
executarmos o programa dessa forma,
isso é muito inútil Quero dizer, isso vai
imprimir quatro conselhos, e isso não é
particularmente útil. Então, o que queremos fazer é ter uma
variável que
vamos capturar em
qualquer temporada. Vamos criar uma variável
na parte superior e capturar
qualquer que seja a temporada. Esta é minha temporada, e podemos configurá-la para qualquer coisa. Então, digamos que o
primeiro seja o verão. Então, agora precisamos fazer algo
em que ele seja verificado. Com base no que está
armazenado na minha temporada, ele imprimirá apenas
um desses quatro. Agora, analisamos a pedra
anterior como se fosse outra coisa. Agora, ele não pode simplesmente verificar
o primeiro e dizer: é verão se não for
imprimir o próximo. Na verdade, ele precisa ser
verificado essencialmente quatro vezes. É aqui
que queremos apresentar
a próxima declaração, que é o estado else if. Todas as declarações condicionais
precisam começar com uma declaração if Você não pode começar com
uma declaração L. Você não pode começar com
a declaração do SIF que estou prestes a mostrar agora Todos eles têm que
começar com o I. Vamos primeiro verificar se nossa variável de temporada
é igual ao verão. Se minha temporada e lembre-se de
dobrar igual a é
igual ao verão, então queremos fazer alguma coisa. Em primeiro lugar, tenho certeza de que você
percebeu que não estou
usando números inteiros aqui Na verdade, estou usando cordas. Portanto, com as declarações da FNL, você pode comparar,
como eu disse anteriormente, muitos tipos de dados
diferentes Então, aqui, o que
ele
vai fazer é verificar
se essa variável, que definimos
como verão, é exatamente a mesma que essa palavra aqui, então ela será verdadeira. Então, se eu apenas mudei
uma letra aqui, eu vou te mostrar mais
tarde, não vai
mais ser igual a isso. Então, se isso aqui, essa variável aqui é exatamente
a mesma que essa aqui, então vai ser verdade. Então, agora queremos imprimir essa declaração para lembrar as pessoas de não esquecerem
o protetor solar Lembre-se de que precisa ser indentado. Caso contrário, ele não o imprimirá. Então, se isso for verdade, ele executará as instruções
indentadas Então agora vamos
dar uma olhada no LSF. Alf, abreviado para ser
apenas ALF, que é a forma como você o escreve, basicamente significa outra coisa, se
essa afirmação não for verdadeira, então vamos fazer a próxima A próxima coisa que gostaríamos
de verificar é se minha temporada é igual ao inverno. Inverno. Se for inverno, queríamos estampar
esse vestido calorosamente. Ok. Agora que temos quatro
declarações que queremos usar ou quatro lembretes que queremos
imprimir com base na temporada. Na verdade, precisamos de
outro Alsaf Além disso, a temporada M é igual à primavera, queríamos
lembrar sua câmera Por fim, queríamos
imprimir este para o outono. Na verdade, eu poderia escrever outra declaração lsf
e colocar isso aqui Mas toda declaração if, mas toda declaração elseif,
tem que terminar com outra. Eu poderia fazer isso de duas maneiras. Em primeiro lugar, eu poderia simplesmente colocar
outro Alsif como os
meus outros e verificar se minha estação é igual ao outono e imprimi-lo
aqui Mas agora ainda temos que
acrescentar isso, não importa o que aconteça, porque
estamos fazendo servos E então o que colocamos aqui? Quero dizer, poderíamos
escrever uma mensagem ou talvez ela
realmente faça sentido. Nós podemos escrever. Sim, está errado. Sim, sim, sim,
sim, sim. Eu deveria? Ok, então temos que ter essa
outra declaração no final. E essa declaração ls
pode realmente ser muito útil nessa situação
porque, como eu disse antes, como eu disse antes,
se apenas uma letra estiver errada nessa variável da minha temporada,
ela virá aqui. Então, se tivéssemos o verão
escrito assim, seria, não, não é igual a
isso, não é igual a isso,
não igual a isso, não é igual a isso.
Então, que temporada é essa? Então, quero dizer, seu usuário
vai dizer,
eu não entendo, eles montam rellas e
acabaram de digitar um erro de digitação Então, vamos
tornar mais fácil para seu usuário entender
o que aconteceu. O resto é essencialmente
uma pegadinha. Então, poderíamos ter
usado o outro bebê. Você pode ter pensado,
bem, que poderíamos tê-lo usado para pescar no outono, mas na verdade não teria sido verdade porque, como
Sarah lhe mostrou, se você escrevesse errado o verão,
teria dito: Não se esqueça de pular nas folhas porque isso
teria sido
o Ok. Então, precisávamos
verificar cada um deles
como se fosse
e, finalmente, o outro se tornasse
genérico, ou seja, não, você não acertou nenhuma temporada, fez algo
errado e, portanto, ela pode ser impressa. Você não escolheu
uma temporada correta. Ok, então vamos
executá-lo como está. E o que nosso programa
fez foi chegar aqui, minha temporada é igual à de Sama confira a primeira declaração.
É igual a Sama Sim, vamos imprimir isso. E então ele ignora tudo isso. Nem funciona bem, não executa nada
disso e apenas imprime essa
declaração aqui. Agora, como eu estava
explicando antes, vamos soletrar Summer errado. Agora é verificar se
verificou tudo isso e disse, oh não, não é igual
a nenhum desses. Por fim, ele imprime
esta declaração, que diz, aqui, que você não escolheu
uma temporada correta. Obviamente, se tivéssemos
mudado isso para um dos outros, digamos primavera. Agora ele vai verificar isso, verificar isso e,
finalmente, verificar isso. Ah, sim, isso é verdade. Imprima, lembre-se da sua câmera
e ignore o resto. Basicamente, o
Senso permite que você verifique mais de uma coisa de uma
forma mais eficiente. Você pode ver
que muitas vezes você
gostaria de
fazer algo assim. Muitas vezes, há
ocasiões em que você precisa fazer mais de uma
verificação condicional e não coloca muitas declarações if porque precisa
tornar seu coeficiente Ou você usa um Fe se
for apenas dois, caso contrário, use um conjunto ILSs
até finalmente um s. Basicamente,
lembre-se de que toda declaração
if precisa de um else e eu também nunca consigo
indentar
102. Vamos ser lógicos — operadores booleanos: Operadores booleanos. Agora é outra palavra
grande que você pode usar como uma pequena frase. Mencionamos Boolean anteriormente
e, na verdade, isso é apenas uma conversa
sofisticada no computador sobre se as coisas são lógicas e se elas
condicionam que
você possa ter mãos
e mãos e coisas assim Então, eles são muito úteis
porque, muitas vezes na vida ,
precisamos dizer: Bem, se isso e aquilo são verdade, se isso ou aquilo é verdade. Queremos mostrar
um exemplo de que talvez tenhamos um
clube ou algo assim, e queremos cobrar
das pessoas com base na idade, se elas podem entrar
e assistir aos filmes aqui
ou dançar ou o que quer que seja Mas há duas coisas
que
afetarão o preço do ingresso uma é a idade e a outra é se
você é membro. Então, seja o que for que isso signifique ,
com base na sua
idade, se sua idade for uma certa faixa, você receberá
um preço diferente. Obviamente, se você for
um membro, o que é um valor booleano verdadeiro e falso, isso também
afetará seu preço Então, vamos
configurar if e nossos Alcefs, mas você
verá que vamos usar mais de uma condição aqui e vamos usar
intervalos. Então, vamos começar. Digamos que se a idade
da pessoa for talvez, sei lá, menor que as crianças, menor ou igual a cinco, então ela estará livre. Vamos imprimir os preços gratuitamente ou qualquer outra coisa,
basta imprimir gratuitamente. Vamos agora, basicamente , então o próximo é, então
esse é o primeiro. Agora queremos fazer um
ACIA e verificar, bem, se a idade é de seis anos, então será
maior que igual a seis. Mas se for entre
seis e, digamos, não
sei, vamos
escolher um adolescente com 13 anos. Portanto, agora temos um intervalo, então precisamos verificar se eles
são maiores que seis e menores que 13 anos. Portanto, o que você
notará aqui é
que, para cada condição que deseja verificar, você deve escrever
esta declaração completa. Não posso simplesmente dizer se a idade
é maior que seis e depois ignorar
o ponto e dizer, menor ou menor que 13. Você precisa reescrever
toda a declaração
que deseja verificar Então você tem que digitar se sua
idade é maior que seis, e então eu também quero verificar
se a idade é menor que 30. A razão para isso é
porque nesse segundo teste, menos de 13
anos, não
precisamos usar a variável idade. Poderíamos ter usado
outra coisa , como
mostraremos em breve. Então, neste caso,
na verdade, criamos uma faixa, então vamos imprimir o preço
de $5 ou o que quer que seja Então, agora estamos
verificando um intervalo. Estamos usando esse conector
booleano, esse A, para realmente
verificar um intervalo Agora vamos fazer
outro ALCIF e dizer: Ok, se a idade deles for
maior ou igual a 13, temos que capturar o E vamos falar sobre,
eu não sei qual é a idade de
aposentadoria, provavelmente 60 anos, menos de 60 anos, e essa será a pessoa que pagará
o preço total. Portanto, o preço da impressão é $10. Há uma pechincha por entrar
e assistir a um filme na tela grande do nosso
clube que criamos Portanto, o preço deles
agora é o total de $10. Certo. Agora, queremos
verificar nossa quarta categoria, e nossa quarta categoria será algo
um pouco especial. Portanto, nossa quarta categoria
é para nossos aposentados. Então, se a idade for
maior ou igual a 60 anos, são nossos aposentados, eles vão conseguir isso por
um
preço super barato de, digamos, uma das pensões
vai Acho que cerca de $1. OK. Isso é fantástico. Eles recebem um preço especial de $1. Este é um excelente
clube para se visitar. Mas não são só
os aposentados, veja, agora, o que você não percebe
é
que, se você se lembra,
você também recebe o preço do
aposentado Agora isso é incrível. ter duas condições aqui. Não apenas se a idade
for maior que 60, mas todos os membros forem iguais a verdadeiros. Isso é importante agora porque
é uma afirmação ou, o que significa que qualquer uma
delas pode ser verdadeira. Ou a idade é
maior que 60 anos; nesse caso, ele imprimirá
o preço é $1 ou membro é igual a
verdadeiro e, em seguida, também imprimirá o
preço igual a $1. Era uma declaração A, então isso obviamente
significaria que ambas precisam ser verdadeiras para imprimir
esse preço como $1. Mas é tudo,
então qualquer uma delas pode ser verdade. O que você também deve
ter notado é usamos uma coisa nova
que não usávamos
antes é verificar
se essa variável
é igual a verdadeira, que é um valor booleano Então, ao fazer isso, é basicamente fazer exatamente o que temos
em todas as nossas outras coisas. Mas, em vez de
compará-lo com um valor, ele está verificando se é verdadeiro. Então, se o membro for igual
a verdadeiro, faça isso. Caso contrário, se não for igual
à verdade, não faça isso. Então, basicamente, é
só verificar se é verdade ou não. E com base
nisso, ele imprimirá
isso ou Sim, observe, esse é um
tipo especial de variáveis. Lembre-se de que
falamos, temos várias variáveis ou
números inteiros neste caso Essa é uma variável booleana. Ele só tem dois
valores, falso ou verdadeiro. Não coloque em vírgulas invertidas. Isso o converteria em
string. Isso não é uma string. É basicamente usado para
testar coisas verdadeiras e falsas, para que você possa ver a
cor, como ela mudou
e aqui também Portanto, ele reconhece que um booleano é
verdadeiro ou falso Então, o que resta para
acabar com isso? O que estamos perdendo?
Bem, lembre-se, temos que ter o genérico Então, precisaríamos de uma declaração para dizer o que acontece se
nada disso for verdade, e talvez digamos, você sabe, erro de idade ou qualquer outra coisa, erro de entrada ou algo assim. Você sabe, você acabou de capturar
que eles inseriram algo corretamente
na entrada Ok, então agora vamos executá-lo. Está bem? Definimos que nossa
idade é igual a 20, então ela
examinou
tudo isso, e se você tentar encontrar a condição
certa, verá que essa
é a considerada e se você tentar encontrar a condição
certa,
verá que essa
é a considerada verdadeira porque 20 é maior que 13
e 20 é menor que 60. Então está impresso aqui embaixo. O preço é $10. Agora vamos mudar
isso para outra era. Vamos tentar com cinco. Oh, lá vamos nós. O preço é gratuito. Então, tudo isso parece estar
funcionando de forma absolutamente fantástica. Então eu sei, vamos tentar
torná-los membros. Então, vamos transformar o membro em verdadeiro. Então, na verdade, o que deveria acontecer é dizer que o preço
deles é $1. Grátis? O que? Isso é loucura. Não, mas queremos
que eles sejam membros. Mas você vê o que está
acontecendo aqui. E nesse caso, tudo bem, então o membro marcou,
e isso é ótimo. Mas se o membro tivesse mais idade, como 55 anos, e deveria receber uma taxa
gratuita, não está. Eles estão recebendo um preço
de $10 porque estão avaliando 55 entre
13 e 60 anos Então, o que está acontecendo aqui é lembrar que seu programa
começa a
funcionar de cima para baixo,
então ele verifica isso. Não, não é verdade. Verifica isso, não é verdade. Verifica isso. Sim, é verdade. Imprime isso e
ignora o resto. Na verdade, eu nem
chego aqui para verificar, mas se o membro for verdadeiro, deveríamos ter
um preço de $1. Precisamos adicionar outra coisa. Precisamos garantir que,
ao verificar as idades, verifique também
se ele não é membro, porque
o membro tem uma faixa de preço
diferente. Agora, obviamente, não
precisaríamos aplicar isso aos menos de cinco porque
isso é obviamente irrelevante, é gratuito, seja
você membro ou não Mas a partir
de agora, dos seis aos 13
e do próximo, precisamos verificar se
eles são membros ou não. Para fazer isso, basta
adicionar outra declaração. Para isso, queremos verificar
se eles têm entre essas idades e seu
status de membro é falso, e eu não fiz uma dupla igualdade. Ok, então nós
verificamos agora, ok? Essa é a idade deles e
eles não são membros. E, novamente, aqui
queremos verificar. Então, basicamente, Cpm pace. O engraçado é que,
na verdade, estamos impondo
várias condições, e isso é o que você
pode fazer cada vez mais. Você pode se envolver bastante. Então, basicamente agora, isso
deve funcionar. Então, nós o executamos. E sim, o preço é $1, porque o que
está acontecendo é que, embora a idade de 55 anos caísse
na categoria de 13 a 60 anos, essa parte era verdadeira, mas a terceira condição não era verdadeira porque eles têm
membros iguais a verdadeiros, e isso diz que o membro
deve ser igual a falso. Então, toda essa
condição foi rejeitada. E passou para
a categoria final, e disse que a idade é ótima em
igual a 60 anos ou os membros são verdadeiros. Isso é verdade porque
eles são membros
e, portanto, o preço é de $1. Então você pode ver onde a
lógica entra nisso. Você realmente tem que estar pensando. Mas não há problema em cometer erros. Se as coisas não
funcionarem imediatamente, você olha para isso,
pensa sobre isso e consegue
descobrir o que está acontecendo. Então, este é o nosso Ilsifs e a junção das condições booleanas Fica muito empolgante, e todas
essas coisas acontecerão quando escrevermos nosso jogo mais tarde.
103. Resumo: Tempo de resumo e um pequeno bônus. O que cobrimos?
Falamos sobre a importância de tomar
decisões. Precisaremos
tomar decisões na vida e não há outro lugar
mais importante do que
tomar decisões em seu código
. A maneira como fazemos isso em Python é usando a instrução if
. Muito simples. É se alguma condição for verdadeira, algo
acontecerá depois disso. Vimos que precisávamos de
mais do que apenas uma declaração F. Analisamos como você pode
ter um F e uma declaração, e fomos além disso,
dizendo, bem, às vezes você tem várias afirmações que
precisam ser avaliadas se são verdadeiras. Tivemos I e depois ASF, que é apenas abreviado para. ELFO. Mais ou menos como um
elefante. Então, neste último exemplo que
analisamos, poderíamos verificar vários
intervalos de itens de idades. Em seguida, insistimos
ainda mais para dizer:
Bem, você também pode ter operadores
booleanos, o que significa que você está realmente
começando a usar s e
s para combinar várias verificações de
variáveis Poderíamos verificar uma idade maior
que seis ou menos de 13 anos. E outra variável
que era membro, que é uma
variável booleana que só
pode ter um valor verdadeiro
ou falso Então, agora acabamos com
uma condição que
verifica três
coisas diferentes e todas elas, ou a combinação
de todas elas juntas,
deve ser avaliada verdadeira antes
que a declaração recuada seja executada O preço de $5
só será impresso se a idade selecionada estiver entre
seis e menos de 13 anos e se eles não forem membros Agora, falando nisso,
e eles não são membros, na verdade, há outro
pequeno atalho que você pode usar Você verá, no
momento,
que mencionamos que o membro é um
tipo especial de variável booleano só pode ter
uma gaveta de falsos Na verdade, você não precisa
escrever falso e verdadeiro. Há outra maneira
de fazer isso. Queríamos mostrar esse
caminho primeiro, então faz sentido, mas há um pequeno
atalho que é melhor usar, desde você saiba o que está
fazendo. Por que você faz? Para usar
esse atalho,
temos que retroceder
essa condição aqui,
onde dissemos: ela
é igual a falsa Em vez disso, tudo o que temos que
escrever é essa palavra não. Na verdade,
parece mais uma frase em inglês,
se você pensar bem. É verificar se eles estão entre
isso e se essa pessoa não
é membro. Então, em vez de escrever
como escrevemos aqui, é igual a falso, o que
é a mesma coisa que dizer: essa pessoa não
é membro? Basicamente, podemos simplesmente
digitar e não ser membros. Novamente, podemos mudar isso aqui. Bem, isso facilita um
pouco a leitura
e, obviamente, é uma notação
mais curta, mas você só precisa entender o que está
realmente dizendo aqui O que
fazer agora, o último
a dizer que o membro é igual, se for verdade, você pode simplesmente removê-lo totalmente. Agora, sua leitura faz sentido. Tem
mais de 60 anos ou é membro. Isso significa que o membro é verdadeiro. Então, como esse programa
vai funcionar agora, vamos ver, ok, membro é igual ao verdadeiro. Quando se trata aqui,
vai dizer: o que é membro, membro é verdadeiro, então não é verdadeiro, que é igual a falso e
essa condição não ocorrerá. O mesmo aqui, algo que
não é verdadeiro é falso, então
isso não acontece. E aí
vem e diz:
Oh, o membro é verdadeiro. Então, obviamente, essa
condição é verdadeira e ele imprimirá isso. Bem, isso
obviamente aconteceria se essa pessoa fosse de fato um membro. Sim, por outro lado se você achar isso um
pouco confuso,
continue
usando e dizendo que membro é igual a falso ou membro é igual verdadeiro, e Mas se você se sentir confortável em
simplesmente dizer não e a variável booleana ou apenas a
variável booleana sozinha para indicar que é verdadeira,
você também pode fazer isso Mas, novamente, comece devagar, certifique-se de entender
o que está fazendo. Esta tem sido uma seção muito
interessante sobre como tomar
decisões na vida, e há alguns exercícios
a seguir, fazê-los, envolver-se porque,
como dissemos antes, você aprende no.
104. Por que adoramos loops: Às vezes
parece que a vida gira em torno dos
mesmos pequenos círculos, nos mesmos ciclos,
acordamos,
fazemos coisas diferentes,
voltamos para casa, jantamos,
vamos para a cama, acordamos, são voltas,
voltas, voltas. torno dos
mesmos pequenos círculos, nos mesmos ciclos,
acordamos,
fazemos coisas diferentes,
voltamos mesmos ciclos,
acordamos,
fazemos coisas diferentes, para casa, jantamos,
vamos para a cama, acordamos, são voltas,
voltas, voltas loops são uma
parte importante da vida porque é assim que
as coisas funcionam e também
são uma parte
importante quando
se trata de nossa codificação Agora, pode não
ser loops de frutas. Mas a codificação tem um aspecto
importante o uso de loops, porque analisamos anteriormente
como tomar decisões, mas às vezes precisamos que as coisas
se repitam várias Talvez queiramos
dizer: vamos dar a volta em um loop até que uma determinada
condição seja verdadeira, ou vamos dar a volta em um loop
três vezes fazendo alguma coisa. Nesta seção, queremos
dar uma olhada nos loops e como eles são muito poderosos
e úteis na codificação Pense bem,
prepare-se para ver o poder
dos loops em Python
105. Para loops e uma ótima faixa: Agora, vamos analisar os
loops na programação. Obviamente, especificamente
aqui loops em Paren. Existem basicamente dois tipos de
loops que você encontrará em todas as
linguagens de programação disponíveis quatro loops
e loops Wile Começaremos
analisando quatro loops nesta palestra e,
em seguida,
abordaremos os loops de Wile Sei que a princípio isso pode
parecer um pouco confuso, mas espero que, à medida que dermos mais
exemplos e à medida que
avançamos ,
faça mais sentido Claro, se você perguntar ao Doc, você sempre pode nos fazer perguntas. O Four Loop basicamente
se parece com isso. Vou
digitar e depois vou explicar para você. Então, dizemos, tente
pensar nisso como uma frase. Quatro, que é uma variável
como a que tínhamos antes, quatro ou um número em um intervalo de, digamos, cinco,
queremos que algo aconteça. Então, o que estou realmente
dizendo aqui? Então, o que estou dizendo é que estou usando essa palavra-chave chamada quatro
porque é um loop de quatro. Quatro, um número em
um intervalo de cinco, eu quero que algo aconteça. Basicamente, quero que
algo aconteça repetidamente. Nesse caso, quero que
algo aconteça cinco vezes. Vou imprimir para mostrar o que realmente está
acontecendo nesse loop. Novamente, estou dizendo quatro
em um intervalo de cinco, vamos querer imprimir
algo apenas para ver o que esse loop está realmente fazendo
e como os loops estão funcionando Vamos imprimir olá
e ver o que acontece. Ok, então eu vou
executá-lo agora. Ok, e o que você pode
ver, basicamente o que
aconteceu aqui é que o Hello
imprimiu uma, duas, três, quatro, cinco vezes. Então, se você pensar sobre
isso logicamente, faz sentido porque
pedimos ao nosso loop que imprima um valor cinco vezes Mas agora, o que acontece durante todo
esse ciclo? Toda vez que os loops
dão voltas e voltas, se você se lembra, são variáveis, que significa que podem mudar Na verdade, está mudando toda vez que
damos voltas
e voltas nesse ciclo. Então, para ver o que
realmente acontece e
qual valor começa a se qual valor começa a manter enquanto o loop
gira, vamos imprimir. Estamos apenas imprimindo
isso aqui. Cada vez que o loop gira. Se você se lembra do que eu disse em uma de nossas
outras palestras, em programação, você
sempre conta do zero Você poderia esperar um, dois, três, quatro, cinco, mas não, porque isso
é programação, sempre
viemos do zero. Então, é impresso R cinco vezes, mas cada vez que os
loops giravam, um era adicionado
a esse valor de R. Então, na primeira vez que o loop foi executado, eu comecei do zero Então, o ciclo continuou novamente e eu me tornei um. É
como contar. Basicamente, tudo o que esse
loop faz aqui é contar cinco vezes. Se você quiser fazer algo
uma certa quantidade de vezes, obviamente
pode
alterar esse número. Vamos fazer desse
número agora oito. Então, o que vai acontecer é que
contamos novamente oito
vezes, mas 0-7 Esse é o tipo
de loop mais simples que você pode obter
e, se você conseguir entender isso
, já está no caminho certo para entender os loops Mas começa a ficar
um pouco mais confuso. Agora vou
mudar alguma coisa. Em loops, você tem essas coisas dentro dos colchetes aqui
que são chamadas Qualquer coisa dentro desses colchetes
é chamada de parâmetros, que é outra palavra
que você precisará lembrar na programação Então, o que vou fazer agora é adicionar
outro parâmetro. Então, vou adicionar um zero. O que eu fiz aqui agora,
em vez de apenas dizer que
quero que esse loop dê
voltas e voltas oito vezes, e agora dizendo, estou
dando a ele um ponto de partida. Esse zero aqui
está dizendo ao meu loop, eu quero que você comece a
contar a partir de zero, e então pare de contar até oito. Mas lembre-se do que eu disse
sobre como os programas contam. Vamos executar isso de novo. Você verá que é exatamente o mesmo
que aconteceu antes. É executado do zero, que foi meu
ponto de partida até oito, mas como as
linguagens de programação contam 0 a 7, ele parou em sete Basicamente, parou em
um a menos do que qualquer que seja
esse número. De zero a sete, foi executado oito
vezes, mas começou do zero. Mas agora o que acontece se
eu mudar o zero e não quiser mais que meu programa comece
a contar a partir do zero? Quero que comece a
contar a partir de,
vamos começar a contar, porque
parece um pouco mais simples. Agora vamos ver o que acontece. Novamente, embora agora
esteja contando a partir de um, ainda está terminando às sete aqui, em vez
de terminar às oito. Novamente, isso ocorre porque o programa ainda
está contando do zero. Acabamos de dizer: Ah, não, ignore esse zero e imprima
apenas a partir de um. Você pode alterar isso para qualquer
número, desde que,
por enquanto, seja menor que o
segundo número aqui. Então, podemos dizer que comece a contar a partir de cinco e
o que isso vai fazer? Cinco, seis, sete. Então lembre-se, esse é o número
em que começa e vai terminar
em um a menos do que
esse número aqui. Agora, para tornar as coisas
ainda mais interessantes, podemos adicionar mais um
parâmetro a esses quatro loops. Vou começar
de novo do zero. Vou adicionar um
terceiro parâmetro aqui. O que este realmente faz é dizer ao meu loop
o que contar. Digamos que eu quisesse
contar números pares. Vou dizer ao loop quero que você imprima
cada segundo número, que é basicamente
a mesma coisa contar em números pares. O que é feito aqui
é imprimir o zero. Então, há dois aqui que dizem que
não imprima o próximo número, apenas imprima o
número depois disso. Em outras palavras, imprima
cada segundo número, é impresso zero, dois,
quatro, seis, impresso a
cada segundo número. O primeiro número, novamente,
começa neste final, mas todos sabemos que é
um a menos do que isso. E conte em dois. Você teria
pensado: Ok, por que parou às seis? Bem, obviamente, porque se
isso terminar em sete, dois a mais do que sete é oito, o que não deveria ser impresso,
então parou em seis. Se você pensar sobre isso logicamente, tudo realmente faz sentido
porque começa
do zero e termina
no sete Então, para tornar as coisas ainda
mais interessantes, o que vamos fazer agora é contar regressivamente. Obviamente, você pode alterar esse número para
contar em qualquer coisa. Se eu quiser que ele
conte em três, basta alterá-lo para três e
ele começará do
zero e imprimirá cada
terceiro número e você poderá alterar
novamente o número
inicial, poderá brincar com ele. Mas agora o que
vou fazer é retroceder esses O que acontece se você
quiser contar talvez a partir do maior número e
descer em ordem decrescente Você também
pode fazer isso. Mas agora temos que mudar um pouco a ordem dos nossos
parâmetros O primeiro número ainda está
onde vai começar, mas é claro que agora queremos
começar com um número maior. Eu quero começar às dez, queremos terminar à uma e
queremos retroceder Isso significa que esse número
aqui precisa ser negativo. Começando, terminando em
negativo. Agora, novamente, você verá que está caindo 9876 Mas o que é feito aqui
a partir de dez, desculpe, dez ,
98, 76 e assim por diante,
acabou em dois. Se você pensar
bem, é claro que não vai acabar com
aquele que está aqui. Mas terminará em
um número antes do um, que neste caso
é dois porque os dois vieram antes do um. É a mesma coisa, mas só que agora estamos
retrocedendo Agora, é claro, isso
não está muito bem. Tudo o que estamos fazendo é
imprimir, mas isso útil na maioria
das vezes quando você quer repetir algo várias
vezes por
um
certo número de vezes,
como dissemos
anteriormente na vida, como dissemos
anteriormente na vida, você se depara com
loops o tempo todo Resumidamente, é um
intervalo baseado em loop. Brinque um pouco com isso e experimente
combinações diferentes, e espero que você comece
a pegar o jeito
106. Para loops, encontre strings e lists: Estamos analisando loops e
examinamos os quatro loops com alcance e uma faixa de números, e eles são
potencialmente muito poderosos Veremos
mais tarde, quando chegarmos ao jogo que você
vai criar, que essa é uma
parte muito importante da programação. Agora queremos dar
uma olhada em como
podemos usar quatro loops e também
com listas Não precisa
funcionar apenas com números, eu posso realmente trabalhar com texto e já
abordamos isso anteriormente, mas agora queremos reunir
os quatro ciclos e
as listas e mostrar as coisas interessantes que
você pode fazer. Ok, vou
deletar isso e
vamos criar uma lista. Vamos criar uma lista de,
digamos, nossa comida favorita. Vou
chamar essa lista de comida, e espero que todos se lembrem de
como criar uma lista Comida Ok, agora podemos
colocar alguns itens. Então, digamos que eu goste de
começar com uma que não é saudável. Chocolate. E então vamos
ser insalubres nesta Podemos comer hambúrgueres. Que comida mais deliciosa eu
posso pensar em batatas fritas? Ok, vamos colocar um saudável só para manter meu pai feliz. Cenouras. Mamãe. Delicioso. Mas
eu gosto de cenouras. E talvez vamos tomar uma bebida. Mais uma bebida.
Água. Vamos usar água. Sempre tem um sabor saboroso. Ok. Então, aqui está uma lista
de alimentos que eu gosto, e o que
vamos fazer
neste exemplo é apenas
dar uma olhada nela. Então, lembre-se de que antes
de termos uma lista, e toda vez que queríamos imprimir um elemento dessa
lista,
como chocolate ,
tínhamos que escrever
nossa declaração impressa , dizer o
nome da lista
e, em seguida,
ter esses
colchetes que pegam o índice e fornecem o índice do
elemento que queremos imprimir Se quiséssemos imprimir o
primeiro elemento chocolate, teríamos que inserir
essa declaração de impressão e depois dizer o nome
na lista com o índice que queremos imprimir entre colchetes e
executá-lo
resultaria em entre colchetes e chocolate Então diga que agora eu também queria
imprimir hambúrgueres. Eu teria que ter uma declaração
totalmente nova com, novamente, a mesma coisa, imprimir comida e depois
ter apenas o número um e, novamente, imprimir a
comida número dois. Se você já pensa
sobre isso, pode ser que antes, em
nossa última palestra, analisássemos como esse número,
aquela variável, eu aumentava uma vez cada vez que o
loop girava Talvez pudéssemos
usar isso para imprimir uma lista. O que vamos fazer
novamente é
dizer quatro e
usar uma variável. Agora, esse número eu
posso ser qualquer coisa. Deixe-me realmente
chamá-lo de outra coisa. Digamos que minha comida. Só para mostrar
que essa coisa aqui não precisa ser,
é só uma variável. Pode ser qualquer coisa e
pode conter qualquer coisa. Para minha comida em Food. Agora, isso pode parecer
um pouco estranho, porque não temos esse
alcance ou algo parecido. Mas o Python é, na verdade,
muito inteligente aqui. Então, ele já sabe que a
comida aqui tem um, dois ,
três, quatro, cinco elementos e começa em zero, depois em um, dois, três, quatro. Python já sabe disso,
então não precisamos dizer ao
Python o tamanho dessa lista.
Eu já sei. Então, basta dizer que, para minha
variável em nossa lista de alimentos, imprima esse
elemento da impressora na lista. Queríamos imprimir tudo
, então imprima comida. Novamente, você notará que
nenhum deles tem vírgulas
invertidas porque são variáveis Eles não são cordas aqui. Eles seguram uma string, uma dessas strings,
mas são variáveis,
portanto, não há vírgulas invertidas Para uma variável em alimentos,
imprima essa variável. O que essa lista vai
fazer agora, vamos examiná-la e ver. Ok. Tudo o que faço é que, na
primeira vez que essa lista é publicada, minha comida vira chocolate. Então, na próxima vez que
o loop for executado, minha comida vira hambúrguer Então, da próxima vez,
torna-se batata frita e assim por diante. Tudo o que está fazendo é como antes, e eu faço um loop com números, ele sobe uma vez
toda vez que é executado. Então, essa é apenas
uma maneira mais fácil
de percorrer
uma lista em vez de escrever a mesma declaração
repetidamente. Sara acabou de usar como palavra,
eles estão iterando. Novamente, é um poço, não
é uma palavra comum
que
usamos em inglês que significa circular,
mas é a frase
normalmente usada quando nos referimos
a loops mas é a frase normalmente usada quando nos referimos
a Nós nos referimos a elas como iterações. Novamente, isso só vai fazer você
parecer muito mais inteligente. Observe também que esse código é muito
mais curto. Se tivéssemos que escrever isso
e usar print, teríamos que ter
cinco comandos de impressão. Você pode ver como o uso desses loops está tornando nosso
código muito mais eficiente Agora, imagino que você torne
isso exponencialmente grande, você tem 100.000, 50.000 elementos na lista Obviamente, simplesmente não é possível escrever um
código assim, mas usando os loops, podemos conseguir todo tipo
de coisas incríveis Ok, então vou
dar mais um exemplo, mas não usando uma lista, agora vamos
usar uma string. Digamos que temos uma string e uma variável,
segurando uma string, vamos usar o nome, e essa variável armazenará
meu nome como uma string. Ok, Sarah. Vamos apenas armazenar meu nome,
Sara, em uma variável de string Agora eu quero dar uma olhada nisso. Você pode ficar tipo, por
que você quer fazer isso? No momento, estou apenas mostrando como
você pode
passar por uma corda,
mas, obviamente, isso se torna muito
útil mais tarde. Vou escrever exatamente
o que escrevi aqui. Mas agora, em vez de
ler essa lista, quero ver meu nome. Novamente, isso pode ser,
ou vamos chamá-lo. É mais curto. F no nome. E, novamente, imprima essa variável. Imprimir. Ok, então
, na verdade, vamos comentar isso por enquanto, porque não queremos
ver o que isso faz. Já sabemos o que ele faz e se você se lembra de
como comentar. Só um pequeno
ponto rápido. Falamos sobre comentários anteriormente, mas esse é um ótimo
pequeno truque. Às vezes, quando você
quer que um trecho de código não seja executado
por qualquer motivo, como Sarah mostra,
basta colocar os comentários, pouco da tag de hash
na frente das coisas
e, um
pouco da tag de hash
na frente das coisas
e, de repente, o
Python ignora É uma ótima maneira de também quando você está tentando
depurar o código, não ter certeza de onde está
o problema Você começa a reduzir
o que realmente está sendo executado para poder se
concentrar apenas em onde
acha que está o problema. Assim, basta usar
pequenos comentários e,
obviamente, removê-los facilmente
e, em seguida, o código
será ativado novamente. Sim, essa definitivamente
é uma boa maneira de
se concentrar apenas no que você
quer se concentrar. Ok, então o que nosso loop fez aqui é basicamente exatamente o mesmo que aconteceu
na lista. O que é feito é que a
primeira vez que o loop foi executado, ele se tornou o S. Na próxima vez que foi executado,
ele passou a ser o A. Toda vez que ele movia
um para cima, um para cima, um para cima, até
chegarmos ao final
do nome e o loop parar. É impresso em Sara com cada
letra em uma nova linha porque cada letra é uma nova
letra em nossa sequência, e cada letra
se torna a variável Isso é basicamente sobre como
percorrer uma corda. O primeiro que mostramos
aqui foi como percorrer uma lista e o do
nosso exemplo anterior foi
como fazer um loop com números. Por enquanto, isso é tudo
que você precisa saber. Entraremos em exemplos mais
complicados. Mas em nossa próxima palestra, veremos um tipo diferente de loop chamado loop WOW
107. Loops – uma experiência totalmente nova com loops: Aqui você pode ver nosso formulário
que vimos em uma
de nossas palestras anteriores Mas agora não
queremos nos concentrar nisso, mas nesta palestra, mostraremos loops selvagens Novamente, agora um loop WOW
é chamado de loop WOW porque há uma
declaração selvagem nele Mas esse loop é um
pouco diferente e na verdade, um pouco mais
avançado do que o loop de quatro, mas é muito útil em
muitas situações O que vamos
fazer é escrever para você e depois
explicar para você. Então, o que vou fazer é fazer exatamente o que
esse loop de quatro está fazendo, exceto fazer isso
em um loop de tempo. Esses dois loops devem
fazer exatamente a mesma coisa, mas parecem
completamente diferentes Na verdade, deixe-me
executar isso para você novamente, caso você
já tenha esquecido o que ele faz. Novamente, imprima de zero a cinco, espero que agora você saiba o porquê. Agora vou fazer um loop WOW. Wow loop se parece com isso.
Nossa, novamente, uma variável, vou chamá-la de J, é menor do que um número que
eu quero subir Imprimir. J. Ok. Agora você pensa: Ok, isso parece simples, mas agora vamos executá-lo
e ver o que acontece. Imediatamente, você pode ver
que nos deu esse erro, nome J não está definido, que pode parecer um pouco estranho porque nunca o
definimos Eu simplesmente sabia o que eu era. Mas aqui no loop Wile, ele não sabe o que é
essa variável J. Agora, isso ocorre porque um loop while funciona de forma muito diferente
de um loop for. Daqui a pouco, você
terá que ajudá-lo um pouco. A primeira coisa que temos que fazer a mais por um tempo é definir essa
variável J. J é um número. E o que quer que
você defina aqui é de onde o loop
vai começar. Digamos que queremos que nosso loop comece do zero,
assim como aqui. Esse loop começou do zero, então queremos que nosso loop
Wow comece do zero, esse loop terminou em
um a menos que seis Assim como aqui, esse
loop continuará até que J seja seis ou maior, ou em outras palavras, Wow
J seja menor que seis Ok, então vamos fazer isso
e ver o que acontece. Certamente, está tudo bem agora. Ok, isso não
parece muito bom. Estamos apenas recebendo
muitos zeros. O que eu fiz aqui foi,
na verdade, apresentar um problema muito comum, mas bastante irritante
e muito sério O que eu fiz aqui foi criar algo chamado loop
infinito. Agora, eu vou parar com isso antes que continue
indo e vindo. Bem, isso vai
continuar para sempre. Basicamente, é por
isso que é um loop infinito. Para impedir isso, a coisa
mais fácil de fazer é retroceder esse código, porque sabemos que foi aqui
que tudo estava confuso Vou apenas excluí-lo e executar novamente nosso programa. Agora está apenas imprimindo esse
loop aqui, está feliz. Nosso loop infinito parou. Mas por que isso
aconteceu? A razão pela qual isso realmente aconteceu
foi porque aqui, dissemos ao nosso programa que
J é igual a zero. Então dissemos: Ok, legal. Enquanto J é menor que seis, imprima J. Eu imprimi
J, que é zero. Então surgiu
novamente porque J ainda tem menos de seis anos. Enquanto J é S em
seis, mas o que é J? Ainda é zero. Eu
imprimi zero novamente. Então, enquanto J é 0 e 6, J ainda é zero e J, na verdade,
nunca foi incrementado ou nunca
mudou de zero É por isso que tínhamos um
loop infinito e, se você se lembra, ele apenas imprimia
zero, zero, zero, zero porque,
diferentemente desse loop de quatro, na verdade
temos que dizer
ao loop while para fazer J crescer ou mudar ou ficar
maior ou, em outras palavras, incrementar, o que
usaríamos nessa circunstância O que temos que
fazer então é imprimir J, mas uma vez que nosso programa
é impresso em J, queremos J, e isso pode
parecer um pouco estranho, mas queremos que J seja
igual a J mais um O que isso
quer dizer? Lembre-se de como dizia
que quando um programa é executado, ele primeiro descobre
o que está desse lado, depois pega o que
está desse lado e o atribui a
essa variável aqui Então, o que está acontecendo aqui?
É quando o programa é executado. Digamos que J comece como zero, venha aqui, zero é
menor que seis, imprima esse zero. Agora, zero mais um é um, agora faça esse valor
de zero mais um, que é um igual a J. J e então se torna
um. Agora J é um. Então, o que acontece na próxima vez? Um ainda é menor que seis, imprima esse um e agora mude
o valor de J. J para um, então um mais um é dois e agora faça J aqui igual a dois. Basicamente,
lembre-se de que esse lado é elaborado
primeiro pelo programa e, em seguida, é
a busca por esse valor aqui. Agora, espero que nosso programa
funcione. O que você vai ver
é que isso aqui é a primeira vez que correu
e esse quatro voltas aqui, de zero a cinco. Então aqui, finalmente,
nosso loop WOW
funciona, vai do zero porque
dissemos para ele começar em zero e terminar em cinco, ou
em outras palavras Continue até J ou continue enquanto
J tiver menos de seis. Então, novamente, como
fizemos neste quatro ciclos, você pode obviamente mudar o que você
queria começar, o que você queria terminar, novamente, também o quanto você
queria incrementar B. Como tínhamos antes, tínhamos os dois aqui para
deixá-los subir em pares Sim, tudo que você faz é dizer, eu quero que você adicione dois de cada
vez em vez de adicionar um e então ele vai
subir em dois 02, quatro para o primeiro, zero, dois, quatro para
o segundo. Você poderia mudar isso. Você
pode mudar tudo isso. Mas, basicamente, isso é
o que é um while loop. Se você pensar
bem, a lógica de um loop de quatro e a lógica de
um loop while é um pouco diferente porque um loop de quatro
realmente sabe exatamente o
quanto você quer que ele aumente
quando você quer que ele pare
e está apenas imprimindo Onde está um loop Wile
precisa de uma condição. Basicamente, ele continuará impresso até que você diga para parar ou até que
essa condição, J seja menor que seis, seja falsa. Um loop temporal
continua indo,
indo e vindo até que a condição
que você fornece aqui seja falsa. Em outras palavras, embora isso
seja verdade, continue. Assim que for falso, pare
o loop e pule para fora dele. Então, o que é realmente importante
aqui é que, como Sara acabou de dizer, um quatro loop é predefinido acordo com
quantas vezes
ele vai acontecer Parece que isso é o
mesmo aqui para o loop Wil, mas na verdade é
diferente porque o loop Wil está esperando
que algo se torne realidade. E vamos mostrar
um exemplo em que , obviamente, isso é muito útil,
onde, por exemplo, você quer que alguém insira algo repetidamente, e você não sabe quantas vezes essa pessoa
realmente vai fazer isso. Então você não pode dizer, eu só quero
que você faça isso três vezes. Você deseja dar a
eles quantas opções e horários
quiserem para inserir
algo até que uma determinada
condição seja verdadeira,
e é aí que você
usaria o loop WW Em nossa próxima lição,
mostraremos um ótimo exemplo de quando você usaria o
loop while e por que ele é uma forma tão poderosa de loop.
108. Em loops — a beleza continua: Olhando os loops. Analisamos quatro loops. Analisamos os loops helicoidais, mas queremos ilustrar
a diferença entre um quatro e um curinga porque eles
podem parecer iguais Como dissemos, um loop de quatro
vai de um número para outro em um intervalo e é
predefinido e predefinido Enquanto um loop selvagem pode parecer que está fazendo
a mesma coisa, ele continuará até que
uma determinada condição seja verdadeira. Eu posso emular um loop de quatro. Mas também é muito útil
porque você pode usá-lo para fazer um loop continuar até que
algo aconteça quando você não sabe
quanto tempo vai levar. Não será um número
definido de iterações. Pode ser qualquer coisa
de zero, uma, duas ou 1.000 iterações até que
alguma condição seja verdadeira Veremos isso acontecer
neste exemplo. O que
veremos neste exemplo será uma lista do que
está em sua bolsa de maquiagem. Agora, isso pode variar
de pessoa para pessoa. Tudo o que esse programa
vai fazer é perguntar ao usuário o que
está em sua bolsa de maquiagem. Em seguida, o usuário
vai digitá-lo. Eu tenho um pouco de rímel. Em seguida, clique em Enter e, novamente, ele solicitará o uso novamente. O que está na sua bolsa de maquiagem e o usuário vai
continuar digitando O que está em sua bolsa de maquiagem
até que não tenham mais nada. Obviamente, isso depende.
É que minha bolsa de maquiagem não
tem nada nela. Já a bolsa de maquiagem de
outra pessoa pode ter muito
mais itens nela. É por isso que esse é um ótimo exemplo de uso
do loop Wile, porque na verdade não
sabemos quantos itens estão em sua bolsa de maquiagem Depende de você até que uma determinada condição seja considerada verdadeira. Nesse caso, usaremos
a palavra feito para indicar que terminei com
o que está na bolsa de maquiagem. Vamos ver como
isso vai ficar. Vamos escrever WOW.
Vamos usar uma variável. Embora R e queremos dizer
não sejam iguais a, se você se lembra, é não sejam iguais a, se você se lembra, assim
que escrevemos não é igual
à palavra concluído ou a uma
string chamada concluído. Como dissemos antes, isso
continuará até que o usuário digite e pronto mostraremos como isso funciona. Lembre-se novamente,
temos que definir essa variável ou o programador não saberá do que
estamos falando Nesse caso, é
na verdade uma string. E, especificamente, I
é uma string vazia. Então, isso é o que eu digitei
aqui, é apenas uma string vazia, que é basicamente uma citação sem nada no meio
e uma aspa Então essa é uma string vazia. Você definiu essa variável como
igual a essa string vazia, e queremos que esse loop continue
até que I seja igual a
concluído ou, em outras palavras,
Uau, eu não seja igual a concluído Então, o que dissemos
que queríamos perguntar ao usuário? Bem, queremos perguntar a eles
o que está na sua bolsa de maquiagem. Então, espero que você também
se lembre de como inserir informações. Vamos colocar o Input e fazer o uso
dessa pergunta,
o que está na sua bolsa de maquiagem. Agora também, teremos
que armazenar essa
entrada em algum lugar. O que essa entrada realmente é, essa entrada se torna R. Cada vez o loop é executado e os usuários fazem
essa pergunta e digitam
algo aqui, o que eles digitam
será armazenado. Por enquanto,
vamos imprimir para que você possa ver exatamente
como isso funciona. Ok. Você notará que eu não tenho uma daquelas
condições que tive na última vez em que iterei
ou alterei essa variável Isso porque não estou dizendo que estou melhor do que pronto, o que na verdade não
faz nenhum sentido. Só estou dizendo que
continue até que eu
esteja pronto ou enquanto eu não
esteja pronto. Então, vamos executar isso. Ok. Então, vamos começar. O que há na minha bolsa de maquiagem? Digamos que rímel. Entrar. Então você vê
aqui, diz rímel Isso porque
aqui, eu disse, imprima o que eu for. Então, neste primeiro, é rímel, mas agora
ainda está me perguntando. Eu sei que eu sou uma string, então ela a substitui a cada vez. Não vai manter o rímel. Então Sara agora digita o próximo item que está na
bolsa de maquiagem: um batom À medida que for impresso, dirá batom. Não vai dizer
rímel e batom porque Is a variable só
pode conter um Isso não é uma lista. É
uma variável de string simples. Por isso, ele está sendo
substituído toda vez que ela insere um novo item e
o imprime. Então, sombras também
foram adicionadas à lista. E, como você pode
ver, isso vai
continuar dando voltas e
voltas, permitindo que ela
entre
na longa lista de itens que estão naquela bolsa de maquiagem
e, para alguns de vocês disseram, isso permitindo que ela
entre
na longa lista
de itens que estão naquela bolsa de maquiagem
e, para alguns de vocês disseram, isso
pode durar semanas e meses à medida que você insere todo tipo de coisa, você
sabe o que são essas coisas. Lá vamos nós. Até que finalmente
você esteja exausto E então, o que fazemos agora? Então eu terminei, isso é tudo o
que está na minha bolsa de maquiagem, e eu vou digitar
pronto, e pronto. Você verá que não estou mais
entendendo a pergunta. Agora é visto aqui
assim que eu digito concluído ou aqui
assim que eu digito concluído, que se tornou a variável
R. Eu dei a volta no loop. Essa variável
I é igual a done? Sim, é. Eu disse, eu não sou igual a isso? Eles disseram, não, eu
realmente estou pronto. Eu pulei para fora do circuito. Na segunda, digitamos pronto aqui, o loop terminou e não
tivemos um loop infinito Obviamente, eu poderia ter
continuado digitando coisas
aqui para sempre sem
digitar e seria um loop quase
infinito,
mas acho que, eventualmente,
todo mundo ficaria um pouco cansado e você teria que digitar isso Você pode continuar
fazendo isso e digitando coisas pelo tempo
que quiser E enquanto você
não digitar pronto, ele continuará
fazendo essa pergunta. Então, veja, este é um ótimo
exemplo em que o loop wile é muito poderoso e
é diferente do nosso loop de quatro, e é
usado o tempo todo Quero dizer, muitas vezes você é
solicitado a responder coisas, e ele diz digitar exit
quando estiver concluído Isso é exatamente
o que está acontecendo. O código por trás disso é
basicamente um loop selvagem. Portanto, esses são loops selvagens
muito poderosos quando você não tem certeza de quantas
vezes precisa iterar Mais uma coisa, se você se lembra, as cordas são muito delicadas Se eu tivesse realmente digitado pronto, mas digamos que eu colocasse um D, ele não veria o mesmo
que foi feito aqui Você precisa digitar exatamente o que
está lá para que ele termine. Deixe-me realmente te mostrar isso. Ok, eu vou
ter uma bolsa de maquiagem bem pequena desta vez. Digamos que eu tenho rímel. Digamos que eu tenha um pouco de bronzo. Ok, agora eu terminei. Então, digamos que eu queira ser gramaticalmente correto
e colocar letras maiúsculas lá, você verá, não, isso é o
que você fez na
sua bolsa de maquiagem. Basicamente. Assim que ele vê isso
feito aqui, tudo vai bem. Agora terminamos e isso novamente nos
tira desse ciclo. Então, esses foram os
loops WOW com um exemplo um pouco mais
interessante Continuaremos desenvolvendo todas
essas
coisas e mostrando cada vez mais
complexos e exemplos
mais interessantes e empolgantes. Mas, por enquanto, é isso
que você precisa saber. Obviamente, altere o feito, mude a pergunta, experimente
com coisas diferentes, tente com números e, em
seguida, altere isso aqui para ser um tipo de dados numérico
em vez de uma string, mas apenas brinque e nos
veremos
na próxima lição.
109. Pare e continue — todos precisam disso na vida: Nesta lição,
veremos
duas palavras-chave especiais em Python e em várias
outras linguagens de programação, chamadas break and continue Isso é importante
quando se trata de loops. Vou
dar outro exemplo de quatro loops que já
vimos. Vamos escrever um texto normal. Quatro são variáveis em alcance. Vamos
simplificar as coisas na faixa de dez, imprimir. E caso
você tenha esquecido, ele faz isso, bem, você não
deveria ter esquecido. Então, eu nem vou
explicar isso. Tenho certeza que você sabe por que
ele fez isso. Se você esqueceu,
pode voltar às nossas aulas, e abordamos isso
com muitos detalhes. Sim. Ok, então é isso
que ele faz. Mas agora vamos dizer que não
queremos imprimir cinco
por algum motivo. O que realmente não
faz muito sentido aqui, mas desempenha um papel importante em
muitas circunstâncias. Digamos que não gostemos de
cinco por algum motivo, simplesmente não queremos que cinco
sejam impressos. A maneira de fazer isso é
usar a palavra-chave continuum. Para saber o loop, não
queremos cinco, na verdade
teremos que usar uma instrução if. Se você se lembrar
disso, se as declarações ajudarem a tomar decisões. Se eu for igual a, lembre-se do duplo igual. Cinco. Então, tudo o que vou
dizer é continuar. Vamos ver o que isso faz. Então, obviamente, essa
impressão I ainda está aqui, mas observe que a impressão não
está recuada, que significa que não está
nessa declaração F. Novamente, lembre-se também que você verá esse F e
a impressão é,
na verdade , eles também têm
um recuo porque estão dentro desse laço frontal. Como o F e a impressão têm um recuo a partir desse início dos quatro loops, eles estão dentro dos quatro loops, e então este tem um
recuo longe do F, está dentro do F. Você pode
ver
isso logicamente. isso que está dentro
do que eu lembro que, obviamente, essas
initações são muito importantes De qualquer forma, vamos
executar esse programa. Agora você verá se contamos desde o início, zero, um,
dois, três, quatro, seis,
e o fb desapareceu Porque é exatamente isso
que o Continue está fazendo. O que continuar é realmente feito? Se acabou, quatro variam de dez, comece em zero, um,
dois, três, e assim por diante. Quando chegar a cinco, agora
I é igual a cinco, se eu for igual a cinco, sim, é, continue. O que continue faz é ignorar todo o resto dentro
do circuito quatro abaixo dele Isso traz o programa de
volta ao topo aqui. Mais cedo, a continuação
é encontrada, ela simplesmente vai direto
para o topo e, novamente, eu agora me
torno seis e continua. Porque continuar traz
você direto para
cá, nunca chegou à
declaração impressa dos cinco. Mas se eu tivesse, por exemplo, colocado minha declaração impressa
acima desse F, você veria que
agora ela imprime os cinco,
porque obviamente veio aqui e,
como dissemos, é lida de cima para baixo. Está impresso o IO, I é igual a cinco, continue, mas não há nada abaixo dele que esteja realmente
pulando, então agora está indo para o topo e realmente não fez
nenhuma diferença Mas vamos trazê-lo de volta ao que
era e isso funcionará. Agora, a outra palavra-chave que eu
disse que temos é pausa. O que o break faz
é basicamente fazer
exatamente o que diz. Deixe-me executá-lo para você ver. Ok, agora, em vez
de dizer: Ok, continue até o topo do loop, na verdade, se você encontrar Vive, isso significa que
o loop acabou. Na verdade, não queremos
ir além disso. Então, apesar de termos contado isso, queríamos correr dez vezes. Quando chego a cinco, ele veio aqui e disse:
Ok, eu sou igual a cinco? Sim, é uma pausa. Obviamente, nunca chegou
à declaração impressa, então nunca a imprimiu
aqui. aqui, você
pode pensar, bem, por que não
fizemos esses cinco? Bem, sim, nós
realmente poderíamos ter feito isso e então ele não
teria impresso os cinco. Na verdade, poderíamos
ter mudado esse intervalo para dizer f e intervalo cinco e teríamos feito exatamente
a mesma coisa. Mas, novamente, neste exemplo, uma pausa não é tão importante, mas em outros, será. Isso é só para que agora você saiba o que continuar
faz, o que break faz. Agora que você sabe disso,
vou tentar testá-lo com um exemplo um pouco mais
complicado Isso pode parecer um pouco confuso, mas tudo o que estamos
fazendo aqui, na verdade, já
conversamos com você antes Então, se você não entender completamente
alguma coisa, é claro, você sempre pode
voltar para aquela palestra, ouvi-la novamente e
depois voltar a essa Se você pode entender isso, então você sabe que realmente
está em um bom lugar e está no caminho certo.
Vamos entrar nisso. Então, o que vou
fazer agora é, em vez de fazer um loop como
esse com números, vamos escrever
um miniprograma onde o usuário tem que
inserir uma frase, e o que nosso programa
vai fazer é encontrar todas as
vogais na frase imprimi-las
e omitir
as consoantes Então, vamos entrar nisso. Então, para fazer isso, primeiro, precisaremos de uma
string com nossas vogais Então, vamos chamar
as cordas de vogais. Teremos que
definir isso agora igual às vogais e espero que você
se lembre quais são seus vels O que são as AEIOU. Excelente. Ok. Espero que
você se lembre deles Ok, então temos nossa corda
com nossas vogais nela. Então nós vamos
ter outra corda. Vamos chamá-lo de SN,
abreviação de frase. Lembre-se de que dissemos que queremos que o
usuário insira uma frase. Para que eles possam inserir
o que quiserem,
vamos apenas dizer a
eles que insiram uma frase. Ok. Ah, e coloque uma frase. Agora é aqui que as coisas começam a ficar um pouco interessantes
e onde você pode ver como essas palavras-chave
são bastante úteis. Novamente, teremos um loop de
quatro e um loop baseado em quatro cadeias de caracteres. Se você se lembra de como
fazer isso, temos quatro, uma variável I em SN. O que estamos fazendo aqui é, novamente, lembrar
que antes de termos isso como uma frase, talvez pudesse ser olá,
qualquer coisa, qualquer string. Mas em vez de agora realmente
termos uma string aqui, acabamos de dizer ao
usuário que a insira. É a mesma coisa.
Essa variável se torna qualquer
string inserida pelo usuário Para mim, nessa frase, agora precisamos fazer uma
declaração novamente. Se eu não estiver em vs. Isso pode parecer um
pouco estranho Mas, basicamente, o que isso
quer dizer é
que eu, que obviamente será a
primeira letra, para começar, será a primeira letra
da frase que o usuário
inseriu . Vou escrever tudo
isso e
continuar com Mas, por enquanto, veja se você
pode tentar acompanhar. Começará sendo
a primeira letra da
frase em que os usuários a inserem. Digamos que eu digitei olá. Começará dizendo: Se qual é
a primeira letra, qual
é a primeira letra em nossa frase que eu estou segurando, não está
dentro das vogais, então continue Se, se nossa variável I, o que quer que ela
esteja contendo, não estiver em nossa vogal, então não é igual a
AEIOU, em outras palavras, continue
porque lembre-se, queremos que esse programa
imprima apenas Obviamente, se nossa
letra não for uma vogal, porque continuar nesse momento nos
levará de volta ao topo
do nosso programa e ele não
verá essa declaração
impressa que estamos escrevendo
aqui onde dizemos imprimir Vou executá-lo e vamos
ver exatamente o que acontece. Ok, então vou digitar Hoi porque foi isso que
usei anteriormente E o que você verá é um E
digitado e um O digitado, que obviamente são vogais Novamente, o que eu estava dizendo
anteriormente é que o loop começou e começou
com I igualando esse Ha Então, se H não estiver em vogais, continue como H em
vogais, não, não está Então eu pulei e
voltei ao topo. Então eu descontei E. Então esse I aqui se tornou E. Se
E não está em vogais,
continue, mas E está em Isso se a afirmação for falsa. Então, nunca entrou. Eu nunca vi a continuação. Em vez disso, como isso é falso, ele simplesmente foi direto
para a impressora e imprimiu o E e
continuou sem parar e, obviamente, não
imprimiu e não
imprimiu e
acabou imprimindo e
acabou imprimindo
o O. Quero dizer, você pode escrever o que quiser. Portanto, é um pequeno programa divertido, mas você pode ver o quão poderoso
agora o four stave in pode ser quando começamos a juntar os prós e
os contras Então, agora criamos um pequeno programa muito inteligente
que você pode
extrair rapidamente as vogais se
isso for algo que você encontre à mão e precise
fazer diariamente E se você talvez decidisse, Oh, na verdade, eu prefiro
ter a consonância Apenas tire esse nó. E agora, se eu digitar a
mesma frase, olá. Agora não está
me dando as vogais porque o que eu disse
aqui é que estou dizendo, estou em vogais, então continue Como encontrei
aquela vogal ali, ela estava em vs, então continuou e pulou
essa impressão aqui Sim, novamente, brinque
com a programação, você aprende
praticando e experimentando e experimentando coisas novas. Espero que você entenda
isso e que tudo faça sentido. Mas sim, espero que você entenda mais sobre quatro loops
e while loops Obviamente, esse break
and continue também pode ser usado nos loops do Wile
, e nós
daremos isso como uma pergunta extra
em um dos Certifique-se de que você também está
fazendo isso.
110. Como ver loops visualmente: Uau!: Estamos analisando a diversão dos loops e você
pode dizer que, bem, você pode ver alguns de seus
aspectos práticos e por que você pode usar os
diferentes quatro e digitar loops Os loops podem ser muito
divertidos. Realmente pode ser. Veremos mais tarde
quando realmente conseguiremos que você
escreva seu próprio joguinho. Vamos usar um componente muito importante do Python,
que são gráficos de tartaruga, que
permitem produzir gráficos,
mas tudo é permitem produzir gráficos, construído com base em
todos os fundamentos
que você está aprendendo.
Um desses
fundamentos fundamentais que você
acabou de aprender são os acabou Aqui temos um
pequeno exemplo na tela em que estamos carregando o sistema
gráfico da tartaruga e executando uma pequena coisa Você não precisa se preocupar com todos os detalhes
do que isso significa Só queremos mostrar o
que ele pode fazer. Olhando para esse código,
sei que alguns deles parecerão muito confusos e não farão nenhum sentido
para você, mas não se preocupe com
o fim ou com a vontade Mas espero que parte desse código faça algum
sentido para você Assim que você
olhou, espero que a primeira coisa que você tenha visto tenha sido
esse loop de quatro voltas aqui, e espero que
você já tenha escrito ou codificado
várias vezes Quatro I e alcance
40, faça alguma coisa. Em outras palavras, faça
algo 40 vezes. Mas agora, em vez de
apenas imprimir números , palavras
ou coisas em
uma lista, vamos imprimir um gráfico. Esse gráfico que vamos imprimir
usa gráficos totais e aparecerá na tela, mas,
o
mais
importante, está usando um loop e você
verá como isso funciona agora. Ok, então o que isso está fazendo? Basicamente, se você
olhar com cuidado, verá
que tudo o que essa pequena
forma está fazendo é imprimir um
triângulo e
imprimir esse triângulo repetidamente, na verdade, 40 vezes. Cada vez, o que esse código está
fazendo aqui
basicamente é mover a posição
inicial um pouco acima de algo. Tudo o que está fazendo é imprimir um triângulo
repetidamente, mas movendo levemente
sua posição. Ao fazer isso, está
criando essa estrela. Mas o mais importante é toda
essa estrela. A razão pela qual está aqui é
por causa desse loop. Agora, quando isso
começar a ficar um pouco divertido, você pode realmente
brincar com isso. Digamos que mudamos um
desses números para 200. Agora, em vez de mover a
tartaruga 144 vezes, em vez de mover a
tartaruga mais de 144 pixels, vamos
movê-la cerca de 200 Não se preocupe Sei que isso
não faz muito sentido, mas estou apenas mostrando como
você pode
se divertir com isso e
brincar com isso. Você pode ver agora que ele
ainda está fazendo um loop, está fazendo uma coisa triangular, mas na verdade está fazendo um padrão
completamente diferente. Se você olhar esse
código,
verá que na verdade é muito simples, mas você pode criar algumas coisas
bem legais. Você pode alterar o número
de vezes que ele se repete. Então Sarah disse que está
fazendo isso 40 vezes. Obviamente,
se você continuar, o padrão vai ficar
cada vez maior. Então, muita diversão. O ponto principal é que essa é uma demonstração de looping
e o looping é muito poderoso. E quando começamos a usar
plug-ins como gráficos de tartaruga, você realmente precisa usar loops
para dar vida à
sua tela e fazer com que coisas
divertidas e interessantes aconteçam
111. Resumo: Só para resumir,
junte tudo, toda
essa seção sobre loops e a
importância dos loops Começamos a analisar
por que você tem loops
e, em seguida, analisamos
especificamente quatro loops e como quatro loops operam
em um determinado intervalo,
normalmente um intervalo normalmente um X é igual a um a 400 ou 50
ou o que quer que seja. Em seguida,
analisamos os loops selvagens e como eles são um exemplo específico ou uma instanciação
específica
de quatro loops
porque permitem que você opere
até que uma condição Analisamos como isso
pode ser útil se você não tiver certeza de quando
essa condição será verdadeira Também vimos como você poderia expandir
isso e incluir
quebras em seu loop para que você pudesse realmente sair de
um loop se algo
fosse verdade e
usamos isso para até mesmo extrair todas as vogais que
foram digitadas em
uma string em uma frase Então, finalmente,
terminamos dizendo:
Bem, loops podem ser muito divertidos Você pode até usá-los visualmente
com gráficos de tartarugas, como você pode ver aqui
na tela, para se divertir muito
com eles. loops são realmente um
dos blocos de construção, os principais
blocos de construção da programação É importante se concentrar neles para entendê-los. Quanto mais você jogar com
eles, mais você
os entenderá e
eles farão muito sentido. Então, isso é loops, uma seção muito
importante. Espero que você goste, continue praticando
e se divertindo.
112. Caixas mágicas incríveis — funções: Bem-vindo à próxima seção
muito importante, que é uma seção sobre funções,
funções e bibliotecas e tudo associado a elas. Agora, o que é uma função? Bem, simplesmente, é
um bloco de código reutilizável. Se estamos na nova era em que
as coisas precisam ser reutilizáveis. Não queremos
jogar coisas fora e desperdiçar, etc É ótimo quando você
pode pegar um item e usá-lo repetidamente, especialmente quando se trata
de coisas como canudos Estamos nesta área, temos que acabar
com os canudos de plástico. Em vez disso, use um canudo
feito de vidro ou bambu ou
outra coisa que você possa Esse é o erro e é exatamente
a mesma coisa quando se trata de codificação Agora, você não percebeu,
mas já está usando
funções. Existem muitas funções
embutidas que o Python tem Imprimir é uma função. Agora, na verdade, o que
está acontecendo é é
um pequeno bloco de código que diz ao Python o que fazer, mas você não precisa entender
todas as complexidades de como ele funcionava e como ele fazia algo aparecer na tela Tudo o que você precisava fazer
era dizer o que você queria imprimir, passar um valor para imprimir e ele seria
impresso na tela. Mas agora você pode criar funções definidas pelo
usuário, nem todas as funções
precisam ser aquelas que são creditadas pelo próprio sistema. Você pode criar suas próprias funções. Por que você quer fazer isso? Bem, a razão pela qual você
gostaria de fazer isso é porque, depois de fazer isso uma vez, você pode usá-lo
repetidamente. É como se livrar
desses canudos de plástico. É uma coisa muito útil de se fazer. Queremos mostrar como
você pode criar funções, como você usa funções
porque elas permitem que você crie código de forma modular. É como ter os tijolos,
os blocos de construção
que você pode simplesmente juntar
e começar a
produzir seu código Nesta seção,
veremos
as funções e como elas são tão poderosas e muito importantes quando se trata
de codificação em Python
113. Funções mágicas do Python: Na lição anterior, apresentamos esse
conceito de funções. Basicamente, o Python
tem muitas funções que podemos usar,
como dissemos, imprimir é
na verdade uma Mas
para usar uma função, você precisa saber o nome dela. Obviamente, nunca poderíamos
ter usado a impressão se
não soubéssemos que a impressão existia. Então, como fazemos isso e
como lembramos quais funções funcionam com o quê e
quais são seus nomes e tudo tem
a ver com funções, basicamente. Como eu também disse em uma
de nossas aulas anteriores, documentação do
Python
é muito importante Então você pode ver aqui que estou no caminho e na
documentação no momento. Você pode simplesmente pesquisar o Google Path e documentação ou ir
direto para este link, e ele
aparecerá com esta página. Agora, o que esta página
é basicamente é uma lista de
muitas coisas, mas dentro dela,
você verá que
existem essas coisas chamadas módulos. Agora, o que é o módulo? Então, como eu disse
anteriormente, funções, basicamente
temos funções para
tudo, e elas são muito importantes. Agora, para encontrar funções e torná-las
mais fáceis de usar, nós as dividimos em
vários módulos. Basicamente, aqui você vê
que há esse cabo do módulo. Bem, existem módulos numéricos e
matemáticos. Então, se eu quisesse uma função relacionada
a, digamos, matemática, eu precisaria
ir para o módulo de matemática Então você verá que agora estou dentro um módulo de matemática e este módulo armazenará todas as funções relacionadas
à matemática. Vamos descer e ver
alguns deles como exemplo. Lembre-se de como
tentamos encontrar algo com o poder de algo
e realmente usamos isso. Usamos um número à
potência de outro número, então podemos ir dez
à potência de dois. Mas em vez de
fazer isso, podemos realmente usar essa
coisa aqui. Podemos dizer matemática, que é o nome do módulo, usar essa coisa chamada operador
de ponto e depois usar esse nome. Isso pode parecer um pouco
diferente da maneira como usamos impressão, porque não
tínhamos esse ponto e o que é tudo isso. Mas veremos exemplos disso
nas próximas palestras Mas, por enquanto, o que eu preciso que você lembre é que
temos muitas funções que podem fazer e
resolver coisas para nós e tornar
nossa vida muito mais fácil Você pode ver, se você
quiser calcular log em vez de fazer
isso sozinho, você pode simplesmente usá-las.
Se você passar por elas, você verá, especialmente bem, este é um módulo de matemática, então você verá que
tudo tem a fazer com matemática. Ok. Então, basicamente,
o que estou dizendo você precisa lembrar
que temos módulos e módulos armazenam
funções de tipos semelhantes. Era um módulo matemático. Quer dizer, temos tipos de dados
diferentes. Eles são todos módulos. Então, olhe para eles, veja
os diferentes módulos, e você pode ver como certas funções estão todas
dentro de determinados módulos. Então, sim, é isso por enquanto
e vamos dar olhada em exemplos em
nossa próxima lição.
114. Usar funções significa uma vida mais fácil: O que são funções e
você sabe onde
encontrá-las ou pelo menos
onde encontrá-las, e sabe que
elas estão todas juntas em pequenos pacotes
chamados módulos Mas agora precisamos
ver como
realmente usamos essas coisas
funcionais? Ok, então vou mostrar
um exemplo em que você pode ver que as funções podem realmente ser muito úteis e
muito importantes. A primeira coisa
que precisamos fazer se você quiser usar uma função é importar o módulo que
gostaria de usar ou importar o módulo da função
que gostaria de usar. Deixe-me primeiro dizer o que
vamos fazer. O que eu quero fazer
é criar um pequeno miniaplicativo que
gere números aleatórios. Agora, se você pensar
sobre isso logicamente, quero dizer, codificar, seria muito difícil Como escrevo um código para
fornecer um número aleatório? Quero dizer, pense no
que você sabe, se declarações, declarações, mas como posso
garantir que toda vez que
esse programa seja executado? Então, eu digitei essa declaração aqui que basicamente importa
o módulo aleatoriamente para
este programa que
estou prestes a digitar o módulo aleatoriamente para este programa que
estou prestes a Assim que eu digitei isso aqui, posso usar qualquer uma das funções encontradas no módulo aleatório.
Então, vamos embora. Ok, a função que
vou mostrar
vai nos permitir
escolher um intervalo, digamos um e dez. E então, toda vez que
executarmos esse programa, ele gerará um número
completamente aleatório entre e incluindo
esses dois números. Bem, vou digitar para
você agora, mas basicamente, será
um número que pode ser maior ou igual a um e menor
ou igual a dez. Inclui esses dois números. O que pode parecer um
pouco diferente, porque antes do número final não estava
incluído em outras coisas. Mas lembre-se de que números
aleatórios incluem o número
inicial e o final. Mas eu vou
te mostrar esse número. Ok. Agora, o que precisamos
fazer é criar uma variável que realmente armazene
esse número aleatório para nós
quando o programa for executado. Vou chamá-lo de NAM e vamos fazer com que um número seja
igual a um número aleatório Mas é claro, se eu escrevesse
seis e depois publicasse seis. Quero dizer, imprima o número. Obviamente, isso não é
fazer nada aleatório. Toda vez que eu
executo, obviamente
vou imprimir seis porque num é igual a seis. Eu não posso fazer isso. Eu queria mudar toda vez,
então vou fazer isso. Vamos dizer
Random dot Rent. E digamos que um ou dez. Ok, então o que
acabei de fazer aqui. Essa primeira parte aqui
que diz aleatória é o nome do módulo que usaremos para
encontrar a função. O que isso
nos diz quando dizemos aleatório é dizer ao nosso programa vá e veja o
módulo aleatório que o Pathon armazenou Possui bibliotecas e
bibliotecas de módulos. Mas assim que ele vê
isso, vai dizer: Oh, eu tenho que ir
ao módulo aleatório para
encontrar essa função aqui. Então, a próxima coisa depois
de digitar isso aleatoriamente, você faz essa coisa chamada ponto Basicamente, esse ponto está dizendo, a
partir do módulo aleatório,
obtenha essa função. Sempre que você está usando funções, é sempre a mesma coisa. Você colocará o nome
do módulo em que a função é proveniente do ponto da
função que você deseja usar. Nesse caso, está randing. Agora, o que Randant vai fazer? Tudo o que o Randint faz é isso. Agora, toda vez que eu
executo
o programa , imprimo um número diferente e o número será de , incluindo um, dois
e incluindo dez. Então, vamos ver o que acontece. E então eu estou apenas
imprimindo esse número. Então, vou executar o
programa uma vez. O que é feito? É obtido num e
atribuído a um número aleatório
aqui. Como isso é feito? Não gravamos nenhum código, mas obviamente ela
usou essa função e é isso que essa
função executou e faz. Pronto, espero que você perceba que é muito útil
usar funções. Acabei de executá-lo novamente e
agora você vê que eu tenho o Fab. Desta vez, o programa foi executado, ele fez essa pequena mágica aleatória aqui e novamente
escolheu um número aleatório entre eles e o atribuiu a esse valor numérico
e o imprimiu. Então, se eu executá-lo novamente, ele escolherá novamente um
número aleatório entre e incluindo esses dois números e o atribuirá
a um e um número impresso. Cada vez que eu executo este programa, um número diferente
será gerado aleatoriamente Então, isso é muito legal. Esse é um exemplo de
como usar funções. Agora, você até verá
no jogo que vamos codificar
no final, vamos, de fato,
usar essa função exata e você verá por que
ela é tão importante Você pode pensar nisso
na maioria dos jogos que joga. As coisas que
acontecem ou as coisas que os jogadores ao seu redor estão fazendo, se forem geradas por
computador. Espero que você possa ver
agora por que elas são tão legais ou por que
as funções são tão legais Eles estão nos permitindo usar códigos outras pessoas que já foram pré-escritos, revisados, garantiram que seja o código
absolutamente ideal e estão apenas
nos permitindo reutilizá-lo usando sabendo o nome Mas, obviamente, como você deve
ter
notado, para usar a função, você também precisa saber
quais parâmetros ela usa. Então, lembre-se, eu mencionei
os parâmetros anteriormente. Basicamente, parâmetros, cada função tem certos
parâmetros de um texto. Aqui, os parâmetros
eram esse primeiro, que era o
ponto de partida e o segundo, que era o ponto final. A documentação sobre a qual
falei
também informará quais são os
parâmetros da função. Há apenas um exemplo rápido de uma função e onde
você pode usá-la. De agora em diante, vou
usar
muito funções em nossa codificação
e, na verdade,
vou mostrar como
poderíamos usá-las em listas, strings
e todos os exemplos Alguns deles podem
estar nos questionários. Lembre-se de fazer isso
e de que há uma breve
introdução à função
115. Crie sua própria função: Olhando para essas coisas realmente
incríveis e poderosas chamadas funções. Essas são essas
caixas pretas, no sentido de
que contêm todos os tipos de
código. Podemos ligar para eles e eles
podem retornar valores para nós. Agora sabemos que
existem muitas funções
integradas e
todos os tipos de módulos, então você pode ter funções de
tudo, desde funções de tipo de desenho até
funções matemáticas, etc., e podemos usar essas funções para fazer
muitas coisas incríveis Mas o verdadeiro poder surge quando você começa a criar
sua própria função. Por que você
quer fazer isso? Bem, isso permite que você tenha
esse código reutilizável Como mostraremos
agora nesta lição, quando você começa a
criar funções, fica muito mais fácil codificar porque,
uma vez que uma função é feita uma vez, é uma pequena caixa
mágica incrível que você pode usar
repetidamente . Então,
vamos dar uma olhada. Vou começar com um exemplo
relativamente simples, só para
mostrar o layout e a sintaxe e , basicamente
,
a aparência de uma função Isso é o que você faz para
criar sua própria função. Você começa digitando
essa palavra-chave def, que basicamente
significa define Porque toda vez que você
digita uma nova função, você está basicamente
definindo uma nova função. A próxima coisa que você quer é
dar um nome à sua função. Então, neste exemplo, vou mostrar
como criar uma função que corta um número em cubos. Então, obviamente,
assim como as variáveis, você vai querer dar à sua função um nome
que faça sentido. Então, deixe-me chamar
meu cubo de função. Então, as funções também têm a mesma coisa com
variáveis em que você não
deve começar com uma letra
maiúscula e não
deve começar com
um número. OK. Então, há um cubo definido. A próxima coisa que precisamos para
fazer essa função de cubo funcionar, precisamos de um parâmetro aqui, que
conterá o número que o usuário deseja cubar Em outras palavras, é basicamente
uma variável chamada num. Esse é o valor que
será passado para a função
para que
ela possa cubar esse número Portanto, esse parâmetro
manterá esse valor. Assim como quando você
escolheu chamar print, quando fizemos exemplos com print, você colocou um valor nesses
colchetes e foi assim que função sabia qual
frase ou
o que você
queria que ela imprimisse Então, como calcularíamos um número? Basicamente, o que queremos fazer é pegar esse número. Vez por si só
e vezes outra vez. Isso nos dará o
cubo do número. Mas agora, com as funções, você quer que essa resposta seja
devolvida ao usuário ou devolvida ao usuário, como diríamos. O que você realmente quer
fazer é
digitar essa palavra aqui chamada return. Agora, vou mostrar o que acontece nessa que funciona, e depois vou
mostrar o que acontece se a retirarmos. O que isso deve
fazer é
que o usuário chame a função apenas digitando o nome da
função Então, como temos
esse parâmetro aqui, temos um parâmetro
chamado número. Isso significa que, para
chamar essa função, o usuário precisa inserir
um parâmetro. Digamos que sete. Se o usuário não
inseriu um parâmetro aqui, isso significa que
Pathon não verá essa função de cubo como sendo
a mesma que esta Digamos, por
exemplo, que eu a coloque em outra
variável aqui, vamos chamá-la de número dois. Isso agora não chama mais
essa função aqui. Você precisa verificar se sua
função tem a mesma quantidade de
parâmetros que função tem a mesma quantidade de a função
que você deseja chamar. Então, obviamente,
queremos imprimir esse valor. Se eu não coloquei a declaração
impressa, bem, vou te mostrar
o que vai acontecer. Tudo o que isso está fazendo é
pegar esse número sete e esse número sete se tornar essa variável num,
assim como atribuímos variáveis, num se torna sete e depois vai sete vezes
sete vezes sete, e está retornando
esse valor para nós. Curiosamente, o que
realmente está acontecendo aqui é
que estamos executando uma função
dentro de uma função A função de impressão é obviamente função do próprio
Python e estamos passando para ela o resultado de nossa própria função,
que era cubo Cube faz alguma coisa,
retorna o resultado, entrega para a função de impressão, que faz alguma coisa, que o
imprime na tela Você pode ver o quão poderosas
essas pequenas coisas são porque uma declaração
poderia fazer tudo isso. Sim, eu também queria
mostrar que esse valor de retorno
na verdade não imprime nada. Tudo o que ele faz é retornar esse valor para esse núcleo de
função. Se você nunca a imprimiu, na verdade é
uma função quase inútil Mas se eu mudar isso para imprimir
, ele
imprimirá o valor porque fica entorpecido se torna sete e estamos apenas fazendo uma declaração de impressão normal, sete vezes
sete vezes sete Agora, a razão pela qual realmente
não queremos fazer isso é que queremos que seja uma função de cubo, porque agora você pode querer fazer um
cálculo com ela Então, em vez de
necessariamente imprimi-lo, no momento Sarah
tem o cubo sete, então ela poderia usar o cubo sete
mais três e poderíamos imprimir esse resultado ou armazenar esse resultado em uma variável,
fazer o
que quiséssemos Agora você pode ver como ela é
poderosa porque
agora temos essa função que pode realmente ser usada como
parte de uma fórmula. Ok, então você pode ver
que o que eu fiz foi agora adicionar três ao cubo de sete porque ele
retornou um número inteiro Como ele retornou
ou retornou um número, posso somar, subtrair e fazer todas as outras operações divertidas Esse é o
layout básico de uma função. Lembre-se de
que você tem essa morte, seu nome e
esses colchetes com parâmetros
opcionais Na verdade, algumas funções não
precisam. Esse sim. Veremos exemplos em que
talvez você não precise de nenhum
parâmetro. Mas, por enquanto, não, esse é o layout
de uma função.
116. Faça sua própria função, mais uma vez... porque isso é super legal: Na lição anterior,
analisamos isso e como
criar nossa própria função que
calculará um número ao cubo para nós Mas nesta lição, quero mostrar um exemplo um pouco mais
interessante qual espero que você possa ver como as funções podem
realmente ser bastante úteis Para fazer isso,
precisaremos de uma lista dos
dias da semana. Porque eu quero brincar um pouco com essa lista e criar funções
diferentes que fazem coisas
diferentes com a lista. Ok, então vamos
lembrar que as listas são
tipos especiais de tipos de dados. Examinamos isso
na lição anterior. Se você não tiver certeza de
como fazer listas, volte e visite
nossa lição sobre listas. Aqui temos uma lista com
todos os dias da semana. Na verdade, talvez eu
chame isso de algo como dias da semana. Faz mais sentido,
não apenas uma lista. É uma lista de dias. Ok. Agora vamos
criar uma função. Portanto, a função do verso que
eu quero definir é uma função que talvez
possa
nos dizer se o dia atual
da semana é um fim de semana. Então, talvez você precise disso
se estiver
calculando quanto alguém está
recebendo por algo, talvez seja diferente
no fim de semana ou talvez queira escrever um programa que informe em
que dias uma loja está aberta, talvez os horários
mudem com base nos dias da semana. Basicamente, quero dizer, você pode pensar em maneiras
diferentes de usar isso. Mas nós só queremos saber. Queremos um programa
que possa nos dizer imediatamente se é fim de semana ou não Então, vamos definir essa função e
vou chamá-la função é fim de semana.
É quase como uma pergunta. Quando você liga, você está dizendo: é fim de semana
e vai nos
dizer verdade ou mentira. Para essa função,
precisamos ter um parâmetro
de string em que o usuário digitará qualquer
dia da semana. Então, vamos encerrar o dia, talvez. Ok. Agora, a maneira como
vamos fazer isso é como fizemos em
alguns de nossos outros exemplos.
Basicamente, queremos dizer que, se o dia é igual a sábado ou o dia
é igual a domingo, queremos retornar um valor
verdadeiro e, se não for, queremos retornar falso. Então, vamos tentar fazer isso. Se o dia for igual a, e lembre-se, a grafia
deve ser exatamente a mesma Se eu escrevi isso de forma diferente
de como escrevi aqui, então ele não vai
vê-los R, queremos escrever um ou porque o dia não precisa ser igual a sábado e domingo. É sábado ou domingo. Um dia é igual a um dia
igual ao domingo. Então, queremos retornar
um valor verdadeiro. Em outras palavras, sim, é um fim de semana. Caso contrário,
retornaremos false. Basicamente, não é um fim de semana. Novamente, isso é tudo o que realmente
queremos, verdadeiro se for,
falso se não for. Agora, vamos chamar essa função. Então, para chamá-lo,
precisamos saber que seu nome é fim de semana e ele
quer um parâmetro. Vamos começar
dando à função apenas um valor
ou um dia de nossa escolha. Vamos dar na quarta-feira. Eu não imprimi, então, novamente, nada acontece se você
não imprimir sua função. Bem, não acontece nada, mas não vemos
nada acontecendo. Mas assim que você o
imprime, você pode ver exatamente o que ele fez. Retornei esse valor de
false porque quarta-feira
não é um dia de semana, vamos atribuir um que seja domingo e
que retorne verdadeiro Mas lembre-se de como
eu disse, você não quer realmente
escrever programas como esse que sejam suscetíveis
a erros humanos porque assim que eu
escrevo errado, ele me diz que até eu
pensei ter escrito no domingo, não, esse não é um dia da semana, só para torná-lo um
pouco mais robusto Então, só para torná-la
um pouco mais robusta, criei essa lista
que podemos usar e também reúne muitos
dos outros elementos
que você aprendeu em outras seções em um só, espero que lembre você de todas as coisas que
você aprendeu Então, vamos ligar para dias da semana e perguntar se o quarto índice
na lista é um dia de
fim de semana. ' Então, lembre-se
do quarto índice da lista, segunda-feira é zero. Zero, um, dois, três, quatro, sexta-feira não é, mas se depois formos
cinco, isso nos dá verdade. Então, basicamente, são os dias
que passam da semana cinco. Em outras palavras, está passando sábado para essa
função aqui, dia vira
sábado e acaba. O dia é igual ao sábado? Sim, o retorno é verdadeiro. É isso que essa
função está fazendo. Uma coisa legal sobre
funções que retornam valores
verdadeiros ou falsos
é que podemos realmente usá-las
com declarações if, assim como uma declaração if determina se algo é verdadeiro, então algo acontece
e, se não for, outra
coisa acontece,
podemos realmente usar esses valores verdadeiros e
falsos para isso. Vou transformar essa declaração impressa
em uma declaração if. O que queremos perguntar, então
o que queremos fazer é dizer se é fim de semana. Poderíamos dizer igual,
é igual verdade, mas lembre-se,
como dissemos anteriormente, apenas dizer é fim de semana
ou apenas dizer isso é o mesmo que
dizer se é igual a verdade Então, se for verdade,
gostaríamos de imprimir algo. Então, digamos que sim, é fim de semana
e, caso contrário, se não for, se for falso,
imprima, ainda funcionará Ainda há dias de trabalho. Esta é a nossa declaração da FNL. Agora, quando eu o executo, ele encontra os dias da semana no Índice cinco, que era sábado. Ela entrou nessa
função com o dia de sábado e voltou a ser verdadeira. Isso significa que toda essa
expressão se torna verdadeira. Se for verdade, imprima, caramba, é fim de semana Isso é o que ele imprimiu.
Agora vamos mudar para um que saibamos que não
é um fim de semana. Vamos escolher zero, que sabemos que deveria ser segunda-feira. E se executarmos isso, oh, não, ainda são dias úteis. Então eu fiz basicamente o oposto, ele chegou, então era segunda-feira. É sábado ou domingo? Não, retorne falso.
Então veio para cá. O fim de semana é verdade?
Não, não é Nós extraímos um falso disso, então estamos indo para outro lugar
aqui e imprimindo isso. Então, obviamente, não
precisávamos ter
toda essa lista aqui. Poderíamos ter simplesmente
digitado isso diretamente. Isso pode parecer um
pouco mais simples para alguns de vocês ou mais
fácil de entender. Novamente, isso vai
nos dar esse valor aqui. Então, essa é apenas uma função
rápida, como você pode ver que pode usar valores de retorno
verdadeiros e falsos e que isso se torna
bastante útil. Obviamente, eu posso usar essa função quantas
vezes eu quiser. Talvez mais tarde, eu queira ter outra declaração
que imprima outra coisa com base no fato de ser um fim de semana ou não, e você possa continuar usando essa função quantas vezes quiser durante todo
o programa. O que é importante com
as funções? Quando você está programando, uma das coisas que você
quer aprender é você
pode criar
blocos reutilizáveis a partir Quanto mais rápido você
criar blocos reutilizáveis, melhor será sua codificação Porque quando você sabe que esse bloco
reutilizável está funcionando, você nunca mais precisa
se preocupar com isso Sempre funcionará, e é por isso que as funções
são tão poderosas. Divirta-se, brinque com eles. Você pode ver que eles são
realmente poderosos. Todo o seu conhecimento, toda a
sua sabedoria estão agora se
unindo e funcionando é
a próxima etapa empolgante.
117. Resumo: Bem feito, bem feito. Você chegou ao
fim das funções
e este é um módulo muito
importante. Foi aqui que
aprendemos a criar essas pequenas caixas
que encapsulam código, código que pode ser usado
repetidamente Como dissemos, funções, existem muitos
tipos diferentes de funções e elas se encaixam em categorias, categorias mais amplas
chamadas módulos. Assim, você pode ter módulos que têm a ver com
funções matemáticas, como vimos, ou módulos que têm a ver
com funções gráficas, módulos que lidam com
manipulação de listas,
etc., todos os diferentes
tipos de Além de analisá-las, analisamos como você pode
usá-las e você as usa o tempo todo,
quer as tenha usado ou
não, funções simples, como mas quando você as está usando ou funções mais interessantes, como aleatórias, que queremos usar em nosso jogo que
criaremos em breve, essas funções sempre exigem que
você passe parâmetros. É muito importante que você
passe o número correto de parâmetros
para chamar a função. E então a função
retornará algo. Essa é a
razão pela qual eles estão lá. Eles não são apenas uma
caixa preta que não faz nada, eles normalmente retornam um valor, e podemos trabalhar com esse valor. Então, seguimos em frente
e mostramos como
você pode criar
sua própria função. Criamos uma função
que analisava os dias da semana e se
algo era um fim de semana. E o que foi empolgante nisso
é
que você pode usar essa função para testar se um determinado dia da
semana era fim de semana ou não. Então, as funções são muito poderosas e são algo que você
vai usar cada vez mais. Portanto, eles não são difíceis de usar. É tudo uma questão de colocar seu código nesses
pequenos pacotes
e, depois de
empacotados e testados, você sabe que
pode continuar a usá-lo
facilmente em
todo o programa Então, esses são hábitos muito bons
que você precisa desenvolver. E analisamos
alguns deles. Analisamos o layout e como você deve manter seu
recuo adequado. Analisamos a
inclusão de comentários, e outra muito importante é manter a coesão de seus módulos e de sua codificação reunindo
funções Muito bem, você chegou
ao final deste módulo e agora está pronto. Ou alguma
ação realmente empolgante na próxima seção.
118. Introdução ao seu jogo — isso parece divertido: Bem, essa é a parte
mais empolgante da jornada de aprender a programar. Você já passou por todo
tipo de coisa. Você está aprendendo
todas as noções básicas de programação em Python E agora vamos
pegar todas essas coisas, embrulhá-las
e nos divertir um pouco. Então, nesta seção, o que vamos fazer é
mostrar um jogo que foi
escrito usando gráficos de tartaruga Você pode ver o jogo
aqui na tela
e, à primeira vista, parece
relativamente complexo Na verdade, não
é nada complexo. À medida que analisarmos isso rapidamente, você verá que entende a
maior parte do que está aqui. Só para dar uma ideia do que
você vai fazer, vamos rodar o jogo e mostrar o que
você
vai criar. Portanto, é apenas um pequeno jogo de
futebol
no espírito de todas essas aventuras
emocionantes que acontecem o
tempo todo em todo o mundo, coisas como Copas do Mundo de futebol
ou se você apenas joga futebol. Este é um jogo emocionante
para mostrar futebol. Ok, então não é um jogo de futebol
completo. É só começar a entender
o básico
e, basicamente, marcar pênaltis Então está desenhado nosso campo, e lá temos nossa
pequena tartaruga que é goleira e a tartaruga tem que
salvar as bolas que são lançadas. Para os gols. E aí você verá que bem
feito está uma defesa da tartaruga. E cada vez que uma nova bola é lançada em uma direção
aleatória, a tartaruga perde
aquela, então isso é um gol Então, basicamente, o
objetivo do jogo é salvar as bolas
que são lançadas em direção
aleatória em direção ao gol e garantir que você chegue lá
a tempo de salvá-las. Então, aí está um jogo muito emocionante, relativamente simples,
mas muito divertido de fazer. E, obviamente, depois de
analisarmos todos os detalhes, você poderá mexer, ampliá-los
e fazer muitas outras coisas Então, vamos começar e ver como nosso jogo da
Copa do Mundo de Futebol de Tartarugas
119. Como criar sua tartaruga: Em nossa
palestra anterior sobre loops, apresentamos brevemente o Python Graphics, conhecido como
Turtle graphics conhecido como
Turtle Agora, nosso jogo que vamos
fazer usa gráficos de tartaruga Então, vamos entrar nisso e
ver como criamos esse jogo. Antes eu já
disse que
temos módulos e, se
precisarmos de um módulo de usuário, precisamos importá-lo. Você pode ver esta primeira
declaração aqui na primeira linha, Estou
importando tartaruga Para usar gráficos de tartaruga, sua primeira linha deve ser
importar tartaruga Se não fizermos isso, não
poderemos usar nenhum dos métodos
que você pode ver abaixo. Ok, então essas linhas aqui estão basicamente
configurando nossa tela. Quando executamos o programa, deixe-me executá-lo rapidamente. Você pode ver que a tela
foi criada e essa tela tem o
tamanho de 1.000 pixels p 600. E a próxima variável aqui
é apenas uma variável de tela. É apenas a variável que você usa sempre que quiser
fazer alguma coisa relacionada
à tela, mas você precisa ter isso aqui. Portanto, ao começar
assim que iniciar a codificação, digite essas duas linhas E sem essa linha,
nada vai funcionar. Ok, agora vamos começar a
criar nossas tartarugas. Para que esse jogo funcione,
precisamos de duas tartarugas. Precisamos do goleiro
e precisamos do chato. Essa linha aqui, linha
número seis, cria um goleiro. O que estamos fazendo aqui é criar uma variável chamada goalie e atribuí-la a
essa função aqui, que é basicamente como a
que você viu antes,
é a classe turtle, então temos que dizer turtle e depois dart
turtle,
que na verdade é um método na
classe turtle que na verdade é um método na criar uma variável chamada goalie
e atribuí-la a
essa função aqui,
que é basicamente como a
que você viu antes,
é a classe turtle,
então temos que dizer turtle e depois dart
turtle,
que na verdade é um método na
classe turtle chamado turtle. Esse método aqui
cria um novo objeto tartaruga. Criamos essa
cadeira de objetos para o goleiro, uma tartaruga para o goleiro
e, abaixo dela, criamos outro objeto de tartaruga para o javali
usando essa função
de
tartaruga encontrada na classe tartaruga Ok, então isso criaria
dois objetos de tartaruga diferentes. Agora, para que este jogo funcione, precisamos que esses objetos
estejam em uma posição específica e também queremos
torná-los um pouco mais interessantes e talvez fazer
com que tenham uma certa aparência. E sim, só para torná-los
um pouco mais empolgantes. Então, vamos começar
com a bola. Esta primeira linha aqui é basicamente levantar
a caneta de tartaruga Então, se você se lembra nosso exemplo que
mostramos em loop, era quase como um
desenho que estávamos fazendo, e havia uma caneta desenhando ao
redor da tela. Mas não queremos essa linha
quando a tartaruga se move. Então, queremos levantar a caneta. Então, você pode realmente
experimentar seu próprio código. Esse código foi postado abaixo. Então, digite o código
ou copie e cole, mas tente
digitá-lo e comentar
e veja o que acontece se ele
tiver sido comentado Levantamos a
caneta e queremos que nossa bola tenha a
forma de um círculo Queremos que o tamanho seja dois. Quero dizer, você pode mudar
isso para o que quiser. Talvez você queira um
furo gigante ou uma pequena bola. Brinque com isso.
Fizemos a cor branca e criamos
a velocidade de uma bola. Agora, uma é, na verdade, a
velocidade mais lenta que uma tartaruga pode se mover. Se você subir até
dez,
dez se torna o mais rápido. Então essa função aqui
chamada ball dot set heading, isso está colocando a bola para
o oeste e isso porque nossas bolas estão indo para o
oeste em direção ao goleiro Essas são apenas algumas
das coisas que queremos que nossa bola faça e como
queremos que ela se pareça. Basicamente, o mesmo
aqui embaixo para o goleiro. É exatamente a mesma
coisa que está acontecendo aqui, exceto que fizemos a forma de uma tartaruga,
mudamos a velocidade, fizemos o
goleiro virado para cima e marcamos o
goleiro para ir para a posição menos 300 como eixo X
e zero é o
eixo Y Portanto, pense na
tela como um plano XY
e, basicamente, você
terá que
brincar com esses números para
obter a posição perfeita. Mas você pode ver aqui, isso é menos 300 e
está em zero para o Y. Basicamente, essas são nossas
pequenas tartarugas que fizemos Existe o LPO, existe o
gli e, depois disso, você criou suas
duas primeiras tartarugas,
brinca um pouco e vê o que acontece se você alterar
120. Como ensinar sua tartaruga a bumbo: Estamos fazendo este
emocionante jogo de pontuação de futebol, e temos o básico sobre
nossas tartarugas e o esboço
de nossas tartarugas e o esboço Agora, o que queremos fazer é começar a chutar a bola Agora, o que veremos na
próxima seção é definir a função de chute
para chutar a bola, mas ela não fará
nada Lembro que falamos
sobre isso anteriormente:
o que as funções
fazem é realizar alguma coisa. Eles são uma
caixa preta que está fazendo algo que está
retornando um valor. Então, no momento, essa função, quando criamos o Salmos, digamos, a caixa agora não
vai fazer algo, ela vai fazer
algo mais tarde, quando usarmos a função de chute Então, vamos descobrir o
que a função de chute está fazendo. Você ainda não verá nada
acontecendo na tela,
mas verá
algo acontecendo mais tarde, quando precisarmos
começar a chutar a bola Você pode ver aqui que
definimos o chute. E antes eu mencionei que algumas funções
não precisam de parâmetros, e essa é uma
delas porque eu não preciso passar
nada para a função. Eu só quero que ele faça
algo por dentro. Então, definimos essa
função chamada kick. Ok, então o que, em última análise,
queremos que essa função faça é que a bola se
mova em direção ao gol. Mas é claro que
não queremos que a bola se mova para o mesmo
lugar todas as vezes. Queremos que seja aleatório. Não queremos que o goleiro
saiba para onde
a bola vai Para fazer isso, precisamos coisas
um pouco mais
complexas, mas ainda não
analisamos tudo isso e você deve entendê-las facilmente. A primeira coisa que fazemos
aqui é definir o título. Definimos o rumo para 180
e, se você se lembrar
de cima, 180 é oeste porque queremos que a bola vá para o oeste
em direção aos nossos objetivos. Em seguida, temos essa variável
aqui chamada ângulo, qual queremos armazenar um número inteiro aleatório entre
zero e 27 Depois de algumas tentativas, descobri que esse era o tamanho exato
das metas e não
queria que o tabuleiro
fosse além das metas ou abaixo das metas Mas você pode mudar isso. Digamos que eu
decidi
que realmente queria fazer isso. 50, basicamente, tudo o que vai fazer é que agora sua bola pode ir ainda mais longe em direção
ao topo da tela e ainda mais baixo em direção
à parte inferior da tela. Mudando isso,
tentaremos mudar isso e
ver o que acontece e você verá como a bola
pode alcançar outras partes. Mas, por enquanto,
vamos mantê-lo em 27, mas queremos que seja um ângulo
aleatório entre eles. Esses números. Nossa próxima variável que temos aqui é a direção. Novamente, queremos um número aleatório. Queremos que esse número
aleatório seja zero ou um, você verá onde
usamos isso abaixo aqui. Essa variável de direção,
o que realmente
queríamos fazer é
colocá-la dentro de uma instrução if. Se a direção for zero, se isso foi escolhido como
o número aleatório, queremos que a bola vá para a
esquerda por esse ângulo aleatório. Então, se você pensar sobre
isso, o que está acontecendo é que, digamos que o número aleatório
aqui para a direção fosse zero, o ângulo aleatório fosse dez. Essa
função bolinha, ponto esquerdo, vai
virar a bola para a esquerda
em dez graus, que era o nosso ângulo aqui. é o que isso fará,
caso contrário, se a direção estiver em zero, então, em outras palavras, se for uma, então queremos que a bola gire para a
direita nesse ângulo aleatório, que
, bem, era de dez graus
para este exemplo Então, você verá que, quando
o programa for executado, a bola está constantemente
se movendo em uma posição aleatória. Agora, se não tivéssemos
a esquerda e a direita
, o que
aconteceria é que toda vez esse programa fosse executado e um ângulo
aleatório
fosse escolhido, a bola sempre subia porque sempre
giraria para a bola sempre subia porque sempre
giraria para a direita, para a
direita, para a direita. Mas não
queremos isso. Queremos que vá para a esquerda também, então precisamos que vá para qualquer
lado, para a esquerda e para a direita. Ok, então a próxima linha que
temos aqui é apenas mover a bola
para frente em direção ao gol. Também descobri que o número ideal para
isso é 320 pixels, mas poderíamos mudar
isso para mais. Só quero dizer que a
bola vai acabar mais abaixo aqui na tela. Deixe-me realmente executá-lo para que
você possa ver o posicionamento. Lembre-se, isso não vai
mudar pela última vez, mas o que eu fiz foi que,
quando a bola for chutada, quero que ela
acabe em algum lugar aqui onde nossos objetivos estarão Se fizermos isso mais, digamos 350, as bolas vão
acabar mais aqui embaixo. OK. Em seguida, temos essa declaração
if aqui. Basicamente, queremos
saber se o goleiro
salvou a bola ou não Você pode
pensar, bem, talvez pense que, com certeza, se a posição da bola estiver na
mesma posição do goleiro
, a bola foi salva A razão pela qual eu não
disse que se a posição do goleiro é igual
à posição da bola
, a bola é salva é porque a posição
do goleiro para a posição da bola
esteja exatamente no mesmo lugar é muito improvável, porque pense bem,
é uma tela enorme Pode facilmente estar errado em um pixel e
parecer que foi salvo,
mas, na verdade,
não está exatamente lá. Em vez de dizer isso,
preferimos dizer que se a distância entre o goleiro e a bola for menor que 35, então é uma defesa,
caso contrário, é um gol Você também pode alterá-la
se eu a aumentar, digamos 100, então o goleiro pode ficar ainda mais longe da
bola para que seja uma defesa Mas descobri que 35
é um bom número para isso. Então aqui embaixo, eu estou escondendo a tartaruga aqui porque
o que eu quero que aconteça é
que eu quero que a bola volte para
o centro da tela Aqui, uma vez que tenha sido chutado. Mas eu não quero que o usuário ou o jogador vejam a
bola voltando para cá. Eu escondi essa tartaruga
e ela acabou voltar para o centro e, uma vez
que está de volta ao centro, é por isso
que basicamente essa declaração aqui a traz volta para o meio
da tela Então, sim, isso é basicamente
o que essa função está fazendo. Vamos executá-lo para
você mais tarde, para que você possa ver exatamente como todos esses componentes diferentes
entram em ação.
121. Ensinando sua tartaruga a salvar uma bola: Nosso jogo está se desenvolvendo lentamente
e, na lição anterior,
vimos como o chute
poderia ocorrer com a tartaruga goleira e a tartaruga bola e como poderíamos ajustar o
ângulo para que fosse aleatório, para torná-lo um
pouco mais emocionante e para o goleiro pudesse
subir e descer
nesse tipo de posição e
tentar Mas agora o que precisamos
fazer é
obviamente ter uma função que nos permita mover
o goleiro para cima e para baixo Então, basicamente,
precisaremos de duas funções porque
precisamos de uma função que mova o
goleiro para cima e, em seguida,
precisaremos de outra função que mova o goleiro para baixo, respondendo às
setas
para cima e
para baixo Além disso, em última análise, também
vamos
querer chamar nossa
função de chute. Temos que ver
isso nesta lição sobre como criar essas
pequenas funções. Nossa primeira função que precisamos definir
para ensinar nosso goleiro a salvar é
essa função goalie up Novamente, é apenas um simples surdo e chamamos nossa
função de goleiro Então, para que
nosso goleiro suba,
queremos que ele fique voltado para o norte, que era esse ângulo de 90 graus Então eu configurei o goleiro
para ir para o norte e
quero que o goleiro
avance apenas cinco pixels, que é bem pequeno,
mas você entenderá porquê quando eu chegar a
essa parte aqui embaixo Então, por enquanto, com o goleiro levantado, tudo o que ele faz é apontar tartaruga para cima e
movê-la cinco vezes para frente Então essa função aqui é praticamente o oposto da vitória
do goleiro. Está fazendo o goleiro cair. O que estamos fazendo é
ajustar o rumo ou
definir a direção do
goleiro para baixo ou para o sul,
que é 270 graus, e estamos novamente movendo o goleiro cinco
para frente Mas esse avanço agora
será descendente. Você vai ser um
ótimo escoteiro ou guarda ou o que quer que
seja depois disso, você deve saber quais são
suas instruções Ok. Mas agora, nada disso realmente faz nada sem a função seja chamada, como dissemos anteriormente,
essa função de chute na verdade
não fazia nada
porque nunca a chamamos. A maneira como queremos chamar essas
funções em nosso jogo é na verdade, uma forma especial ou uma
forma que nunca fizemos antes. O que queremos fazer é que a tela espere que
uma tecla seja pressionada. A variável screen
tem esse método chamado ao pressionar a tecla e o que
basicamente acontece aqui? A variável de tela aqui, que definimos na parte superior, que é uma tela total. Tem uma função que podemos usar
nela chamada ao pressionar a tecla. Agora, o que essa função faz para nós é usar dois parâmetros, e isso é uma função como o primeiro parâmetro e uma tecla em nosso teclado
como segundo parâmetro. O que ele faz é pegar qualquer função que você quiser e vinculá-la a uma tecla
no teclado Por exemplo, aqui pegamos a tecla upkey e
dissemos que sempre que a
tecla upkey for pressionada, chame essa função
chamada goalie Toda vez que eu clico na tecla para cima
quando nosso jogo está rodando, ele chama essa
função e faz o que está dentro. Então, basicamente, mude-o para o norte e mova-o cinco espaços
para frente. É por isso que só preciso
avançar cinco vezes porque em vez de me mover
a uma grande distância, prefiro fazer com que
a tecla esteja sendo pressionada continue movendo-a
para cima nesses cinco espaços. Então temos novamente
a mesma coisa, mas obviamente isso é apenas derrubar o goleiro
com a tecla para baixo A tecla down fez com que essa
função caísse como goleiro. E então, para o chute, porque obviamente
queremos que
a bola avance e seja chutada, eu escolhi usar
apenas a tecla K no teclado Então você pode fazer qualquer coisa, você pode torná-lo o J, você pode torná-lo o, o que você quiser. Mas dissemos que
quando K é pressionado, chame a função de chute. Agora, se você tem esses métodos de
pressionamento de teclas e teclas
em está usando o teclado e
deseja que o programa
espere que uma tecla seja pressionada
, precisamos dessa outra função que
está usando o teclado e
deseja que o programa
espere que uma tecla seja pressionada
, precisamos dessa outra função aqui chamada
screen dot Listen. Basicamente, o que isso faz é que o programa
espere constantemente que uma tecla seja pressionada. E se uma tecla for pressionada,
ela
perceberá e executará
essa função Sem isso, um
programa não
se preocupará em ouvir
nenhuma tecla e provavelmente falhará Então, outra coisa
que você deve sempre ter em seu programa é
essa linha aqui. Essa linha está basicamente
sempre na última linha do seu programa e
precisa ser executada. Estou pressionando o teclado K
agora na tela
e, como você pode ver, nossa
bola avançou. Eu perdi isso dessa vez. Então, nossa outra coisa
que definimos em nosso programa foi obviamente
mover a tartaruga para cima e para baixo. Então, se eu clicar na
tecla para baixo, ele faz isso. Se eu clicar na tecla para cima, ele fará isso. Basicamente, tudo o que temos é que
podemos chutar com o
K e mover a tartaruga para cima e para baixo para tentar salvar a bola com
as teclas para cima e para baixo Você pode continuar fazendo isso
quantas vezes quiser. M. Parece um bom jogo. Isso vai ser um best-seller. Definitivamente. Tenho certeza que você ganhará muito
dinheiro com este jogo. Mas sim, e quando
terminar, você coleta Exit. E sim, temos o
início do jogo funcionando. Tudo o que realmente
resta a fazer agora é deixá-lo um
pouco bonito, adicionar um campo
e, fazendo isso,
mostraremos como usar loops
nele e todos os tipos de coisas
interessantes
122. Copa do Mundo de Futebol, dando um passo para trás: Nosso incrível
jogo de futebol está chegando, e há apenas um último
elemento que queremos adicionar. E queremos tornar o campo um pouco mais interessante. No momento,
temos apenas uma espécie de campo básico, queremos mostrar que você
pode simplesmente colorir e desenhar algumas linhas
nele, etc E é isso que abordaremos
nesta lição
e, em seguida, combinaremos
isso em nosso programa principal de futebol, e você estará
pronto para toda a ação. Se você olhar esse código
aqui para o campo, verá que há
bastante e
parece um pouco estranho
e confuso É aqui que você realmente precisa
começar a brincar e foram necessárias muitas tentativas e
erros para obter a exatidão. Mas vamos entrar nisso e
ver o que ele está fazendo. Nossa primeira linha novamente
é importar tartarugas para que possamos usar todas as funções da Como um aparte, você sabe, estamos usando essas funções, como desenhar e alterar cores
e todo esse tipo de coisa. Como dissemos anteriormente, você não precisa saber
todas essas coisas. Basta ir e ver
a documentação. Então você pode dizer, eu quero dar uma
olhada na função da tartaruga, e ela mostrará todas as coisas que você
pode fazer com essa função
da tartaruga
. Não é difícil. Então você quer saber,
Oh, eu posso desenhar? Como faço para levantar a
caneta ou como coloco uma caneta no chão ou como faço para
mudar o que é a tartaruga Tudo isso está
na documentação. Portanto, não é algo que você
realmente precise lembrar. Você começará a se lembrar
disso quanto mais o usar, mas tudo isso está disponível na documentação
do Python Portanto, nossa função aqui é chamada
apenas de campo de desenho e é bastante
autoexplicativa Queremos que ele desenhe o campo. Então, basicamente, basta colocar as linhas no campo e fazer com que
pareça mais interessante. Criamos essa variável
aqui chamada field, que é apenas uma
tartaruga como tínhamos antes com o
goleiro e o furo Criamos a forma de
um círculo, que pode ser qualquer coisa. É só algo
que está desenhando. E escondemos a
tartaruga só para que você não veja a tartaruga andando o tempo todo Mas, obviamente, você sabe,
isso não é realmente necessário. Isso é meio divertido. Agora, se você gosta de
ver tartarugas desenhando
, tudo bem, mas
não queríamos que a
tartaruga Queríamos que o desenho
parecesse ter acontecido por mágica. Sim, mas ainda assim você verá o campo sendo
elaborado porque,
bem, é assim que a
Turtle Graphics funciona E então fazemos
muitas outras
coisas por baixo Não
vou ler
todas as linhas porque
expliquei muito bem o que todas
essas funções fazem na aula anterior Muitos deles são
bastante óbvios. É óbvio o que o tamanho da caneta faz. É óbvio o que go
to faz, anote. Então, abordamos tudo isso
e, só de lê-lo,
isso é uma coisa boa
sobre o código. Agora você pode literalmente
lê-lo com sua experiência e o que passou e
entender o que está fazendo. Sim, então isso é apenas mover a tartaruga para
diferentes partes na tela Ele precisa ser levantado em determinados momentos, porque
não queremos linhas em
toda a volta E sim, isso é
mexer e tentar torná-lo
o campo perfeito Mas sim, isso só
precisa de prática. Mas o principal é
saber o que todas essas funções
diferentes fazem, o que você já deve saber. O que eu
quero destacar, porém é esse circuito de quatro voltas aqui. Agora, o que esse quatro voltas está
fazendo é , na verdade,
mandar uma tartaruga
desenhar um semicírculo Agora, como ele está fazendo isso
é dizer que para X na faixa 180 e a razão pela qual é
180 é porque, se
você pensar bem, um semicírculo teria 180 graus porque um círculo
completo Para cada X em 180, queremos que ele avance uma vez. Basicamente, tudo o que isso faz é cada vez que esse ciclo de quatro voltas
corre, ele move a
tartaruga de campo para frente uma vez e gira para a direita um ângulo de um ou
em um grau de um Então, muito lentamente, você verá que ele desenhará um semicírculo porque cada vez que
as voltas rodam,
ele se move uma vez, gira a tartaruga uma vez, gira tartaruga uma vez até fazer
180 vezes e formar um semicírculo 180 E se você
realmente não consegue imaginar isso, você pode girar a tartaruga
para que você possa realmente ver a tartaruga no desenho
como nós a
desligamos e você realmente verá
a tartaruga girando enquanto ela lentamente desenha aquele semicírculo de 180 graus Sim, e isso vai atrasar um pouco
tudo, mas definitivamente ajudará
você a ver o que está acontecendo. E temos dois semicírculos, então temos outro aqui E a razão pela qual você
verá que um está certo, aquele está esquerdo, ele ainda está
fazendo a mesma coisa. É apenas desenhá-lo
de um lado diferente. Mas sim, e mudar
isso só vai
tornar seu círculo maior ou
menor ou seu semicírculo
maior Então, sim, mude esse número, mude esse número,
veja o que acontece. Sim, apenas brinque. Acho que você conhece todas
essas outras funções, talvez apenas essa que você
nunca tenha visto antes. O que isso faz é
simplesmente carimbar a tartaruga ou onde quer que
ela esteja na tela Literalmente, ela apenas faz um selo e a tartaruga continua
fazendo o que deveria Então, logo na
parte inferior de tudo isso, estou chamando nosso campo de desenho de
função. Ao chamá-lo aqui, ele vai fazer tudo
isso aqui. Agora queremos adicionar nosso
campo ao nosso jogo. Assim como temos esses outros módulos
chamados total e Random, campo agora se torna
seu próprio módulo. Cada arquivo ou programa
que temos , esse e
os outros que
criamos , são todos
seus próprios módulos. Então, agora eu quero que o módulo
de campo seja visto no módulo de futebol, eu tenho que importá-lo. Agora, uma coisa que você precisa saber é que, ao salvar seus arquivos, se você não salvou
o módulo de futebol e o módulo de campo na mesma pasta, não faltará nada e
será confuso Na verdade, não conseguirei descobrir onde está esse módulo de campo. Se você não quiser que eles
estejam na mesma pasta, você tem que colocar todo
o caminho e fica um pouco confuso Mas, por enquanto, basta salvar esses dois módulos
no mesmo arquivo. E isso é tudo o que
mudou neste lado, então vamos agora executá-lo. Aqui você vê que está criando
um de nossos semicírculos. Você pode ver que ele está girando e se movendo
lentamente uma ou duas vezes a cada vez para criar esse pequeno
semicírculo E temos nosso touro
e nossa tartaruga. Então, se começarmos, agora
parece um
pouco mais empolgante. E podemos continuar fazendo
isso como fizemos antes. Você também verá agora que a
razão pela qual eu fiz nosso ângulo, nossos ângulos máximos
27 antes e fiz todos esses números aleatórios é
porque o tamanho disso só permite que o ângulo
seja no máximo 27 e significa
que essa
bola nunca
sairá da área do goleiro Não vai acabar
aqui ou aqui. Sim, esse é o nosso jogo. Vá em frente, digite o código, copie-o, faça-nos perguntas
se você confundir Mas, na verdade, tudo o
que está aqui, você deve entender que todas elas funcionam de
forma muito autoexplicativa Todos os nomes parecem
fazer sentido. E eu acho que você
deveria estar bem para agora terminar o
jogo que você está criando. Você também notará
que, em um jogo, colocamos muitos
comentários para ajudá-lo a tentar explicar
cada linha de código. Então, novamente, como Sarah disse,
tudo está na prática. Tudo depende do jogo, então fique à
vontade para pegar o código, editar pequenas coisas, alterá-lo, ver o que ele faz, porque é assim que
você aprenderá. Então você alcançou
esse objetivo incrível. Você realmente conseguiu
criar seu próprio jogo. Então experimente, faça
o que fizemos lá,
ajuste o jogo
e mostre o que você pode fazer para ser um
programador incrível em