Programação para crianças: programe no Scratch, HTML, Python e IA + mais | Craig Blewett | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Programação para crianças: programe no Scratch, HTML, Python e IA + mais

teacher avatar Craig Blewett, Teach to inspire

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução ao curso de programação

      4:09

    • 2.

      Ferramenta que vamos usar e configurando sua conta

      3:57

    • 3.

      Boas-vindas ao mundo da programação com o Scratch!

      3:43

    • 4.

      Molhando os pés: a interface Scratch

      2:38

    • 5.

      O ABC da programação: o que é código?

      8:40

    • 6.

      Dando vida às ideias: criando seus primeiros scripts

      9:18

    • 7.

      Um olhar mais atento: descoberta de blocos de rascunhos

      6:54

    • 8.

      Dominando os fundamentos: como navegar pelo espaço de trabalho Scratch

      2:40

    • 9.

      Sua primeira aventura de jogo: crie uma libélula do zero

      8:53

    • 10.

      Programando sua libélula: a jornada começa

      5:13

    • 11.

      Conclusões da perseguição: pegando a joaninha

      5:52

    • 12.

      Preparando o cenário para um jogo de cabeçalho de futebol

      4:55

    • 13.

      Como dar vida aos personagens com código

      2:02

    • 14.

      Saltando para o sucesso: animando a bola de futebol

      2:28

    • 15.

      Domine a interação: dinâmica da bola e do jogador

      4:10

    • 16.

      Abrace o aleatório: elevando o desafio do jogo

      2:46

    • 17.

      Programação de precisão: aperfeiçoando o cabeçalho

      4:11

    • 18.

      Fim do jogo: introduza consequências para cabeçalhos perdidos

      5:26

    • 19.

      Como manter o resultado: introdução de variáveis e lógica do jogo

      6:34

    • 20.

      Ajustando o sistema de pontuação

      2:25

    • 21.

      Suavizando as bordas: depurando o fluxo do jogo

      2:37

    • 22.

      Subindo de nível: introdução de dificuldade dinâmica

      5:00

    • 23.

      Toques finais: aprimorando seu jogo de cabeçalho de futebol

      8:44

    • 24.

      Se prepare: crie uma aventura de tráfego infinita

      6:29

    • 25.

      Estabelecendo o fundamento: organização dos seus recursos do jogo

      2:57

    • 26.

      Criando a ilusão do movimento: o caminho para o realismo

      3:51

    • 27.

      Dominando o loop: a arte de transições perfeitas

      4:05

    • 28.

      Controle do jogo: implementação do controle do jogador e dinâmica de camadas

      2:28

    • 29.

      Refinando a volta: dinâmica direcional e fluxo lógico

      7:26

    • 30.

      Criando obstáculos dinâmicos: a estrada ganha vida

      6:58

    • 31.

      Dos obstáculos ao engarrafamento: como dominar a clonagem para obstáculos dinâmicos

      6:02

    • 32.

      Randomizando a estrada: criando padrões de tráfego realistas

      1:54

    • 33.

      Dando vida ao mundo: animando o cenário

      4:59

    • 34.

      Toques finais: detecção de colisão e animação spin-out

      5:14

    • 35.

      Eleve o seu nível: como injetar dinamismo na jogabilidade

      5:35

    • 36.

      Evolução estratégica de jogos: dominando variáveis para jogabilidade dinâmica

      6:49

    • 37.

      Mini desafio: integrando variáveis para mecânica de jogos aprimorada

      3:47

    • 38.

      O toque final: como enriquecer a jogabilidade com efeitos sonoros e música

      3:46

    • 39.

      Embarque na aventura do esqui no estilo arcade: como conceituar a obra-prima

      5:05

    • 40.

      Estruturando o palco: importando o arsenal

      4:07

    • 41.

      Iniciando o movimento: criando a dinâmica do jogador

      4:05

    • 42.

      Como aprimorar o realismo: dominando a dinâmica do esqui

      6:46

    • 43.

      Como melhorar as árvores: aproveitando insights passados

      5:40

    • 44.

      Como criar trilhas de neve: simulando marcações de esqui

      3:31

    • 45.

      Otimização de código: como aprimorar a mecânica de jogos

      5:49

    • 46.

      Toques finais: aperfeiçoando seu primeiro jogo

      2:42

    • 47.

      Noções básicas de detecção de colisão: implementando a lógica de colisão inicial

      4:21

    • 48.

      Mecânica de crash refinada: como integrar mensagens de transmissão

      2:28

    • 49.

      Domine a animação rápida: melhorando o feedback dos jogadores

      7:01

    • 50.

      Desvendando algoritmos: criando o caminho seguro

      6:19

    • 51.

      Dominando funções: o núcleo do código reutilizável

      7:58

    • 52.

      Explorando funções por meio da programação criativa

      6:07

    • 53.

      Como aprimorar o realismo do jogo: gráficos e camadas

      3:20

    • 54.

      Amplificando a imersão: o poder do som

      5:09

    • 55.

      Como dominar a dinâmica de partitura: da contagem simples à margem competitiva

      5:58

    • 56.

      Criando o gateway: criando uma tela inicial convidativa

      3:48

    • 57.

      Preparando o cenário: camadas e ativação para um início contínuo

      8:33

    • 58.

      O toque final: refinamentos e revelações

      7:15

    • 59.

      Introdução ao curso de HTML

      7:29

    • 60.

      Editor de texto Sublime

      5:34

    • 61.

      O esqueleto do HTML

      9:46

    • 62.

      Tags de HTML

      8:26

    • 63.

      Conclusão e exercício

      2:58

    • 64.

      Novidades na seção

      0:32

    • 65.

      Parágrafos e intervalos

      10:00

    • 66.

      Estilo e listas

      11:32

    • 67.

      Tabelas — o segredo por trás do layout HTML

      6:45

    • 68.

      Adição de imagem

      15:39

    • 69.

      Nos bastidores — fonte da página

      5:04

    • 70.

      É incrível o que está por vir na próxima seção

      0:28

    • 71.

      Escolhendo um site e um tema

      2:41

    • 72.

      Como criar um logotipo

      12:01

    • 73.

      Obtenha imagens gratuitas (legais) para seu site

      7:28

    • 74.

      imagens de fundo

      8:15

    • 75.

      Uau — uma prévia da próxima seção

      0:35

    • 76.

      Fazendo a segunda página

      0:35

    • 77.

      Um truque de espaçamento oculto

      8:14

    • 78.

      Incorpore um vídeo do YouTube

      5:40

    • 79.

      Vinculando páginas da web

      8:46

    • 80.

      Caos - Você consegue fazer isso?

      5:27

    • 81.

      Conclusão

      1:43

    • 82.

      Por que programar com Python

      5:20

    • 83.

      Encontrando sua(s) própria(s) asa(s)

      2:32

    • 84.

      Python e Wing - que combinação

      1:17

    • 85.

      Seu primeiro programa

      3:11

    • 86.

      Estou travado, e agora?

      3:29

    • 87.

      Resumo

      1:29

    • 88.

      Variáveis — porque mudar é bom

      7:23

    • 89.

      Tipos de dados — porque nem todos são iguais

      8:48

    • 90.

      Operadores

      11:54

    • 91.

      Como ser interativo - um pouco de entrada()

      4:52

    • 92.

      Resumo

      3:54

    • 93.

      Por que todos precisamos de listas

      1:19

    • 94.

      Criando sua própria lista

      7:27

    • 95.

      Trabalhando com listas

      3:32

    • 96.

      Esta é uma lista sólida

      2:58

    • 97.

      Resumo

      1:23

    • 98.

      É importante tomar decisões

      1:29

    • 99.

      Se — uma palavra pequena com grandes implicações

      8:34

    • 100.

      Se - do outro lado - por que as alternativas são boas

      6:20

    • 101.

      Declaração If- elif- else

      8:54

    • 102.

      Vamos ser lógicos — operadores booleanos

      10:02

    • 103.

      Resumo

      4:08

    • 104.

      Por que adoramos loops

      0:57

    • 105.

      Para loops e uma ótima faixa

      8:06

    • 106.

      Para loops, encontre strings e lists

      8:08

    • 107.

      Loops – uma experiência totalmente nova com loops

      7:24

    • 108.

      Em loops — a beleza continua

      7:23

    • 109.

      Pare e continue — todos precisam disso na vida

      10:21

    • 110.

      Como ver loops visualmente: Uau!

      3:18

    • 111.

      Resumo

      1:22

    • 112.

      Caixas mágicas incríveis — funções

      1:48

    • 113.

      Funções mágicas do Python

      3:08

    • 114.

      Usar funções significa uma vida mais fácil

      6:31

    • 115.

      Crie sua própria função

      5:55

    • 116.

      Faça sua própria função, mais uma vez... porque isso é super legal

      8:47

    • 117.

      Resumo

      1:56

    • 118.

      Introdução ao seu jogo — isso parece divertido

      1:51

    • 119.

      Como criar sua tartaruga

      4:35

    • 120.

      Como ensinar sua tartaruga a bumbo

      6:31

    • 121.

      Ensinando sua tartaruga a salvar uma bola

      5:49

    • 122.

      Copa do Mundo de Futebol, dando um passo para trás

      7:48

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

353

Estudantes

4

Projetos

Sobre este curso

Descubra a alegria da programação: seu caminho começa aqui!

Quem deve se inscrever?

Este curso envolvente foi projetado para mentes jovens ansiosas para mergulhar no mundo da programação — guiadas por você. Quer você seja um pai ou mãe que cultiva a curiosidade de seu filho ou um aluno que deseja desenvolver habilidades prontas para o futuro, este curso oferece a base perfeita. Dê ao seu filho uma vantagem inicial poderosa em programação e desperte o interesse vitalício em tecnologia.
Observação: este curso é destinado para compra por adultos.

O que você vai aprender?

Na era digital de hoje, a programação não é apenas uma habilidade técnica — é uma ferramenta para a criatividade, o pensamento crítico e a inovação. Este curso apresenta os fundamentos da programação aos estudantes por meio de uma jornada empolgante e prática. Começando com o Scratch, uma plataforma para iniciantes desenvolvida pelo MIT, os estudantes criarão jogos interativos enquanto aprendem os principais conceitos de programação.

A partir daí, o curso se expande para o HTML, onde os estudantes criam suas próprias páginas da web, e para o Python, onde eles dão os primeiros passos em uma das linguagens de programação mais poderosas e versáteis do mundo. Cada idioma é ensinado de uma maneira acessível, criativa e profundamente gratificante.

Liderado por Craig, um educador experiente com doutorado em tecnologia educacional, e Joshua, um jovem prodígio da programação, o curso combina instrução especializada com visão jovem, tornando o aprendizado eficaz e divertido.

Por que escolher nosso curso?

Nosso curso se destaca em três maneiras principais:

  • Engajamento: aprendemos a programar uma aventura. Os estudantes são atraídos pelo desenvolvimento de jogos, criação de sites e projetos de Python do mundo real.

  • Acessibilidade: começando com a programação visual no Scratch e avançando para HTML e Python, os estudantes ganham confiança e habilidades que evoluem com seu crescimento.

  • Orientação especializada: as décadas de experiência educacional do Craig e a abordagem relacionável de Joshua criam um ambiente de aprendizagem exclusivamente favorável e inspirador.

Recursos do curso

Este curso foi projetado para oferecer uma experiência de aprendizagem abrangente e imersiva. Você vai encontrar:

  • Aulas de vídeo de alta qualidade com recursos visuais claros e áudio excelente

  • Apresentações passo a passo de projetos de programação

  • Exercícios práticos e soluções para download

  • Uma progressão da programação visual para a programação baseada em texto, facilitando a transição para iniciantes

Jornada durante o curso

Aqui está como você explorará o empolgante mundo da programação:

  1. Introdução à programação e Scratch

  2. Desenvolvimento de jogos — parte 1: crie seu primeiro jogo usando o Scratch

  3. Desenvolvimento de jogos — parte 2: adicione a criatividade com recursos avançados

  4. Desenvolvimento de jogos — parte 3: descubra variáveis e como elas potencializam seu código

  5. Introdução ao HTML: crie suas próprias páginas da web com estrutura e estilo

  6. Introdução ao Python - parte 1: aprenda o básico da sintaxe, lógica e automação

  7. Introdução a Python — parte 2: trabalhe em pequenos projetos que dão vida ao seu código

  8. Conclusão e próximos passos: reflita sobre o que aprendeu e explore como continuar crescendo

Por que este curso é fundamental

Com mais de 20 anos em TI e educação, Craig capacitou estudantes ao redor do mundo a terem sucesso na era digital. Seu estilo de ensino acessível faz com que até mesmo temas complexos pareçam viáveis. Joshua traz a energia e a perspectiva de um jovem programador que entende como é começar do zero — literalmente.

Embarque nesta jornada emocionante hoje e dê a seu filho (ou a você!) o dom da programação. Do design de jogos à criação de web e projetos reais de Python, este curso é uma plataforma de lançamento para o futuro digital.

A programação não é apenas uma habilidade — é um passaporte para a criatividade, resolução de problemas e oportunidades infinitas. E tudo começa bem aqui.

Conheça seu professor

Teacher Profile Image

Craig Blewett

Teach to inspire

Professor
Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

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