Codificación para niños: Codificación en Scratch, HTML, Python e IA + más | Craig Blewett | Skillshare

Velocidad de reproducción


1.0x


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

Codificación para niños: Codificación en Scratch, HTML, Python e IA + más

teacher avatar Craig Blewett, Teach to inspire

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción al curso de programación

      4:09

    • 2.

      La herramienta que utilizaremos para configurar tu cuenta

      3:57

    • 3.

      ¡Bienvenido al mundo de la programación con Scratch!

      3:43

    • 4.

      Cómo mojar los pies: la interfaz para empezar

      2:38

    • 5.

      El ABC de la programación: ¿qué es el código?

      8:40

    • 6.

      Cómo dar vida a las ideas: cómo crear tus primeros guiones

      9:18

    • 7.

      Una mirada más de cerca: descubre los bloques del proyecto

      6:54

    • 8.

      Dominio de los fundamentos: cómo navegar por el espacio de trabajo de Scratch

      2:40

    • 9.

      Tu primera aventura de juego: crea una caza de libélulas desde cero

      8:53

    • 10.

      Programar tu libélula: comienza el viaje

      5:13

    • 11.

      Conclusión de la persecución: atrapar a la catarina

      5:52

    • 12.

      Preparar el escenario para un juego de cabeza de fútbol

      4:55

    • 13.

      Dar vida a los personajes mediante código

      2:02

    • 14.

      Rebote al éxito: animación del balón de fútbol

      2:28

    • 15.

      Domina la interacción: dinámica de pelota y jugador

      4:10

    • 16.

      Aceptar el azar: cómo elevar el desafío del juego

      2:46

    • 17.

      Programación de precisión: perfeccionar el encabezado

      4:11

    • 18.

      Fin del juego: introducción de consecuencias para encabezados perdidos

      5:26

    • 19.

      Cómo llevar puntuación: introducción de variables y lógica del juego

      6:34

    • 20.

      Afinar el sistema de puntuación

      2:25

    • 21.

      Suaviza los bordes: flujo del juego de depuración

      2:37

    • 22.

      Subir de nivel: introducción de dificultad dinámica

      5:00

    • 23.

      Toques finales: pulido de tu juego de cabeza en el fútbol

      8:44

    • 24.

      Equipa: crea una aventura de tráfico interminable

      6:29

    • 25.

      Sentar las bases: Organizar tus recursos del juego

      2:57

    • 26.

      Crea la ilusión del movimiento: el camino hacia el realismo

      3:51

    • 27.

      Domina el bucle: el arte de las transiciones perfectas

      4:05

    • 28.

      Conduce el juego: implementa el control del jugador y la dinámica de capas

      2:28

    • 29.

      Perfeccionar el giro: dinámica direccional y flujo lógico

      7:26

    • 30.

      Creación de obstáculos dinámicos: el camino cobra vida

      6:58

    • 31.

      De los obstáculos al atasco: domina la clonación para superar los obstáculos dinámicos

      6:02

    • 32.

      Aleatorización de la carretera: creación de patrones de tráfico realistas

      1:54

    • 33.

      Dale vida al mundo: animación de un paisaje

      4:59

    • 34.

      Toques finales: detección de colisión y animación de spinout

      5:14

    • 35.

      Subir de nivel: inyectar dinamismo en el juego

      5:35

    • 36.

      Evolución de juegos estratégicos: dominio de las variables para un juego dinámico

      6:49

    • 37.

      Mini desafío: integrar variables para mejorar la mecánica de juegos

      3:47

    • 38.

      El toque final: enriquecer el juego con efectos de sonido y música

      3:46

    • 39.

      Embarca en la aventura de esquí arcade: conceptualización de la obra maestra

      5:05

    • 40.

      Estructuración del escenario: Importar el arsenal

      4:07

    • 41.

      Iniciación del movimiento: crea la dinámica del jugador

      4:05

    • 42.

      Mejora el realismo: domina la dinámica de esquí

      6:46

    • 43.

      Mejora los árboles: aprovecha las ideas anteriores

      5:40

    • 44.

      Creación de senderos de nieve: simulación de marcas de esquíes

      3:31

    • 45.

      Optimización de código: cómo mejorar la mecánica de juegos

      5:49

    • 46.

      Toques finales: perfeccionar tu primer juego

      2:42

    • 47.

      Conceptos básicos de la detección de colisiones: implementación de lógica de colisión inicial

      4:21

    • 48.

      Mecánica de crash refinada: integración de mensajes de transmisión

      2:28

    • 49.

      Dominio de la animación crash: cómo mejorar los comentarios de los jugadores

      7:01

    • 50.

      Algoritmos: cómo crear el camino seguro

      6:19

    • 51.

      Domina las funciones: el núcleo del código reutilizable

      7:58

    • 52.

      Explorar funciones mediante codificación creativa

      6:07

    • 53.

      Cómo mejorar el realismo del juego: gráficos y capas

      3:20

    • 54.

      Ampliar la inmersión: el poder del sonido

      5:09

    • 55.

      Domina la dinámica de puntuación: desde un recuento simple hasta una ventaja competitiva

      5:58

    • 56.

      Crear la puerta de entrada: construir una pantalla de inicio atractiva

      3:48

    • 57.

      Preparación del escenario: capas y activación para un inicio perfecto

      8:33

    • 58.

      El toque final: refinamientos y revelaciones

      7:15

    • 59.

      Introducción al curso de HTML

      7:29

    • 60.

      Editor de textos de Sublime

      5:34

    • 61.

      El esqueleto HTML

      9:46

    • 62.

      Etiquetas HTML

      8:26

    • 63.

      Conclusión y ejercicio

      2:58

    • 64.

      Aparecer en la sección

      0:32

    • 65.

      Párrafos y descansos

      10:00

    • 66.

      Estilos y listas

      11:32

    • 67.

      Tablas: el secreto detrás de la disposición HTML

      6:45

    • 68.

      Agregar imagen

      15:39

    • 69.

      Entre bastidores: fuente de la página

      5:04

    • 70.

      ¡Es increíble lo que veremos en la siguiente sección!

      0:28

    • 71.

      Elección de un sitio web y tema

      2:41

    • 72.

      Cómo crear un logotipo

      12:01

    • 73.

      Obtén imágenes gratuitas (legales) para tu sitio web

      7:28

    • 74.

      Imágenes de fondo

      8:15

    • 75.

      Wow: un adelanto de la siguiente sección

      0:35

    • 76.

      Cómo hacer una segunda página

      0:35

    • 77.

      Un truco de espaciado astuto

      8:14

    • 78.

      Incrustar un video de Youtube

      5:40

    • 79.

      Vinculación de páginas web

      8:46

    • 80.

      Caos: ¿puedes hacerlo?

      5:27

    • 81.

      Conclusión

      1:43

    • 82.

      Por qué programar con Python

      5:20

    • 83.

      Obtener tus propias alas

      2:32

    • 84.

      Python y Wing: qué combo

      1:17

    • 85.

      Tu primer programa

      3:11

    • 86.

      Estoy estancado. ¿Ahora qué?

      3:29

    • 87.

      Resumen

      1:29

    • 88.

      Variables: porque el cambio es bueno

      7:23

    • 89.

      Tipos de datos: porque no todos son iguales

      8:48

    • 90.

      Operadores

      11:54

    • 91.

      Cómo ser interactivo: un poco de entrada

      4:52

    • 92.

      Resumen

      3:54

    • 93.

      Por qué todos necesitamos listas

      1:19

    • 94.

      Creación de tu propia lista

      7:27

    • 95.

      Cómo trabajar con listas

      3:32

    • 96.

      Esta es una lista sólida

      2:58

    • 97.

      Resumen

      1:23

    • 98.

      Es importante tomar decisiones

      1:29

    • 99.

      If: una palabra pequeña con grandes implicaciones

      8:34

    • 100.

      Si - de otro modo - por qué las alternativas son buenas

      6:20

    • 101.

      Instrucción If- elif- else

      8:54

    • 102.

      Seamos lógicos: operadores booleanos

      10:02

    • 103.

      Resumen

      4:08

    • 104.

      Por qué nos encantan los bucles

      0:57

    • 105.

      Bucles for y gran rango

      8:06

    • 106.

      Para bucles, cumple con cadenas y listas

      8:08

    • 107.

      Bucles while: una experiencia completamente nueva en bucles

      7:24

    • 108.

      While loops: lo bueno continúa

      7:23

    • 109.

      Rompe y continúa: todo el mundo necesita esto en la vida

      10:21

    • 110.

      Cómo ver bucles visualmente: asombroso

      3:18

    • 111.

      Resumen

      1:22

    • 112.

      Cajas mágicas increíbles: funciones

      1:48

    • 113.

      Funciones mágicas de Python

      3:08

    • 114.

      Usar las funciones te facilita la vida

      6:31

    • 115.

      Haz tu propia función

      5:55

    • 116.

      Haz tu propia función, de nuevo... porque es tan genial

      8:47

    • 117.

      Resumen

      1:56

    • 118.

      Introducción a tu juego: esto se ve divertido

      1:51

    • 119.

      Creación de tu tortuga

      4:35

    • 120.

      Cómo enseñar a tu tortuga a patear

      6:31

    • 121.

      Cómo enseñar a tu tortuga a salvar una pelota

      5:49

    • 122.

      Copa del Mundo: olvídate

      7:48

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

353

Estudiantes

4

Proyectos

Acerca de esta clase

Descubre la alegría de programar: ¡tu camino comienza aquí!

¿Quién debe inscribirse?

Este curso atractivo está diseñado para mentes jóvenes deseosas de sumergirse en el mundo de la codificación, guiadas por ti. Tanto si eres un padre que alimenta la curiosidad de tus hijos como si eres un estudiante que quiere desarrollar habilidades para el futuro, este curso te ofrece la base perfecta. Dale a tu hijo una ventaja poderosa en la codificación y despierta un interés por la tecnología para toda la vida.
Nota: Este curso está destinado a ser comprado por adultos.

¿Qué aprenderás?

En la era digital actual, la programación no es solo una habilidad técnica, es una herramienta para la creatividad, el pensamiento crítico y la innovación. Este curso introduce a los estudiantes a los fundamentos de la programación a través de un viaje emocionante y práctico. Con Scratch, una plataforma para principiantes desarrollada por el MIT, los estudiantes crearán juegos interactivos mientras aprenden los conceptos básicos de programación.

A partir de ahí, el curso se amplía a HTML, donde los estudiantes crean sus propias páginas web, y a Python, donde dan sus primeros pasos en uno de los lenguajes de programación más poderosos y versátiles del mundo. Cada idioma se enseña de una manera accesible, creativa y profundamente gratificante.

Dirigido por Craig, un educador experimentado con un doctorado en tecnología educativa, y Joshua, un joven prodigio de la codificación, el curso combina instrucción experta con visión juvenil, haciendo que el aprendizaje sea tanto efectivo como divertido.

¿Por qué elegir este curso?

Nuestro curso se destaca de tres maneras clave:

  • Compromiso: hacemos que el aprendizaje codifique una aventura. Los estudiantes se sienten atraídos a través del desarrollo de juegos, la creación de sitios web y proyectos de Python en el mundo real.

  • Accesibilidad: comenzando con la programación visual en Scratch, luego avanzando a HTML y Python, los estudiantes ganan confianza y habilidades que se adaptan a su crecimiento.

  • Orientación de expertos: las décadas de experiencia educativa de Craig y el enfoque identificable de Joshua crean un entorno de aprendizaje excepcionalmente solidario e inspirador.

Características del curso

Este curso está diseñado para ofrecer una experiencia de aprendizaje integral e inmersiva. Encontrarás:

  • Lecciones de video de alta calidad con imágenes claras y un excelente audio

  • Guías paso a paso de proyectos de codificación

  • Ejercicios de práctica y soluciones descargables

  • Una progresión de la codificación visual a la programación basada en texto, que facilitará la transición para los principiantes

Recorrido por el curso

Así es cómo explorarás el emocionante mundo de la programación:

  1. Introducción a la programación y Scratch

  2. Desarrollo de juegos, parte 1: crea tu primer juego con Scratch

  3. Desarrollo de juegos, parte 2: añadir creatividad con funciones avanzadas

  4. Desarrollo de juegos, parte 3: descubre las variables y cómo impulsan tu código

  5. Introducción al HTML: crea tus propias páginas web con estructura y estilo

  6. Introducción a Python, parte 1: aprende los conceptos básicos de la sintaxis, la lógica y la automatización

  7. Introducción a Python, parte 2: trabaja en proyectos pequeños que den vida a tu código

  8. Conclusión y próximos pasos: reflexiona sobre lo que has aprendido y explora cómo seguir creciendo

Por qué este curso es imprescindible

Con más de 20 años en TI y educación, Craig ha capacitado a los estudiantes de todo el mundo para que tengan éxito en la era digital. Su estilo de enseñanza accesible hace que incluso los temas complejos se sientan alcanzables. Joshua aporta la energía y la perspectiva de un joven programador que comprende lo que significa empezar desde cero, literalmente.

Embárcate en este emocionante viaje hoy y dale a tu hijo (¡o a ti mismo!) el regalo de programar. Desde el diseño de juegos y la creación web hasta proyectos reales de Python, este curso es una plataforma de lanzamiento hacia el futuro digital.

La programación no es solo una habilidad, es un pasaporte a la creatividad, la resolución de problemas y oportunidades infinitas. Y todo comienza aquí.

Conoce a tu profesor(a)

Teacher Profile Image

Craig Blewett

Teach to inspire

Profesor(a)
Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción al curso de programación: ¿Quieres darle a tu hijo el mejor comienzo posible en su viaje de programación y equiparlo con habilidades esenciales que darán forma a su futuro? Entonces estás en el lugar correcto. Hola. Mi nombre es doctor Craig Bird. Soy profesor de TI con más de 30 años de experiencia enseñando tecnología. Tengo un doctorado en hacer que el aprendizaje sea atractivo y efectivo. Y junto con mi hijo Joshua, hemos creado algunos de los cursos de programación mejor calificados, y este es, con mucho el curso de codificación más completo y atractivo que encontrarás en cualquier lugar. Entonces, ¿qué aprenderá tu hijo? En este curso, tu hijo se embarcará en un emocionante viaje para convertirse en programador mediante el uso de Scratch, que es un lenguaje de codificación que convierte código complejo basado en texto en simples bloques de lego, lo que significa que tu hijo no necesita ninguna experiencia previa. A lo largo de este curso, trabajaremos en un montón de proyectos geniales que poco a poco desarrollan habilidades, comenzando con un juego de captura de errores realmente simple. Juego de futbol, un Traffic Racer Game, y luego un genial juego arcade Ski Adventure Game. Les enseñaremos a diseñar sus propios personajes, historias y animaciones. Y para cuando terminen este curso, tu hijo tendrá un portafolio de juegos y aplicaciones que orgullosamente podrán exhibir en su propia página web, cual también le ayudaremos a construir. En este curso, enseñamos todos los fundamentos a la programación como variables, loops, sintaxis, tipos de datos, algoritmos y un montón de otras palabras elegantes. Pero no te preocupes. Hacemos que sea realmente fácil de entender. Todo esto básicamente significa es que tu hijo podrá pensar como programador. Rompiendo problemas y desarrollando soluciones del mundo real. ¿Por qué elegir este curso? Bueno, vamos a aclarar una cosa. Este no es solo otro curso de codificación. Este es el curso definitivo específicamente para niños porque nos enfocamos en hacer que los conceptos de programación complejos sean realmente simples y fáciles de entender. Con mis décadas de experiencia docente y métodos comprobados, junto con mi hijo, que ha pasado por este mismo viaje, garantizamos que su hijo obtendrá la mejor introducción posible a la programación. En muchos cursos de codificación, los estudiantes simplemente siguen, copiando lo que dice el instructor. Es como, Simón suyo, hacer esto, y ellos lo hacen. Bueno, pueden terminar con un programa genial. Realmente no aprenden a codificar. En este curso, hacemos las cosas de manera diferente. Le damos a su hijo las herramientas y habilidades que necesita para entender realmente cómo codificar. Nosotros les ayudamos a entender no sólo lo que están haciendo, sino también por qué lo están haciendo. Y de esta manera, podrían conectar todos los puntos. Y al final, no sólo habrán construido un juego llamativo. Tendrán el conocimiento y confianza para crear lo que quieran, ya sean juegos o aplicaciones o lo que sea que puedan soñar. Y si en algún momento se sienten estancados, bueno, tienes nuestro soporte premium, es decir, podremos ayudar a depurar sus proyectos o explicarles cualquier cosa que no entiendan del todo. Además, está nuestro paquete de activos, que su hijo tendrá acceso completo. Está repleto de todo lo necesario para los proyectos del curso. Piénsalo. Como un set de Lego. Proporcionamos los conjuntos principales para los proyectos que construiremos juntos, y como beneficio adicional, son conjuntos adicionales para explorar completamente gratis. Este curso es tan práctico como se pone tu hijo estará trabajando en proyectos emocionantes desde la primera sección. No sólo hacemos que sigan adelante. Les ayudamos a pensar por sí mismos y aprender activamente con divertidos proyectos extra y muchos desafíos a lo largo del curso. Padres, sabemos que quieren lo mejor para sus hijos. La codificación es más que solo escribir código. Se trata de fomentar la creatividad, mejorar las habilidades de resolución de problemas y generar confianza. Estas son habilidades que beneficiarán a tus hijos a lo largo de su vida, sin importar la trayectoria profesional que elijan. Entonces, ya sea que su hijo tenga 6 años o incluso de 16 años, este es el este es Entonces, ¿estás listo para empoderar a tu hijo con habilidades para el futuro? Emocionado de verlos crear juegos y proyectos de los que están orgullosos. Bueno, entonces, si te unes a nosotros en este emocionante curso, estamos ansiosos por ver qué crea tu hijo, Inscribirse ahora, y comencemos juntos en este increíble viaje. 2. Introducción al curso de codificación: Bien, ya está. Echemos un vistazo a la herramienta que usaremos para crear nuestros increíbles proyectos que están aprendiendo a codificar. Si aún no lo has hecho, ve a la página web scratch Aquí es donde va a suceder toda la acción. Y porque esta es la primera sección del curso, voy a mantener mi cara sonriente feliz en la esquina de la pantalla porque quiero que sepas que somos humanos reales del otro lado de la computadora enseñándote, no solo algún bot. Sin embargo, a medida que avanzamos y nos adentramos en las partes de acción del sol donde aprenderás a construir algunos juegos realmente increíbles, voy a esconder mi cara. Entonces realmente queremos que te concentres en la programación sin distracciones Pero no te preocupes porque siempre estamos aquí y listos para ayudarte. Pero con eso, vamos a ir. En primer lugar, tomemos un momento para entender qué es el scratch. Esencialmente, scratch es un lenguaje de programación que ha sido especialmente diseñado para jóvenes codificadores y personas que solo quieren comenzar a aprender a codificar. Como tú. Básicamente toma la compleja sintaxis y el texto de lenguajes basados en texto y lo convierte en bloques de código fáciles de entender que hacen que la programación sea interactiva y divertida. Ya sabes cómo puedes construir todo tipo de cosas increíbles con bloques de lego. ¿Verdad? Puedes crear edificios , vehículos e incluso mundos enteros. Así que al igual que los bloques de lego, scratch te proporciona coloridos bloques de codificación, pero puedes unirte para construir tus propias creaciones digitales como juegos, animaciones, historias interactivas y mucho más. Y así como no necesitas ser arquitecto o ingeniero para tener Fongo, no necesitas ninguna experiencia previa en codificación para comenzar a crear con scratch Realmente está diseñado para ser fácil de entender. Para que puedas concentrarte en ser creativo y aprender la lógica de la programación y cómo pensar como programador, que es la habilidad más importante. Y la mejor parte es que puedes lograr todo esto sin nunca empantanarte por una compleja sintaxis de codificación Así que es una manera increíble de conocer qué se trata la programación y comenzar tu aventura de codificación. Entonces, lo primero es lo primero, abre el sitio web scratch si aún no lo has hecho. Y te voy a recomendar que uses Chrome como tu navegador a medida que continúas. Un scratch simplemente funciona mejor con Chrome en comparación con otros navegadores. Entonces, si esta es tu primera vez que te rascas, tu pantalla debería parecerse a la mía. Si te desplazas hacia abajo, verás un montón de proyectos geniales que gente como tú ha estado creando, que exploraremos más adelante. En la parte superior aquí, verás que tenemos diferentes opciones. El primero es crear un proyecto, del cual vamos a estar haciendo mucho. Ahí está la pestaña Explorar, y aquí es donde encontrarás más juegos divertidos desarrollados por personas que usan scratch, y aquí es donde la gente también podrá encontrar proyectos que crees. Al pasar, hay una pestaña de ideas, que tiene algunas ideas divertidas para proyectos para que las crees en el futuro. Y por último, la sección sobre lo es todo. Bueno, sobre el rasguño. Bien, con todo eso dicho, podemos crear nuestra cuenta scratch. Ahora bien, esto es importante, ya que se asegurará de que podamos salvar nuestros proyectos y no perder nuestro progreso. Así que todo lo que necesitas hacer aquí es hacer clic en Unirse a Scratch. Y como puedes ver, te pide un nombre de usuario y una contraseña. Esto puede ser lo que quieras, pero asegúrate de que no sea tu nombre real como dice aquí. Simplemente llamaremos a nuestro nombre click. Y entonces la contraseña puede ser lo que quieras. Solo asegúrate de recordarlo. Después de esto, pregunta en qué país vives. Entonces ahora puedes desplazarte por esta lista masiva para encontrar tu país. Bueno, vivo en Sudáfrica, así que eso está justo cerca del fondo. Y luego te preguntará a tu agenda. Por último, va a pedir un correo electrónico. Es importante ingresar su correo electrónico correctamente, ya que aquí es donde scratch enviará una confirmación. Una vez que reciba el correo electrónico de confirmación, puede hacer clic en el enlace de confirmación y listo. Se crea tu nueva cuenta de scratch y estamos listos para comenzar. Entonces tu término, configura tu cuenta de scratch, y te veré en la siguiente lección mientras exploramos la interfaz scratch. 3. ¡Bienvenido al mundo de la codificación con Scratch!: Entonces, este es el momento que has estado esperando. Es hora de crear nuestro primer proyecto. Para hacer un nuevo proyecto, todo lo que necesitas hacer es hacer clic en el botón grande de crear en la parte superior de la página. Y esto crea un nuevo proyecto para ti y te lleva al editor de proyectos scratch donde suceden todas las cosas increíbles. Ahora, estamos en el lugar donde ocurre la acción, hagamos un recorrido para que puedas entender rápidamente cómo funciona todo. Entonces, toda esta área en la que estamos en este momento se llama el editor, y aquí es donde puedes diseñar y codificar tu proyecto. Es básicamente donde vas a crear cualquier cosa que puedas imaginar. El editor de scratch tiene cuatro partes principales, el escenario, los sprites, los bloques de código y los scripts Déjame explicarte lo que hace cada parte. Todo bien. Hablemos primero del área del escenario. Lo encontrarás en el extremo derecho de tu pantalla. El escenario es donde pasan todas las cosas divertidas. Al igual que un escenario en un teatro. Aquí es donde se ve la acción. A medida que crees tu proyecto, todo lo que hagas aparecerá aquí mismo. Es el espacio especial donde puedes ver y construir tu increíble proyecto. Ahora, mirando hacia abajo desde el escenario, verás aquí esta zona donde podrás elegir el fondo del escenario. Actualmente, solo tenemos seleccionado este aburrido fondo liso. Pero si haces clic en este pequeño botón en la parte inferior derecha, puedes elegir un nuevo telón de fondo, además de agregar sonidos y música al escenario, pero exploraremos todo eso en una lección futura. Un sprite scratch es el personaje que controla tu código scratch Por ejemplo, puedes escribir algún código para que tu sprite se mueva o hable Estos sprites pueden ser todo tipo de cosas que van desde personas hasta animales y objetos Y al igual que con los fondos para el escenario, puedes elegir entre un montón de sprites pre hechos, o incluso sacar tus propias victorias únicas Además, incluso puedes subir sprites desde tu computadora, lo que haremos en futuras lecciones A continuación están los bloques de código. Estas son las instrucciones que puedes usar para que tus sprites hagan cosas Es igual que la programación del mundo real. Pero en lugar de escribir líneas complejas de texto, usas estos bloques. Pero esencialmente, estás haciendo lo mismo, estás codificando. Hay diferentes categorías de bloques, como movimiento, miradas, sonido, eventos, control y muchos más. Cada categoría representa un aspecto diferente de la programación, ayudándote a construir un proyecto completo e interactivo. Para usar estos bloques de código, simplemente arrástralos y sumétalos desde la paleta de bloques en el área de script. Y a medida que juntes los bloques, empezarás a ver que tu proyecto cobra vida. Y hablando del área de guiones, esta es la última área importante que debemos discutir. Aquí es donde juntamos bloques en un orden especial que le dice a tus sprites qué hacer Puedes conectar bloques de código juntos al romperlos como piezas de rompecabezas. Tan solo como un ejemplo rápido, traeré este bloque de diez pasos a mi ventana. Aquí, como pueden ver, si hago clic en él, mi sprite CT avanza en la pantalla Y por último, si miras a lo más alto, verás que existen estas diferentes pestañas para disfraces y sonidos. Ahora bien, estos también son espacios muy importantes que nos ayudarán a crear proyectos impresionantes, pero nos adentraremos en eso más adelante. Pero por ahora, esa es una descripción rápida de la interfaz scratch y cómo funciona. Anímate a jugar y revisar las cosas por ti mismo porque ahí es donde ocurre el aprendizaje en el hacer. Espero verte en la siguiente lección donde empezaremos a ver qué hace todo este código. 4. Mojarte los pies: la interfaz para rascar: Bueno, espero que te hayas divertido un poco jugando con los sprites y los bloques de código, porque en esta lección, vamos a estar explorando algunos de los bloques de código juntos Entonces comencemos con un importante qué es el código. El código es básicamente solo un conjunto de instrucciones para una computadora. Verás, las computadoras en realidad no son muy inteligentes. Bueno, no son muy inteligentes para averiguar a qué te refieres como lo son los humanos Necesitan instrucciones muy claras y específicas, paso a paso para hacer lo que queremos que hagan. Imagina que le estás diciendo a alguien cómo hacer un sándwich. Para un humano, podrías decir, por favor hazme un sándwich de mantequilla de maní y gelatina. Pero para una computadora, tendrías que ser mucho más específico como. Toma una rebanada de pan y colócala en un plato. Toma el frasco de mantequilla de maní y ábrelo. Inserte un cuchillo, y después de obtener un poco de mantequilla de maní, usa el cuchillo para extenderlo uniformemente sobre el pan. Después toma el frasco de gelatina, usa una cuchara para echar un poco sobre la otra rebanada de pan. Coloca la rebanada de pan encima de la mantequilla de maní, y así sucesivamente. Entiendes la idea. Otro ejemplo es si pudiéramos mirar el sprite que tenemos Digamos que queremos que camine hasta el final de la pantalla. El equipo no va a entender a lo que nos referimos si solo decimos caminar hasta el final de la pantalla. No obstante, lo que podemos decir es mover diez pasos. Como puedes ver, el gato avanza diez pasos, pero aún así en realidad no está caminando, solo se está moviendo. Bien, entonces lo que también podemos hacer es cambiar al siguiente disfraz. Ahora bien, si hacemos clic en esto, podemos ver que parece que está caminando. Ahora estamos llegando a alguna parte. Pero aún así, no está caminando hasta el final de la pantalla. Entonces lo que podríamos hacer entonces es agarrar este bloque de repetición. Póngalo sobre estos bloques, y ahora básicamente repetirá todo el código diez veces. Ahora si hacemos clic en él, podemos ver que se mueve mucho más lejos, pero aún así no hasta el final de la pantalla. Para que pueda cambiar los pasos 10-50. Bien, ahora, ahí lo tenemos. Un gato caminando con éxito hacia el otro lado de la pantalla. Entonces, como puedes ver, si bien las computadoras son increíblemente poderosas y pueden hacer cosas increíbles, necesitan instrucciones muy precisas y específicas para que funcionen porque las computadoras harán exactamente lo que les digas que hagan y nada más. Pero prepárate ahora, porque para la siguiente lección, estaremos codificando oficialmente. 5. El ABC de la codificación: ¿qué es el código?: Bueno, este es el momento que has estado esperando. Es hora de codificar y crear algunos de nuestros primeros guiones. Bueno, técnicamente, ya hemos creado nuestro primer guión como hicimos en la lección anterior. Pero esta vez, va a ser mejor. Pero antes de que lo hagamos, podrías estar preguntándote, bueno, qué, incluso es un guión. La respuesta corta es que un script es solo bloques de código que están conectados entre sí que le dicen a nuestro Sprite qué hacer Como describí antes , son instrucciones para la computadora. Así que tal y como hemos visto, un bloque de código es solo un bloque de código. Pero cuando lo combinamos, conseguimos que sucedan cosas increíbles como el guión, lo que hace que nuestro gato camine hasta el final de la pantalla. Sin embargo, hay una pieza clave del rompecabezas que nos falta antes de que podamos llamar oficialmente a nuestros bloques de código un guión, y la pieza clave se encuentra debajo del grupo de eventos. Es esto cuando se hace clic en la bandera. Verás ahora que podemos arrastrar este bloque de código al inicio de nuestro guión ambulante. Y ahora, cuando hacemos clic en esta bandera verde, se reproduce un guión. No es necesario hacer clic manualmente en él. Pero eso es solo el comienzo porque aún no eres programador. Todavía hay una cosa que debes hacer. Es más o menos un derecho de paso. Una vez que hayas hecho esto, oficialmente puedes llamarte programador, decírselo a tus amigos, eres programador, dile a tu perro que eres programador, a quien quieras decirle. Así que baja al grupo Lux Code, arrastra en el s y conéctalo a cuando la bandera haga clic Ahora, para el paso más importante, ¿ estás listo para escribir hola mundo Bien. Hecho. Ahora, haz clic en Reproducir. Aquí, lo tienes. Hola Mundo. Has creado el primer programa icónico más clásico de todos los tiempos. Ahora eres oficialmente programador. Nadie más puede decirte lo contrario. Entonces, con eso fuera del camino, hagamos guiones geniales y juguemos con algunos de los bloques. Una vez más, voy a arrastrar en este bloque de clic de bandera W. Y esta vez, voy a subir a mociones y jugar con algo del código aquí Probemos con el clic de bandera W. Mueve diez pasos y gira 15 grados. Ahora, cuando hacemos clic en la bandera, nuestro gato se mueve, gira, y dice, Hola Mundo. Eso es bastante genial. Pero antes de continuar, no sé si te das cuenta, pero nuestro gato está haciendo mucho más giro y mucho menos moviéndose. Entonces, ¿cómo podemos arreglar esto? Bueno, antes de que yo solo siga adelante y lo arregle, quiero que intentes arreglarlo. Recuerda, el aprendizaje ocurre en el hacer. Así que trata de ver si puedes conseguir este gato se mueva más, luego gira. Voy a estar esperando. Pausa el video y pruébalo. Bueno, espero que lo hayas descubierto, pero aunque no lo hayas hecho, eso no es problema. Entonces, si recuerdas de antes, cambiamos lo que decía nuestro gato simplemente haciendo clic en esta textura y escribiendo nuestras nuevas palabras. Y podemos hacer lo mismo por un movimiento y realmente todo lo demás en scratch. Esto es algo muy importante para recordar. Casi todos los bloques de código en scratch son personalizables, y nos permiten cambiar sus valores. Simplemente desplazándote hacia abajo, puedes ver cómo podría cambiar qué disfraz se selecciona o qué sonido se reproduce Esto realmente nos da mucho más control sobre lo que sucede. Entonces, para nuestro problema de mudarnos más, todo lo que tengo que hacer es cambiarlo a 20 pasos. Ahora, como puedes ver, cuando hacemos clic en la bandera, nuestro gato se mueve en un círculo mucho más amplio. Pero no nos detengamos ahí. Vamos a traer algunos otros bloques de código geniales. Vamos a traer en este ir a la posición aleatoria. Y espero que puedan adivinar lo que hace esto. Bueno, moviéndolo a nuestro guión. Se puede ver que nuestro gato salta alrededor de la pantalla, moviéndose en posiciones bastante diferentes. Bastante genial. Pero intentemos algo mejor. ¿Qué tal este deslizamiento a una posición aleatoria? Lo que voy a hacer aquí es desconectar este script de cuando empiece haga clic y conecte este nuevo bloque en. De esta manera, este script no se ejecutará. Pero ahora, como puedes ver, cuando hacemos clic en la bandera, el gato se desliza a posiciones aleatorias en la pantalla, lo cual es bastante ordenado Pero lo único molesto es cómo tenemos que seguir haciendo clic en esta bandera. En lugar de hacer eso, podríamos traer este bloque repetido, como hicimos antes y poner este código dentro del bloque. De esta manera, el código se repetirá diez veces. Ahora, incluso cuando volvemos a hacer clic en él, nuestro gato corre automáticamente alrededor de la pantalla. Ahora bien, aunque es un poco lento, así que lo que podríamos hacer es cambiar el número de segundos de 120.2. Ahora, de eso es de lo que estoy hablando. La OCT hace zoom alrededor de la pantalla. Aunque nuestro gato finalmente se detiene. Entonces, ¿cómo podemos hacer que continúe para siempre, o al menos hasta que hagamos clic en el botón de detener? ¿Alguna idea? Ya ves si puedes averiguar cómo hacer que el gato siga moviéndose para siempre. Esa es una pista. Pausa el video y mira si puedes hacerlo. Bueno, espero que lo resuelvas, porque para que nuestro gato siga moviéndose, todo lo que tenemos que hacer es usar el bucle forever. Y básicamente, cualquier código que esté en este bucle se repetirá para siempre. Fresco. Entonces cambiándolo y presionando play nuevamente. Se puede ver que nuestro gato simplemente se mueve continuamente por la pantalla como una locura. Bien. Ahora en lugar de que nuestro gato simplemente se mueva al azar. ¿Y si queremos que siga nuestro ratón? Eso sería divertido. ¿Lo entiendes? Gato y ratón? Bien. Sí, sí. Bastante gracioso. Derecha. Para hacer que el gato persiga al ratón, podemos traer en este bloque de ir a código y cambiarlo de una posición aleatoria a un puntero del ratón. Sin embargo, si hacemos clic en Reproducir, verás que realmente no pasa nada. Nuestro gato simplemente se mueve a la esquina de nuestra pantalla. Pero quiero que ahora pienses en esto. ¿Por qué nuestro gato simplemente se mueve al borde de la pantalla? ¿Por qué no sigue al ratón? Quiero que arregles este código y me digas cuando termines. Por supuesto, no voy a poder escucharte. Es una pantalla de computadora con la que estás hablando. Y no soy para el explorador. Pero avísame cuando termines de todos modos. PISTA. La solución está vinculada a un bloque de código que acabamos de ver. Entonces, pausa esto y pruébalo. ¿Lo arregló? Fresco. O si no lo hiciste, eso también es genial. Siempre y cuando lo intentaste. A lo largo de nuestras clases, siempre te voy a dar oportunidades para intentar hacer las cosas antes de mostrarte. Recuerda ese aprendizaje, lo que sucede en el intento. Así que inténtalo siempre aunque no lo hagas bien. Pero básicamente, lo que está pasando aquí es que nuestro sprite va a nuestro ratón Pero solo lo hace una vez, y solo lo hace cuando hacemos clic en nuestra bandera verde. Entonces para arreglar esto, todo lo que tenemos que hacer es poner el bloque de código Go to Mouse en un fevolu Y esta vez, hacemos clic en Reproducir, y verás que funciona. Y es bastante genial. Como puedes ver, no importa lo rápido que muevan el ratón, el gato siempre va a mantenerse al día. Y esto funciona porque nuestro sprite va para siempre a nuestro puntero del mouse, no solo cuando hacemos clic en Reproducir Bien, probemos un guión más antes de concluir esta lección. Vamos a agarrar este punto hacia el bloque de aquí. Y supongo que tienes una idea de lo que hace esto, porque, como puedes ver, tiene punto de ratón se selecciona, es decir, nuestro sprite apuntará hacia nuestro Tomemos también otro bloque de código y esta vez del grupo Looks. Aquí. Vamos a traer en este efecto de cambio de color por un 25. Y como antes, pondremos ambos bloques de código en un bucle fre. De esa manera, no solo lo hace una vez. Además, agregaremos en esto cuando la bandera haga clic para completar el código. Derecha. Vamos a darle una oportunidad a esto. Como puedes ver, nuestro gato se ha convertido en un teclado RGB y está constantemente apuntando hacia nuestro mouse. Sí, bonito. Bien, eso es todo por esta lección. Cubrimos bastante, y estoy seguro que aprendiste mucho. Ahora, solo quiero que tomes este momento para escribir algo de tu propio guión, solo experimentar con diferentes bloques de código y ver qué hacen, y te veré en la siguiente lección. Así que diviértete un poco. 6. Traer ideas a la vida: crea tus primeros guiones: Espero que te hayas divertido jugando con algunos de los bloques de código, así que continuemos nuestro viaje de aprendizaje y veamos qué más podemos hacer. Pero antes de seguir adelante y construir algunos juegos y aplicaciones y animaciones increíbles, primero tenemos que hablar sobre qué todos estos grupos de bloques de código y cuáles son sus propósitos. Porque si podemos entender correctamente lo que hace cada grupo desde el principio, te resultará mucho más fácil crear tu propio código. Como hemos visto, todos los bloques y scratch están organizados en diferentes grupos. Como puedes ver, todos estos son azules, estos son morados, estos son rosados y así sucesivamente. Básicamente, cada uno de estos se agrupan por lo que hacen, y representan diferentes aspectos de la programación. Así que pasemos por cada uno de los grupos para entender su propósito y también ver algunas de las cosas divertidas que pueden hacer. En primer lugar, todos estos bloques azules tienen que ver con el movimiento y mover tu sprite por la pantalla Y hemos estado jugando bastante con este grupo de código. Entonces estoy seguro que tienes una idea bastante buena de lo que se trata. Pero hay un montón más que puedes hacer aquí usando bloques de movimiento. Pero seguir adelante. Sí, sí. Hay muchos para ser graciosos. El siguiente grupo es Los. Y esto es todo sobre. Sí, bueno, lo adivinaste. Se ve. Entonces echemos un vistazo. También hemos probado algunos de los bloques de código como cambiar el vestuario, decir palabras diferentes, o incluso cambiar el color. Pero todavía hay mucho más que podemos hacer como cambiar el tamaño y hacer que el gato sea más grande o hacerlo ocultar o mostrar y mucho más. Pero básicamente, todo lo que necesitas saber es que el grupo de looks tiene que ver con looks, y a menudo lo usaremos cuando queramos crear gráficos y animaciones elegantes que verás más adelante. Bajando, tenemos sonidos, y estoy seguro que puedes adivinar de qué se trata esto. Aquí, podemos hacer que nuestros sprites hagan sonidos específicos. Entonces con nuestro gato, podemos haber hecho sonar esta M. Y también podemos cambiar el tono como puedes ver. Y sí, sí empieza a ponerse un poco loco. Bien. Al bajar, nuestro siguiente grupo se llama eventos. Y tal vez no estés muy seguro de qué se trata este grupo. Sin embargo, este es un grupo muy importante de bloques de código porque nos permite reproducir automáticamente nuestros guiones cuando ocurre un determinado evento. Hasta el momento, hemos utilizado el evento clicked flag W, que básicamente inicia nuestros scripts de código cuando se hace clic en esta bandera verde Y verás lo útil que es esto cuando tenemos muchos sprites. Pero como puedes ver, hay otros eventos como cuando Space clicó Esto solo iniciará el script cuando se haga clic en la barra espaciadora O este evento inicia el script cuando se hace clic en el sprite o cuando recibo un mensaje Todos estos eventos hacen lo mismo. En lugar de esperar a que hagamos clic en la bandera verde para reproducir nuestro código, esperarán a que suceda algo más. Y esto nos permite controlar cuándo debe comenzar el código. Ahora, realmente vas a llegar a conocer cómo funciona todo esto cuando hagamos algunas aplicaciones más avanzadas posteriormente. Pero con eso, podemos pasar a nuestro siguiente grupo de código, que es el control. Todos los bloques aquí se utilizan para controlar nuestro código, lo que básicamente significa que nos ayudan a administrar el flujo y la estructura de nuestros guiones, algo así como cómo los semáforos ayudan a dirigir los autos en intersecciones concurridas Por ejemplo, tenemos bloques para crear bucles, que nos permiten repetir secciones de código un número específico de veces o incluso para siempre. Al igual que hicimos antes para que nuestro gato caminara hasta el final de la pantalla o siguiera constantemente nuestro puntero del mouse. También tenemos declaraciones condicionales como if then y if then ls blocks, que permiten a los sprites tomar decisiones basadas en ciertas condiciones que se cumplen Similar a cómo podrías elegir usar un abrigo, si está lloviendo o usar gafas de sol, si hace sol afuera También está aquí este bloque, que espera. Al mover esto a nuestro guión, notarás cómo ahora cuando hago clic en la bandera, espera 1 segundo antes de que reproduzca el guión Esto también es algo importante que hay que saber. Así que juega con mucha atención. Cuando ejecutamos uno de nuestros scripts como este, por ejemplo, el código se ejecuta en un orden de arriba hacia abajo. Entonces podemos mirarlo lógicamente cuando hacemos clic en la bandera, primero esperará 1 segundo, y este es el primer bloque de código Entonces cambiará de color por 25 y luego apuntará hacia el puntero del mouse, y por supuesto, esto hará un bucle para siempre este código aquí. Pero si tocas el guión, parece que es que ambos bloques de código se están ejecutando al mismo tiempo. Y esto se debe a que las computadoras son tan rápidas que ni siquiera se puede notar que esto está sucediendo en orden. Pero agreguemos algunos bloques de peso para ver en acción. Así que arrastrando en nuestra espera 1 segundo aquí y otro aquí antes de ejecutar el código, ¿puedes adivinar? ¿Qué va a hacer? Piensa adivina ¿qué harán los pesos? Hacemos clic en la bandera. Espera 1 segundo Cambia de color, espera otro segundo, apunta hacia el ratón, espera otro segundo, luego vuelve a cambiar el color y así sucesivamente Entonces jugando este programa, se puede ver cómo hace exactamente lo que predijimos y cómo sucede en el orden que especificamos. Y a medida que avanzamos, verás como es tan importante el orden en el que colocamos nuestro código. Pero sobre ese tema, estos bloques de control nos dan el poder de hacer que nuestro proyecto sea más inteligente e interactivo respondiendo a diferentes situaciones a medida que suceden. Y todavía hay un montón más, pero por ahora vas a tener la idea. Bajando al siguiente grupo, tenemos detección. Y estos bloques son bastante chulos. Detectando bloques, deja que tus sprites detecten cosas como tocar otro sprite, movimiento del mouse o incluso escuchar cuáles son los tipos de usuario Estos bloques ayudan a que tus proyectos reaccionen ante su entorno. Y esto es muy útil cuando queremos construir juegos interactivos. Y jugaremos con algunos de estos más adelante cuando hagamos algunos juegos divertidos. Bajando de nuevo, tenemos operadores. Y todo esto tiene que ver con las matemáticas. Sí, sí, las matemáticas pueden ser aburridas a veces, pero te diré que cuando estamos haciendo juegos, necesitamos algunas matemáticas para que funcione, y se vuelve muy divertido. Los operadores son como las herramientas que utilizamos para construir y resolver acertijos en nuestro proyecto. Nos ayudan a hacer matemáticas y hacer comparaciones, tal como lo hacemos cuando estamos resolviendo las cosas en la vida cotidiana Por ejemplo, podemos sumar, restar, multiplicar o dividir números juntos Encuentra el resto cuando un número está dividido por otro o incluso elige un número aleatorio. Estos operadores también nos permiten comparar valores para ver si son iguales, mayores o menores que uno del otro. Es como cuando estás jugando un juego de cartas, y necesitas averiguar quién tiene la carta más alta, usamos comparaciones para decidir quién gana. Y no sólo números. Incluso podemos combinar texto, también conocido como cadenas para crear oraciones o hacer que nuestro sprite diga cosas bastante divertidas Entonces, los operadores nos dan un montón de herramientas geniales para trabajar cuando estamos creando nuestros juegos y proyectos en cero. Y nos ayudarán a que nuestros proyectos sean más dinámicos e interactivos. Y finalmente, tenemos variables. Las variables son como pequeñas cajas de almacenamiento para información que podemos usar en nuestros proyectos. Imagina que estás jugando un juego y tienes una puntuación. ¿Dónde harías un seguimiento de esa puntuación? Lo tienes en una variable. En scratch, podemos crear nuestras propias variables para almacenar y hacer un seguimiento de diferentes valores como puntuaciones, vidas o incluso el nombre de un jugador. Podemos cambiar estos valores sumando, restando, configurando o incluso mostrando y ocultando la variable en la pantalla Al igual que en el mundo real, utilizamos notas para recordar información importante que podríamos necesitar más adelante. En scratch y programación, utilizamos variables. Por ejemplo, digamos que estás haciendo un juego, donde un personaje recoge monedas. Cada vez que recolecten una moneda, querrás aumentar esta puntuación en una. Podrías usar una variable para almacenar la puntuación de los jugadores y luego agregarle una cada vez que recojan una moneda. Las variables son muy útiles para hacer que nuestros juegos y proyectos sean más atractivos, interactivos y divertidos, además, nos ayudan a realizar un seguimiento de información importante a medida que nuestros proyectos se vuelven más complejos. Mirando hacia abajo de nuevo, verás que hay una zona más llamada Mis cuadras. Y como pueden ver, no hay nada aquí por el momento, pero veremos usar el bloque de código especial en lecciones más avanzadas. En fin, eso es todo. En esta lección, realmente obtuviste una buena comprensión básica de cómo todos estos bloques trabajan juntos para formar scripts complejos que pueden ayudarnos a hacer juegos increíbles. También miramos cómo va nuestro código en orden de arriba a abajo. Y también siempre prueba algunos de los bloques ahora por ti mismo y mira si puedes conseguir algo divertido creando algunos de tus propios guiones geniales, y te veré en la siguiente lección mientras continuamos nuestro viaje de aprendizaje. 7. Una mirada más de cerca: descubre los bloques para rascar: Entonces, hemos repasado todos los diferentes co drives, todas las diferentes áreas como el escenario, nuestros sprites y un montón más En esta etapa, tienes una muy buena comprensión de todas las áreas, pero hay algunas cosas que aún no hemos cubierto. Y para darte una comprensión completa de cómo funciona todo este entorno de scratch, en esta lección, haremos precisamente eso. Y creo que la mejor manera de hacerlo es yendo del lado izquierdo de la pantalla al lado derecho de la pantalla para asegurarnos de que cubrimos todo. Entonces, en primer lugar, comenzando en la parte superior izquierda de nuestra pantalla. Tenemos código. Y ya sabes de qué se trata todo esto. Es nuestro código. Pero moviéndose un poco a la derecha, verás que tenemos disfraces. Ahora, aún no hemos hablado de esto, pero cada sprite que tengamos en nuestro programa puede tener tantos disfraces como quieras Y todos estos disfraces son específicos de ese sprite. Así que recuerda cómo hicimos que nuestro gato pasara por la pantalla agregando el código siguiente disfraz. Bueno, eso usa estos dos disfraces para crear el efecto de caminar. Y la parte genial aquí es que el scratch te da tanto control para crear nuevos disfraces y editar los que tienes. Como, por ejemplo, podría ir al segundo disfraz para el sprite, hacer clic en la cola aquí y simplemente girarla un poco hacia abajo Entonces volvamos a activar el guión ambulante. Ahora verás cómo se mueve la cola de los gatos cuando camina también. Pero ahí no se ha detenido. También podríamos importar nuevos trajes, ya sea de la biblioteca de Scratch, subir el nuestro propio, o incluso dibujar nuestro propio disfraz personalizado, que es donde entrarán en juego tus habilidades artísticas. De todos modos, entenderás cómo funcionan estos disfraces cuando construimos los nuestros propios en nuestros juegos y animaciones en futuras lecciones. Al mover una pestaña por aquí puedes ver que tenemos sonidos. Y esto es bastante parecido al vestuario excepto aquí se puede ver este sprite de gato viene preinstalado con este sonido Mo, que usamos antes Y nuevamente, puedes subir tus propios sonidos o elegir entre algunos de los sonidos que están disponibles en scratch. Puedes agregar mucha más profundidad a nuestro personaje y objetos en nuestro programa usando sonido. Ahora, una cosa más que hay que saber sobre vestuario y sonido es que ambos están controlados por estos dos grupos de código. Así que el grupo de código Looks puede controlar nuestros disfraces, y el grupo de sonido puede controlar nuestros sonidos para nuestro sprite Sigamos moviéndonos hacia un lado. Aquí, tenemos nuestro editor de guiones, donde va todo nuestro código, y ya lo sabes todo. Entonces tenemos nuestra bandera verde y nuestro botón de parada. Al cruzar, tenemos estos botones aquí, que le permiten cambiar el diseño de nuestra interfaz. Pero creo que este diseño es bastante bueno en este momento y lo mejor, así que dejaremos eso. Y en el borde, hay un botón de pantalla completa, para que podamos ver nuestro programa en todo su esplendor. Al bajar, tenemos nuestra vista de código, que también conoce. Es donde ocurre la acción. Y luego de nuevo abajo, tenemos esta área, que aún no hemos discutido. En primer lugar, podemos cambiar el nombre de nuestro sprite. Entonces en vez de ser sprite uno, podemos llamarlo CT. Y moviéndose a través, se puede ver, tenemos estas entradas x e y. Y este es un concepto importante. Así que juega mucha atención. Las coordenadas X e Y son como las posiciones para todo lo que sucede en el escenario de scratch. Esto nos ayuda a saber dónde están las cosas y cómo moverlas. Al igual que, imagina una cuadrícula gigante que cubre toda la etapa de scratch con líneas horizontales y líneas verticales que se cruzan entre sí. La cuadrícula se compone de coordenadas x e y. La coordenada x representa la posición horizontal o la posición izquierda y derecha del sprite en el escenario, y la coordenada y representa la posición vertical o el arriba y abajo del sprite en el Ahora, pensémoslo como un mapa del tesoro. Las coordenadas x e y son como las instrucciones sobre cuántos pasos dar en cada dirección para encontrar el tesoro. Si nos dijeran que demos diez pasos a la derecha y cinco escalones hacia arriba, moveríamos diez pasos a lo largo del eje x y cinco pasos a lo largo del eje y. En scratch, la etapa tiene su propio sistema de coordenadas con cero x y cero y siendo el punto central. Las coordenadas x van desde menos 24240 mientras que las coordenadas y van desde menos uno 80 hasta uno 80 Cuando quieres mover un sprite a un punto específico en el escenario, simplemente estableces sus coordenadas x e y Por ejemplo, digamos que queremos mover nuestro sprite CT a la esquina superior derecha del escenario Entonces estableceríamos la coordenada x 240 y la coordenada y en una 80. También puedes usar los bloques de movimiento en scratch, como ir a x 240 e y uno 80 o cambiar y por menos cinco para mover tus sprites por el escenario usando las coordenadas x e y Comprender las coordenadas x e y es importante para crear animaciones fluidas y juegos emocionantes, ya que nos ayuda a posicionar nuestros sprites exactamente donde los queremos en el escenario Y por eso son tan importantes. Bien, bajando de nuevo, puedes ver que tenemos la capacidad mostrar y ocultar nuestro sprite, y esto es algo que también podríamos hacer con el código debajo de la sección Y moviéndonos a través, podemos cambiar el tamaño y la dirección del sprite está apuntando, lo que también podemos hacer bajo el grupo Looks Code Bien, bajando otra vez. Creo que solo hay una cosa más que necesitamos saber, y eso es agregar nuevos sprites En scratch, puedes tener tantos sprites como quieras. Y al igual que con los disfraces, puedes usar los sprites que vienen con scratch. Puedes subir los tuyos o incluso crear tus propias formas y dibujos. En fin, imaginemos que queríamos crear un juego donde un perro persiga a un gato, y hay que controlar al gato para que huya Aquí, podríamos agregar un nuevo sprite, y podemos buscar perro, y vamos a elegir este aquí Y ahí lo tienes, un sprite flamante. Y como puedes ver, no tiene ningún código en él porque cada sprite tiene su propio código para controlarlo Y además, como un sprite de gato, este viene con diferentes disfraces y sonidos preinstalados y listos para que los usemos Sólo hay una cosa más, que son los telones de fondo, que son bastante similares a los Sprites Básicamente es solo el fondo detrás del sprite. Entonces digamos que nuestro juego está en la nieve haciendo clic aquí. Se puede ver que podemos cambiarlo a Ártico o desierto. Nuestro podemos subir nuestro propio telón de fondo si queremos o incluso podemos dibujar uno. En fin, eso es todo. Ahora eres un profesional en el entorno scratch. Pero ahora, vamos a convertirte en un programador profesional. 8. Dominación de los fundamentos: navega por el espacio de trabajo para Scratch: Bueno, ya está. Es hora de desarrollar nuestro primer juego. No te preocupes, nosotros lo mantendremos simple, pero desarrollarás algunas habilidades básicas de programación mientras haces este juego. Como se mencionó anteriormente, el juego que vamos a construir es bastante sencillo, pero debería ser divertido. Básicamente, vamos a tener como obra una libélula y un sprite de mariquita, y vas a poder controlar el movimiento de las libélulas con tus flechas y la mariquita simplemente va a correr por la pantalla mientras intentamos atraparla También vamos a establecer la escena con un bonito fondo de selva. Bien. Ahora que sabemos cuál es nuestro juego y los sprites y el fondo que necesitamos, quiero que importen los dos sprites al proyecto y elijan un telón de fondo apropiado Pausa este video y haz eso. Bueno, si te las arreglas bien hecho. Para este paso, lo único que estamos haciendo es agregar dos sprites y un telón de fondo Para nuestro sprite, solo podemos hacer clic en este botón de sprite de anuncio y buscar libélula y simplemente Verás cómo se sumó al proyecto. De nuevo, podemos hacer lo mismo por la mariquita. Bien. Y finalmente, podemos agregar en nuestro telón de fondo de selva haciendo clic en este botón en su lugar. Y si buscas Jungle, la encontrarás aquí mismo. Ahí lo tienes. El escenario está listo, y tenemos todos los activos que necesitamos para hacer nuestro juego. Antes de seguir escribiendo algún código para nuestros sprites, solo quiero que pienses en el proceso por el pasamos porque a la hora de programar, una parte muy importante es pensar en el panorama más amplio, que en nuestro caso es este juego Después de que sepamos exactamente lo que queremos hacer, tenemos que pensar en lo que necesitamos para hacer este juego. Bueno, aquí, todo lo que necesitamos son estos dos sprites y un bonito fondo Pero se trata de comprender el panorama general de lo que queremos hacer y dividirlo en pasos manejables más pequeños Por ejemplo, Bien. Digamos que quieres construir una casa en el árbol en tu patio trasero. En lugar de intentar construirlo todo a la vez, puedes descomponer el proyecto en escalones más pequeños como reunir los materiales, medir y cortar madera, construir el marco, agregar paredes y un techo, y luego decorar el interior. Al hacer esto, puedes hacer que el proyecto sea más manejable y menos abrumador y asegurarte de construir una casa en el árbol segura y robusta que puedas disfrutar en los próximos años Lo mismo ocurre con la programación, bueno, prácticamente todo en la vida. Pero eso es todo por ahora. Estamos listos para comenzar a dar vida a los sprites con código 9. Tu primera aventura de juego: crea una persecución de libélulas en el cero: Bien, es hora de poner en marcha la codificación, y creo que el mejor lugar para comenzar es con nuestro sprite de mosca dragón, ya que es el personaje principal después de todo Además, antes de hacer nada, deshagámonos de este gato que está en la pantalla y no lo necesitamos para todo este proyecto. Para hacer esto, podemos simplemente clic en este botón de eliminar junto al sprite o tal vez ya hayas creado algún código genial para él Podrías simplemente ocultar el sprite en su lugar y puedes traerlo de vuelta en cualquier momento haciendo clic en Mostrar Pero lo primero es lo primero, asegúrate tener seleccionado este sprite para asegurarte de que estás codificando lo correcto Con eso, es hora de crear nuestra primera tira para el sprite. Entonces pensemos en esto. En nuestro juego, queremos poder controlar esta mosca dragón y hacer que suba y baje de izquierda y derecha usando nuestros rastrillos Entonces, ¿cómo podemos hacer eso? Entonces aquí es donde hay que pensar como una computadora y pensar lógicamente ¿Cuáles son todas las instrucciones que necesita la computadora para poder moverse con las teclas de flecha? Si estás a la altura del desafío, pausa el encendido y dale una oportunidad a esto. Intenta ver si puedes escribir el script que permita que el sprite se mueva con los rastrillos Pero si no tienes idea, no te preocupes. Sólo quiero que hagas una pausa y le des un momento para pensarlo. Bueno, echemos un vistazo a cómo resolvemos esto con código. primero es lo primero, comenzaremos con el bloque de clic de bandera W, ya que esto iniciará nuestro script automáticamente cuando hagamos clic en la bandera. Ahora sabemos que nuestra libélula necesita moverse por la pantalla Sabemos que vamos a necesitar uno de estos bloques en el grupo de movimiento. Podrías estar pensando que deberíamos usar este bloque de código de diez pasos de mover ya que lo usamos para que nuestro gato caminara por la pantalla. Sí, si bien podríamos usarlo para conseguir que la libélula vaya a la derecha diez pasos y a la izquierda por menos diez pasos, hay un problema No podemos conseguir que la mosca dragón suba y baje con esto. En lugar de usar este bloque de movimiento, hay algo mucho mejor que siempre deberías estar usando en su lugar, y eso es este cambio x por y cambio y por bloques. Ahora recuerda, cómo dijimos que nuestra etapa es vista como una cuadrícula, y nuestro sprite puede estar en cualquier punto de esta cuadrícula por menos dos 40 x más dos 40 y menos uno 80 y más uno 80 y. Si cambiamos nuestra posición x por un número positivo, esencialmente estamos moviendo nuestro sprite a la derecha de la pantalla Y si es un número negativo, lo estamos moviendo hacia el lado izquierdo de la pantalla. Lo mismo ocurre con cambiar y. Si cambiamos y por un número positivo, estamos moviendo nuestro sprite hacia arriba, y si lo cambiamos por número negativo, estamos moviendo nuestro sprite hacia abajo por la pantalla Ahora que sabemos todo esto, podemos agarrar dos de cada cambio x y cambiar y. porque recuerden, para cada uno, necesitamos uno de ellos como negativo. Ahora bien, si haces clic en cada uno de estos bloques, podrás ver cómo mueve nuestro sprite por la pantalla, que es exactamente lo que queremos Ahora necesitamos es una forma de controlar esto con nuestras claves en lugar de hacer clic. Si recuerdas en nuestra lección anterior, podemos hacer esto con el grupo de detección de código. Aquí verás que hay este bloque para verificar si se presiona una tecla, que es exactamente lo que necesitamos. Si sacamos esto a la luz, puedes ver que podemos cambiar el espacio por bien, prácticamente cualquier llave que nos guste. Vamos a cambiarlo a flecha derecha presionada. Todo esto está bien, pero tenemos que conectar esto. Para ello se requiere quizás uno de los bloques más importantes de la historia que se encuentre bajo control, y es el bloque if then. Ahora recuerda cómo dije con qué frecuencia tomarás decisiones. Si cierta condición es cierta, como si estuviera lloviendo afuera, usarás un impermeable El mismo concepto es muy importante en la programación. Aquí, queremos comprobar si se presiona una determinada tecla, entonces algo debería suceder obviamente moviéndose en cierta dirección. También quiero que notes algo muy importante sobre estos bloques con los que has estado trabajando, que son las diferentes formas, como las piezas de lego, y encajan entre sí de maneras específicas. Ahora, estas formas están diseñadas para ayudarte a entender fácilmente qué bloques pueden conectarse entre sí, al igual que ciertas piezas de lego pueden encajar entre sí. Las formas le impiden conectar bloques que no deben unirse, lo cual es útil para evitar errores y mantener su código funcionando sin problemas. En el mundo de la codificación basada en texto, es crucial asegurarse de que su código esté organizado y libre de errores. Básicamente, se estructurará manera bastante similar a tu código scratch. Al tener diferentes formas de bloque y scratch, la plataforma te guía para crear un código bien estructurado y funcional, que es similar a cómo las piezas de lego se unen para formar una estructura estable. Por ejemplo, encontrarás que algunos bloques tienen una muesca en la parte superior y un bache en la parte inferior. Estos bloques están diseñados para apilarse uno encima del otro. Otros bloques tienen una forma especial de C, lo que significa que pueden envolver alrededor otros bloques como esta declaración o bucle para siempre. Esto ayuda a crear bucles o controla el flujo de tu código. modos, con todo eso despejado, conectemos este código Si se presiona la flecha derecha, queremos cambiar x por un número positivo. Podemos poner eso aquí, y luego agregar cuando flag clicked block to the top completing script. A ver. Haga clic y reproduzca y luego haga clic en nuestro botón derecho. Oh, eso no es bueno. Como ves no pasa nada en absoluto. Y sabemos que tenemos nuestra declaración if. Estamos comprobando si se presiona la tecla. Entonces, ¿qué falta? Bueno, ¿tienes alguna idea de lo que está pasando mal? Básicamente, es solo verificar una vez, y cómo cuando queríamos que nuestro gato siguiera nuestro punto del mouse, el control no es suficiente. Necesitamos el código para verificar continuamente si se presiona la flecha derecha. Para arreglar esto. Todo lo que tenemos que hacer es poner todo este código en un bucle forever. Ahora, se está comprobando constantemente para ver si esta condición es cierta. Si volvemos a presionar play, fíjese si hacemos clic en la flecha derecha ahora, se mueve. Genial. Ahora todo lo que tenemos que hacer es lo mismo para las otras claves. Ahora, te voy a dar un Tipa muy práctico. En lugar de volver a nuestra paleta de códigos y encontrar el bloque y esta tecla presionar bloque, lo que podemos hacer en cambio es simplemente hacer clic derecho en el bloque de código que desee y hacer clic en duplicar. Ahora puedes ver que tenemos dos, y podemos duplicar ambos bloques haciendo clic derecho en la parte superior y duplicando nuevamente Ahora tenemos cuatro, que es todo lo que necesitamos. Lo siguiente que hay que hacer ahora es cambiar la tecla pulsada de entrada. Aquí haremos la flecha izquierda flecha arriba y flecha abajo. Pero aún no hemos terminado. Ahora tenemos que cambiar lo que sucede. Si se hace clic en la flecha izquierda, necesitamos que x sea negativo Entonces si se hace clic en la flecha hacia arriba, necesitamos cambiar y y esta vez por un número positivo Por último, para la flecha hacia abajo, debemos cambiar y por un número negativo. Si jugamos ahora, ahí lo tienes. Podemos controlar oficialmente a nuestro personaje, y estás en camino de convertirte en un desarrollador de juegos. Hay dos cosas que quiero hacer ahora. Ahora bien, el primero es bastante fácil. En primer lugar, solo quiero que esta libélula no se mueva tan rápido Y simplemente todo lo que necesito hacer es reducir estos números. Así que lo voy a reducir a la mitad y cambiarlo a cinco y menos cinco Entonces ahora verás que nuestro personaje es fácil de controlar. Entonces lo siguiente es que quiero que el ladybu se desplace aleatoriamente por la pantalla Así que tómate un momento para tratar de ver si puedes hacerlo tú mismo. ¿Cómo podemos conseguir que la mariquita se mueva por la pantalla? Bueno, esto en realidad es muy sencillo. Como hicimos esto con nuestro sprite de gato si recuerdas, todo lo que tenemos que hacer es traer al iniciar clic, un bucle para siempre y luego deslizarnos 1 segundo a una posición aleatoria Ahora bien, si vuelves a hacer clic en reproducir. Puedes ver que nuestro juego realmente está llegando ahí. Una señora Big se está moviendo y somos capaces de controlar nuestra libélula Gran trabajo. Estoy llegando a este punto. Ciertamente hemos recorrido un largo camino. 10. Codificación de tu libélula: comienza el viaje: Bueno, nuestro juego se está uniendo bastante bien. Ahora tenemos que hacer es introducir el objetivo al juego, que obviamente es tratar de atrapar a esta chinche? Porque ahora mismo, si tocamos a la mariquita, en realidad no pasa nada Pero lo que queremos que suceda es que la mariquita desaparezca y que nuestra libélula um y tal vez toque un sonido pop como si se hubiera comido Entonces comencemos con nuestra libélula. Quiero que intentes conseguir que diga um, lo que quieras. Pero consigue que diga algo cuando le toque a la mariquita. ver si puedes hacer eso. Pausa este video, pruébalo. ¿Puedes conseguir que la libélula diga algo cuando toca a la mariquita Pensemos en esto. Vamos a necesitar un bloque de detección para sentir que el sprite está tocando otro, y podemos usar este de aquí Ahora, haciendo clic aquí, podemos cambiar el sentido táctil del puntero del mouse a Lady Bug dos. Entonces al igual que con nuestros clics de flecha, vamos a necesitar un bloque if condicional y un bucle fore. Entonces necesitamos saludar durante 2 segundos bloque conseguir que diga lo que queremos cuando toca a la mariquita También hay una cosa más. este bloque pop de sonido de reproducción. Al igual que antes, podemos organizar nuestro guión para que compruebe para siempre si está tocando a la mariquita Si es así, vamos a tener que decir um y luego tocar el sonido pop. Ahora bien, si lo jugamos ahora, verás cuando ahora toquemos a la chinche, si puedo tocarla. Ahí vamos. Dice, um, toca el sonido pop. Ahora, una cosa que puedo hacer para mejorar esto es tocar primero el sonido pop, luego decir Yum por 2 segundos. Esto solo lo hace más transparente. Bien. Fresco. Entonces nuestro juego ya casi está ahí. Y antes de pasar a programar a la mariquita, solo quiero señalar algo. Porque tal vez se esté preguntando ¿por qué tenemos dos scripts separados aquí? Como por qué no simplemente ponemos este trozo de código aquí dentro, así que solo tenemos un script. Bueno, si te lo estabas preguntando, bueno preguntándote, buena pregunta. Bueno, vamos a probarlo. Entonces agregándolo y ahora haciendo clic en reproducir, lo verás. Ahora cuando tocamos a la mariquita, si puedo tocarla, ahí tienes Pero fíjate en lo repentino que ya no puedo controlar a la libélula Simplemente se congela. ¿Por qué es esto? Bueno, si miramos nuestro guión lógicamente, sacando de nuevo el código, mira, todo esto es un bucle Por lo que constantemente estamos comprobando si alguna de estas condiciones es cierta. Si uno de ellos es cierto, como hacemos clic en la flecha hacia abajo, va hacia abajo. Pero recuerden cómo dije que el código corre de arriba hacia abajo. Bueno, eso está pasando aquí. Entonces, cuando hacemos clic en Inicio, va a comprobar si se ha pulsado la flecha derecha, luego va a comprobar que la flecha izquierda se está apretando, luego la hacia arriba, luego la hacia abajo. Entonces no es realmente verificar todas estas condiciones al mismo tiempo. Va de arriba hacia abajo. Pero debido a que pasó tan rápido, parece que lo está comprobando todo al mismo tiempo. No obstante, si tuviera que añadir un peso 1 segundo, como a esto verifique la flecha hacia abajo. Observe cómo funcionan perfectamente otras flechas, pero tan pronto como comprueba la flecha hacia abajo, todas las demás flechas se congelan. Y esto es porque está ejecutando el código de arriba hacia abajo. Y cuando llega a este código, necesita esperar un segundo, y solo puede continuar el bucle una vez que termine el segundo. Entonces básicamente, es por eso que este código tiene el mismo problema porque hay este um por 2 segundos, y solo continuará haciendo un lopeo del código una vez que haya terminado de ejecutar el script Entonces esa es una de las razones por las que usamos otro script, por lo que podemos tener varias cosas funcionando al mismo tiempo sin ningún problema. Ahora, podría sacar esta suma por 2 segundos y volver a agregarla al bucle. Mira, si lo volvemos a tocar, verás que funciona y no se congela. Pero aunque solo quisieras que nuestro sprite reproduzca un sonido, aún deberías usar un guión separado para esto Básicamente, tener guiones separados es mucho mejor para mantener las cosas organizadas. Verás, cuando haces programas realmente grandes, ganancias realmente grandes, las cosas pueden llegar a ser bastante confusas. Y si solo tienes un guión ultra mega largo, quizás no sepas lo que está pasando. Lo que te sugerimos es que cada guión que tengas haga sólo una cosa. Recuerden eso. Cada guión solo debe hacer una cosa. Este guión controla los rastrillos, éste comprueba si estamos tocando a Lady Bug, y si estás bien organizado así desde el principio, estarás muy agradecido en el futuro cuando hagas algunos juegos divertidos y realmente complejos Con eso, solo hay una cosa más codificar para que nuestro juego esté completo, y es conseguir que la mariquita desaparezca cuando toca la libélula Intenta darle una oportunidad a este reto y mira si puedes hacerlo por tu cuenta. De lo contrario, te veré en la siguiente lección y te mostraré cómo se puede hacer. 11. La persecución concluye: atrapando a la mariquita: Bueno, veamos cómo podemos rematar nuestro primer juego. Ahora, al igual que con la libélula, tenemos que sentir si estamos tocando el sprite Entonces estoy bastante seguro de que sabes qué hacer aquí, porque básicamente es exactamente lo mismo que tiene la libélula excepto en lugar de que la libélula detecte, si está tocando a la chinche, es al revés Pero quiero mostrarte otro poco más complicado. Recuerda antes, aprendimos que podíamos duplicar código en un sprite Bueno también podemos duplicar código entre sprites. Volviendo a nuestra libélula, simplemente podemos hacer clic y arrastrar el guión y soltarlo en nuestro sprite de mariquita Al hacer esto, se duplicará automáticamente el script. No ahora dos tiene este guión. Eso es genial. Ahora todo lo que tenemos que hacer es cambiarlo de tocar las mariquitas a tocar las libélulas Si aún no has descubierto cómo eliminar el código, solo tienes que arrastrarlo a esta área aquí y nosotros lo eliminaremos. Ahora, lo que queremos que haga es esconderse cuando toca la mosca dragón, casi como si se estuviera comiendo. Entonces aquí, solo podemos ir a la pestaña Looks, traer el código hide, así nuestro sprite se esconde cuando toca la libélula Ahora bien, si volvemos a jugar. Fíjate si tocamos una chinche, se esconde. Pero desafortunadamente, tenemos algunos problemas porque es una especie de escenario oculto, y no queremos eso. Y en segundo lugar, nuestra libélula no reproduce el sonido que queremos. Pero esto nos lleva a un aspecto importante de la depuración de programación No estoy hablando de nuestra mariquita, pesar de que es una coincidencia graciosa La depuración es esencialmente el proceso de encontrar y corregir errores en su código En la programación, hay dos tipos principales de errores. En primer lugar, hay lo que se llama errores de sintaxis. Básicamente, todo lo que eso significa es que estos son errores cuando escribes código que no sigue la sintaxis correcta o las reglas de cómo se debe escribir el código y el lenguaje de programación. Los errores de sintaxis generalmente impiden que su código se ejecute en absoluto. Pero por suerte, no tienes que preocuparte por esto porque scratch evita estos errores porque podrías intentar conectar dos bloques que realmente no encajan entre sí, y esto básicamente es decir, no, hacer esto causaría esencialmente un tipo de error de sintaxis Pero básicamente, scratch te está obligando a escribir con el uso de bloques, código perfecto sin errores de sintaxis, cual no es malo. No obstante, el siguiente tipo de bug son los que tienen que ver con errores lógicos. Estos errores ocurren cuando tu código está escrito correctamente, pero no hace lo que pretendías hacer. Por ejemplo, en nuestro juego, si la chinche no se esconde cuando es acorde o si se esconde demasiado pronto, eso sería un error lógico. Tu código aún se ejecuta, pero el resultado no es el que esperabas. Y estos errores ocurrirán todo el código de tiempo. Pero eso es solo parte de la programación. Nunca debes esperar tu programa funcione perfectamente en el primer intento. Realmente vas a tener mucha suerte si eso sucede. En cambio, se trata de depurar y encontrar todos los errores que hay en tu código y deshacerte de ellos para que funcione bien Además, a medida que adquieras más experiencia, mejorarás detectando y arreglando estos errores Entonces con todo eso dicho, echemos un vistazo a estos errores lógicos y veamos si podemos solucionarlo. Al mirar el guión para Lady Bug, puedes ver que conseguimos que se esconda cuando toca la libélula Pero nunca conseguimos que vuelva a mostrarse. Entonces lo que podríamos hacer es traer un bloque de espectáculos justo debajo de esto. Pero también debes notar inmediato que esto solo se va a esconder y mostrar de inmediato y pasa tan rápido que parece que no pasa nada. Y podemos confirmar esto haciendo clic en reproducir. Se puede ver que en realidad no se esconde. Lo que necesitamos aquí es un bloque de código de peso. Así podremos hacer que el sprite se esconda y luego se muestre después de un poco de tiempo, agregándolo entre estos dos bloques y luego volviéndolo a jugar Sí, se puede ver que se esconde correctamente, y luego vuelve a aparecer por un segundo. Sin embargo, todavía tenemos un error más, y es que nuestra libélula no está diciendo um y haciendo ese sonido genial Ahora bien, esto es un poco más difícil ya que nuestro código parece perfecto. Para solucionarlo, necesitamos pensar como una computadora y averiguar por qué no funciona como se esperaba. Analicemos la situación. Si miramos nuestro código de libélula, cuando toca a la mariquita, se supone que diga um y reproduzca un sonido Sin embargo, cuando observamos el juego, la mariquita se esconde inmediatamente al tocar la libélula, lo que significa que la libélula no tiene oportunidad de detectar que está tocando a Para solucionar este problema, podemos agregar un breve retraso antes de que la mariquita se esconda, permitiendo que la libélula tenga tiempo para registrar que está tocando a la Y podemos hacer esto simplemente agregando un bloque de peso antes del bloque hide en el código de Lady Bugs y configurando el tiempo de espera a algo corto como 0.1 segundos. Esto creará una breve pausa ante la mariquita, pero le da a la mosca dragón el tiempo suficiente para sentir que está tocando a la mariquita, pero aún así nos parece casi instantánea Probemos de nuevo el código. Entonces lo tienes. Nuestro primer juego está funcionando y todos los errores han sido aplaudidos y depurados Re realmente gran trabajo para llegar a este punto. Tú ahora podría decir un desarrollador de juegos. Pon eso en tu recupe pero prepárate para hacer algunos juegos mucho más emocionantes que esto en las siguientes secciones 12. Prepararás el escenario para un partido de fútbol: Bueno, estamos listos para ponernos marcha con nuestro nuevo proyecto. Entonces espero que estés listo para subir de nivel tus habilidades de programación. Lo primero es lo primero. A este es un juego nuevo, necesitamos crear un nuevo proyecto. La buena noticia es que en realidad es bastante fácil. Pero primero, asegúrate de que tu proyecto actual esté guardado. Ahora bien, hace esto automáticamente. Pero si estás a punto de salir de tu t o cerrar tu computadora, simplemente haz clic en el botón Guardar ahora. Si no ves el botón, solo significa que tu proyecto ya está guardado. Entonces con él guardado, todo lo que tenemos que hacer es hacer clic en el botón de cero aquí y luego hacer clic en Crear. Y una vez más, tenemos un proyecto completamente nuevo. Y también tenemos a este gato de forma gratuita. Pero desafortunadamente, para el gato, no lo necesitamos en este proyecto, así que no podemos eliminarlo. También, como pueden ver, nuestro proyecto se acaba de llamar Sin título, por lo que también podemos nombrarlo Lo llamaremos juego de cabecera de futbol. Sí. Sé que en realidad no es un nombre creativo, pero puedes nombrarlo como quieras, aunque es una buena idea nombrar a tu programa algo que te facilite identificarlo y encontrarlos más tarde. Ahora con eso hecho, estamos listos. Pero antes de morir de escribir, recuerda cómo en la sección anterior, platicamos sobre la importancia de descomponer un gran proyecto como construir un juego y pasos más pequeños alcanzables Hacemos esto porque no sólo hace que el proceso sea más manejable, sino que también te ayudará a desarrollar buenos hábitos de programación e incluso hábitos ligeros Es algo así como escalar una montaña. Si estás en la parte inferior y estás mirando hasta arriba, honestamente parece imposible. Pero si solo miras hacia adelante diez pasos, piensas para ti mismo, si, yo podría caminar esos diez pasos. Y entonces esperas otros diez pasos y caminas esos diez pasos. Y antes de que te des cuenta, estás en la cima de la montaña. Y lo mismo ocurre con la programación. Solo estamos abordando esta montaña de juego dividiéndola en una serie de escalones más pequeños Para este juego, por suerte, no es demasiado grande y complejo, pero aún podemos descomponerlo. Empecemos por hacer un sencillo juego de cabezazo de futbol donde el jugador mueve a un personaje para mantener una pelota en el aire. Ahora, usaremos los activos que se encuentran en la biblioteca de scratch, incluido nuestro personaje principal, Ben, el balón de fútbol Sprite y un telón de fondo de campo de fútbol llamado soccer two Porque esta montaña de juego no es demasiado grande. Es más como una colina que una montaña. Podemos dividirlo en sólo tres pasos. Los pasos son configurar la estructura básica, desarrollar la mecánica de juego y pulir el juego. Primero, establecemos la estructura básica. Así que traeremos todos los activos necesarios como sprites y fondos para establecer la base de los juegos Ahora, para juegos aún más grandes, podrías dividir esta etapa en tareas más pequeñas como construir la pantalla de inicio, luego el personaje principal o elementos específicos del juego. Segundo, tenemos que desarrollar la mecánica de juego. Entonces, una vez que tenemos los elementos esenciales en su lugar, podemos comenzar a programar la mecánica del juego. Ahora, tendremos que codificar el movimiento del personaje, la física de la pelota y las interacciones entre el personaje y la pelota. Y luego finalmente, tenemos la etapa pulida y refinada. Entonces, después de que la mecánica central esté funcionando, podemos agregar más detalles como efectos de sonido y animaciones e incluso anotación. Y aquí es también cuando jugaremos a fondo y probaremos el juego, haciendo los ajustes necesarios para asegurarnos de que sea agradable y atractivo. Bueno, con este concepto tan importante fuera del camino, quiero que intentes completar la primera etapa por ti mismo, que es traer todos los activos necesarios. Recuerda, estos son nuestro personaje principal, un sprite de balón de fútbol, y un telón de fondo de campo de fútbol llamado soccer two Así que pausa el video y prueba a ver si puedes hacer esto. Si lo intentas por ti mismo, bueno, bien hecho. Pero veamos cómo se hace. En primer lugar, podemos importar nuestros dos sprites en nuestro proyecto scratch Entonces al hacer clic en esto en un botón de sprite, simplemente podemos buscar a Ben, y aquí está A continuación podremos darle click de nuevo y buscar el balón. Por aquí hay una bola de calcetín. Podemos usar. Por último, está el telón de fondo. Para ello, sólo podemos dar click aquí y elegir fútbol para. Entonces lo tienes. Se realiza la primera etapa. Has establecido con éxito la base para tu juego de cabecera de fútbol, y estamos listos para comenzar a darle vida a nuestros sprites con código Pero a medida que continuamos desarrollando este juego y cada juego y proyecto en el que trabajas aquí después, recuerda la importancia de romper un gran problema en pasos más pequeños porque cuando haces esto, realmente nada es imposible. Incluso se puede hacer escalar el Monte Everest. 13. Dando vida a los personajes con el código: Bueno, ahora que tenemos todo en orden, podemos pasar a nuestra siguiente etapa, que es desarrollar la mecánica de juego. Ahora, al igual que con nuestro proyecto anterior, podemos comenzar con nuestro personaje principal, que es Ben. Entonces en este juego, queremos que Ben intente mantener la pelota en el aire encabezándola. Todo lo que Ben necesita hacer es ir a izquierda y a la derecha y cuando hacemos clic en los rastrillos Ahora, estoy muy seguro de que puedes resolver este problema por ti mismo. ¿Por qué no? Pausa el video e intenta completar esta parte por ti mismo. Pausa y dale ir. Te voy a mostrar cómo hacerlo en un momento, pero mira si puedes averiguarlo cómo podemos hacer que Ben se mueva de izquierda a derecha. Bien. Veamos cómo hacerlo. Estamos prácticamente creando exactamente el mismo guión que teníamos para nuestra libélula excepto que esta vez, nuestro personaje no necesita subir o bajar. El código que necesitamos es cuando se hace clic en flag, un forever, y un F. Ahora, antes de que agreguemos el resto, solo quiero que notes con qué frecuencia hemos usado este grupo de códigos Cuando la bandera haga clic para siempre y F. Este es un grupo súper importante de código que se usa a menudo porque permite crear programas que se ejecutan continuamente con el forever y reaccionan a condiciones específicas con la F. Estos bloques de código forman la base de muchos proyectos rayados y son esenciales para crear programas interactivos Al seguir adelante, el resto es lo mismo. Traeremos la tecla presionada, cambiaremos a la flecha derecha. Entonces ve a los movimientos y trae este cambio x por diez. Esto significa que presionamos la flecha derecha, se moverá diez veces hacia la derecha. Ahora podemos simplemente duplicar esto, cambiarlo a la flecha izquierda, y cambiar x a menos diez. Esto significa que se moverá diez veces hacia la izquierda. Ahí vas. La primera parte de nuestra mecánica de juego está hecha y desempolvada. Eso fue bastante rápido, ¿no? 14. Rebote hacia el éxito: animación de la pelota de fútbol: Bien, entonces tenemos nuestra mecánica de juego abajo para nuestro personaje principal. Ahora tenemos que hacer lo mismo por nuestro balón. En primer lugar, queremos que nuestra pelota rebote por la pantalla antes de intentar que interactúe con el plan futbolero ¿Cómo podemos conseguir que nuestra pelota rebote aleatoriamente alrededor de la pantalla? Bueno, vamos a darle una oportunidad. Vamos a agarrar el clic de la bandera ganadora y también traer un bucle para siempre. También, sabemos que tiene algo que ver con el movimiento. Echemos un vistazo para ver a qué nos vendría bien. Sabemos que podemos mover la pelota por la pantalla cambiando su posición. Y hay un bloque aseado que dice, yo en el borde rebote, lo que suena esperanzador. Vamos a traer ambos de estos a nuestro guión y hacer clic en reproducir. Hm. No, eso no es exactamente lo que queremos. El balón apenas se mueve hacia el lado derecho de la pantalla y rebotando cuando golpea el borde, lo que es de esperar Entonces este cambio por claro no es el bloque que necesitamos. Pero antes de continuar, trata de jugar una ronda de bloques y ver si puedes hacerlo bien. Vamos. Pausa y pruébalo. ¿Lograste averiguarlo? Bueno, veamos cómo podemos arreglar esto. En primer lugar, este cambio x no es lo que queremos. Vamos a deshacernos de él. Ahora, recuerda cómo con nuestro primer programa, te dije que no usaras el bloque de diez pasos de mover porque no podemos hacer que suba y baje. Bueno, eso no es del todo cierto porque en realidad no puedes. Verás, cuando nos movemos diez pasos, estamos moviendo diez pasos en cualquier dirección que esté enfrentando el sprite Si nuestro sprite nos enfrentamos, nos moveríamos hacia arriba. Todo esto tiene que ver con la dirección, y la dirección de un sprite se puede establecer aquí o por estos bloques de código De todas formas, no nos preocuparemos demasiado por cómo funciona la dirección en este momento ya que te volverás bueno en ello en nuestros próximos juegos. Pero lo que debes saber es cuando rebotamos en el borde, apuntará el sprite en una dirección aleatoria que es opuesta a la pared, está rebotando Con todo eso en mente, si ponemos el bloque en movimiento aquí en su lugar, observe cómo nuestra pelota rebota por la pantalla, cómo la queremos Estamos llegando con nuestra mecánica de juego. A continuación, necesitamos conectar ambos sprites para que podamos empezar a poner en marcha algunos anuncios. Bien. 15. Dominación de la interacción: dinámica de la pelota y el jugador: Bueno, ahora que tenemos la mecánica básica del juego funcionando para ambos sprites. Es momento de hacer que todo funcione en conjunto comprobando que la pelota es tocar la cabeza del jugador y luego rebotar si lo hace Pero antes de seguir adelante y resolver esto, hay dos cosas que quiero arreglar con el jugador. El primero es conseguir que el jugador aparezca más abajo para que tengamos más espacio, y el segundo está cambiando a un disfraz más apropiado. Apuesto a que puedes averiguar cómo hacer ambas cosas. Vamos. Detengamos el video y averiguarlo. Lo primero es hacer clic en nuestros jugadores a la derecha para que podamos conseguirle un par bajo. Ahora, podría simplemente arrastrarlo así. Pero esto no es lo ideal porque si lo vuelvo a mover por accidente, todo no va a funcionar correctamente. En cambio, lo que voy a hacer es traer esto ir a bloquear y cambiar la x a cero, y hagamos el y -90 Eso en realidad se ve perfecto. Agreguemos esto al inicio del guión. Así que ahora cada vez que nuestro guión comenzará en la posición correcta. Entonces, por último, para nuestro personaje luzca correcto en este juego, podemos entrar en el vestuario y cambiarlo por éste, Ben C, que funciona mucho mejor. Ahora, necesitamos conseguir el balón para responder a nuestro personaje principal. Haga clic en el sprite de bola. Ahora, pensémoslo. Básicamente, lo que queremos que suceda es que la pelota rebote en la cabeza del jugador. ¿Qué instrucciones o código específico? ¿Necesitamos escribir para lograr esto? Bueno, este problema también tiene que ver con la detección. Como estamos sintiendo, si la pelota está tocando a nuestro jugador. Sabemos que vamos a tener nuestros bloques de código básicos para esto, los cuales los enumero antes de recordarles los bloques de código básicos. El inicio único, el para siempre, y el F. Al igual que nuestra libélula, vamos a necesitar este código conmovedor Y aquí podemos cambiarlo a sentido si está tocando a Ben. Fresco. Ahora sabemos si el balón está tocando a Ben. Ahora, ¿qué podemos hacer para que rebote si toca sido? Bien. Notarás que desafortunadamente no hay rebote de tocar el bloque del personaje principal, que si realmente genial. Pero recuerden, con código, nunca va a haber un solo bloque que haga esto. Se trata de combinar código y crear scripts para lograr esto. Esto es realmente lo grandioso, que verás en futuras lecciones. Esto es programación, y lo que puedes hacer es guardar estos scripts y usarlos en diferentes programas. A lo mejor en un programa diferente, necesitamos un script que rebote en otro sprite Una vez que creamos este script, podemos reutilizarlo para siempre, y este es un concepto de codificación importante. Se llama código reutilizable, y ahorra mucho tiempo. Pero volviendo a ello, pasemos al grupo de mociones. Ahora recuerda, cómo estamos usando este bloque de código de movimiento, y lo especial de esto es cómo la dirección en la se mueve la pelota depende de la dirección a la que se enfrenta. Simplemente para que nuestra pelota rebote, todo lo que tenemos que hacer es enfrentarla en dirección ascendente. Y para ello, todo lo que tenemos que hacer es traer este punto en el bloque de dirección. Pero ahora mismo se puede ver que está intentando a 0.90 grados, que está a la derecha Pero si hacemos clic en esto, fíjate que trae a colación esta práctica cosa pequeña flecha. Para nuestro código, queremos que la pelota suba para que podamos enfrentar la flecha hacia arriba, que es cero grados. Ahora bien, si jugamos nuestro código, verás que cuando toquemos la pelota, rebota. Perfecto. Aunque como puedes ver, simplemente sube y baja arriba y abajo, lo que lo está convirtiendo en un juego muy fácil. Pero en la siguiente lección, veremos cómo podemos hacer que este juego sea un poco más desafiante y mucho más divertido con la aleatoriedad. 16. Abrazar la aleatoriedad: eleva el desafío del juego: Bien. En este momento, decir que nuestro juego es fácil probablemente sea más allá de quedarse corto Como que simplemente te sientas ahí y esperas la pelota. Pero eso se detiene aquí. Es hora de hacer de este juego mucho más desafiante y divertido abrazando la aleatoriedad Mirando nuestro código para la dirección de nuestro punto, y se puede ver que simplemente apunta hacia arriba, así que se espera este comportamiento ya que eso es lo que le estamos diciendo a la pelota que haga. Pero lo que realmente queremos es que la pelota no solo apunte hacia arriba cada vez, sino que queríamos apuntar solo un poco a lado. Entonces, ¿cómo podríamos hacer esto? Bueno, recuerda como dije, este código es como lego donde diferentes piezas pueden caber dentro y entre sí. Bueno, si miras, notarás que esta zona tiene este círculo o esta forma de tipo ovalado. Ahora mirando a través de nuestro código, verás que mucho código es una forma. Por ejemplo, si tomamos este bloque de exposición, veremos cómo podemos ponerlo dentro este bloque de dirección de punto porque es la misma forma Haver notarás que si jugamos el juego ahora, la pelota no hace lo que queremos Claramente este no es el bloque que estamos buscando. Pero para darle una pista, el bloque que necesitamos en realidad se encuentra bajo el grupo de operadores. Ahora, recuerden lo que dijimos al inicio, por bloques de código que se ocupan de las matemáticas, que ahora son importantes para nosotros usar. Por qué no darle una oportunidad. Intenta ver si puedes encontrar el bloque de código que usaremos para que nuestra pelota rebote correctamente Solo haz una pausa y pruébalo. ¿Lo encontraste? Bueno, vamos a echar un vistazo. Básicamente queremos que la pelota rebote hacia arriba y también mordió a la derecha o a la izquierda. Si miras este código, verás que existe este bloque aleatorio de selección. Aquí, podemos simplemente poner este bloque en la dirección del punto. Jugando rápidamente, se puede ver que hace lo que queremos, pero no exactamente. Es más simplemente a la deriva hacia un lado. Eso es porque necesitamos cambiar estos números. Eliminando esto nuevamente, ¿podemos dar click en nuestra dirección de punto para hacernos una idea de qué números debería ser? Moviendo esta flecha. Yo diría que -45 y 45 o una dirección bastante buena. Vamos a introducir eso en nuestro pick random. De nuevo, ponlo de nuevo en nuestro código. Volviendo a hacer clic en reproducir. Ahí lo tienes. Eso es mucho mejor. El juego finalmente está llegando a alguna parte y es mucho más desafiante. Sí. ¿Quién dijo que las matemáticas no son divertidas? 17. Programación de precisión: perfeccionamiento del encabezado: Un juego realmente está llegando. Pero este es un juego de cabecera después de todo. Si juegas el juego, puedes ver que no solo tienes que golpear la pelota con la cabeza. Puedes usar cualquier parte de tu cuerpo y golpear la pelota con la cabeza no parece ser el elemento principal del juego. ¿Cómo podemos arreglar esto para que solo cuando la pelota nos golpee en la cabeza, empiece a rebotar? Mira nuestro código. Esto es de esperar. Todo lo que en realidad está haciendo es detectar que la pelota está tocando sido, que es todo el personaje. No tenemos ningún código para lidiar con esto porque no es como si tuviéramos código que diga si le está tocando la cabeza, haga algo. Pero eso está bien porque somos programadores, y resolvemos problemas ¿Qué podríamos hacer? Bueno, tal vez podríamos escribir algún código consumado que verifique la posición y de la pelota y compare con la posición y de la cabeza de Ben, y así sucesivamente y tal vez eventualmente podríamos resolver el problema así. Pero van a tomar mucho código y programación. Pero también se trata de pensar fuera de la caja para encontrar soluciones simples a problemas complejos. Todo lo que queremos que haga nuestro código es verificar si estamos tocando la cabeza de Ben. Pausa el video y piensa por un momento. ¿Qué cosa inteligente podríamos hacer para resolver este problema? Queremos que la pelota sólo rebote en la cabeza de Ben. Pausa y piensa. ¿Se te ocurrió alguna buena idea? Bueno, aquí hay una forma espantosa pero inteligente de hacerlo. ¿Qué tal esto? Le cortamos la cabeza a Ben. Bien, aguanta. Sueno como una locura. Pero escúchame. Si podemos tener un sprite separado para la cabeza de Ben, podemos comprobar fácilmente si la pelota solo está tocando la cabeza Pero claro, también necesitaremos el cuerpo de Ben, para que podamos tener eso también como un sprite separado Pero antes de que le corte el cuerpo de la cabeza a Ben, voy a mostrarte otro truco. De hecho, podemos duplicar un sprite completo solo hacer clic derecho y presionar duplicar Aquí puedes ahora hemos sido dos. Ahora con eso hecho, podemos ir a nuestro estado original, ir a disfraces, aquí puedes ver que en realidad podemos hacer muchos ajustes a nuestro personaje. Pero todo lo que tenemos que hacer es quitar el cuerpo. Podemos arrastrar y seleccionar todo esto y golpear retroceso. Ahí vas. Ben es ahora un flotando. No obstante, debido a que antes lo duplicamos, ni siquiera nos dimos cuenta de esto. Y si volvemos a jugar el juego, mira cómo funciona a la perfección, y aunque la pelota toque el cuerpo, no cuenta. Sin embargo, lo único que diré es que nuestro sprite bend two funciona perfectamente es un poco involuntario ya que no lo hemos programado en absoluto En la programación, causamos un feliz accidente. Pero la razón por la que funciona es porque los controles son exactamente los mismos. Yo sólo le sigo. A pesar de que esto funciona, lo cual es genial, todavía necesitamos cambiar este código porque el problema que tenemos es que si alguna vez cambiamos nuestro código original y Ben, por ejemplo, cambiando el xp dos siete y menos siete, puedes ver ahora las cosas empiezan a ponerse un poco extrañas ya que Ben tiene doble cabeza En lugar de este código aquí, podemos deshacernos de él y reemplazarlo con solo un go to block. Y ahora podemos seleccionar a Ben. Ahora bien, si aplicamos nuestro código una vez más, notarás que funciona no hay problema, y esto es lo que llamamos código robusto ya que es capaz de adaptarse a sus circunstancias. Entonces aprendemos algunas lecciones importantes en esta lección. Piensa creativamente, pero también asegúrate codificar de una manera resiliente que funcione incluso si las cosas cambian Con el tiempo, aprenderás a hacer esto cada vez más. 18. Fin del juego: introducción de las consecuencias de los encabezamientos perdidos: Bueno, un juego se está uniendo bastante bien. Pero creo que aquí se puede ver el problema claro , ¿cuál es así de bien? Si nos perdemos el encabezado, simplemente sigue adelante, y esto hace que la jugabilidad sea bastante fácil. Simplemente no hay ningún reto real. En esta lección, estaremos viendo cómo podemos terminar nuestro juego cuando nos perdamos el encabezado. Si te mueves al grupo de control, posible que hayas notado un bloque especial por aquí con la palabra parar todo creo que no se requiere explicación de lo que hace esto, como estoy seguro que puedes adivinar, este bloque se detiene todo. Por ejemplo, si juego este guión, y luego hago clic en este bloque, observe cómo el juego llega a un holt El bloque está claramente haciendo su trabajo. Se está deteniendo todos los scripts en todos los sprites. Pero igual que los otros bloques, podemos cambiar lo que hace haciendo clic aquí. En lugar de detenerlo todo, podríamos simplemente detener este guión. Básicamente, sea cual sea el script en el que pongamos este bloque, detendrá ese script cuando el script llegue a este bloque de código. Alternativamente, también podemos detener otros scripts en el sprite, y como dice el nombre, todos los demás scripts en el sprite excepto este, se detendrán Hay otro aspecto importante que quiero que mires. Pero básicamente, fíjate como en estos momentos, esto es como un bloque de código normal. Sin embargo, si lo cambio para detener este script o todo, vea cómo cambia el bloque de código, y no hay sangría en la parte inferior Básicamente, esto significa que no puede haber código bajo este bloque. Verás si lo intentamos. Simplemente no conecta. Si lo piensas, tiene mucho sentido porque si detenemos todo o detenemos este script, el código debajo de él nunca se ejecutaría en ningún lado. No tiene sentido poder agregar ningún código debajo de él. Bueno, ahora que entiendes cómo funciona el stop block, te voy a dar un reto bastante complicado. Creo que estás a la altura. Quiero que en un momento detengas el video y veas si puedes conseguir que el juego se detenga cuando la pelota toque el suelo. Ahora, recuerden, esto va a requerir mucho pensamiento lógico o pensar fuera de pensamiento lógico o pensar la caja, pero darle una oportunidad. ¿Puedes conseguir que el juego se detenga para parar cuando la pelota toque el suelo Pausa, piensa y prueba. Bueno, si realmente lograste que esto funcionara, eso es increíble. Pero aunque no lo hicieras, eso también es genial porque aquí es donde ocurre el aprendizaje al tratar de resolver las cosas. Aquí es donde realmente te diviertes mucho. Veamos cómo se podría hacer. Veamos dos formas diferentes en las que podemos lograr que esto se haga. primero es lo primero, vamos a necesitar uno de nuestros empezamos para siempre, y si packs combo. Simplemente duplicaré este y simplemente me desharé del código que hay dentro. Entonces lo volveré a duplicar porque estamos cubriendo dos métodos. Ahora bien, el primer método en el que vamos a pensar un poco está bastante listo para usar. No sé si se te ocurrió esto, pero si lo hiciste, eso es genial. Vamos a bajar al grupo de detección. Mira esta opción tocando el color. Eso es genial. Podemos comprobar si nuestro sprite está tocando un color específico. Interesante. El único problema es qué color verificamos porque el fondo es más o menos del mismo color. Bueno, cambiemos eso. Pinchando sobre nuestro telón de fondo y luego yendo a este editor. Observa cómo hay un montón de herramientas que puedes usar para personalizarlo. Pero todo lo que necesitamos es un color específico en la parte inferior. Para ello, sólo puedo usar esta herramienta. Elige un color único y dibuja una línea en la parte inferior. Entonces lo tienes. Ahora puedo cambiar el toque a este color usando el seleccionador de color Por último, agregue en mi stop all. Ahora cuando jugamos el juego, y luego cuando echamos de menos, nuestro juego se detiene. Es genial. Eso funciona. Esa fue una forma creativa de resolver este problema. Pero antes de seguir adelante, voy a mostrarte otro método, pero será rápido. Como puedes ver aquí, ya he ensamblado el guión, y si jugamos el juego, verás que funciona igual y ni siquiera necesita el toque y el color. Al mirar el guión, se puede ver que comprueba si la posición y de la pelota es menor que menos uno 50, lo que básicamente significa que está tocando el suelo, si lo es, bueno, se detiene. A fácil. Ambos métodos funcionarían, y a veces necesitamos formas creativas de hacer las cosas. Pero si pensamos aún más, podríamos encontrar una manera que sea aún más fácil, siempre seguir pensando. Eso es básicamente todo. Tu juego está listo para jugar. En las próximas lecciones, lo estaremos haciendo mucho más divertido con puntuación y niveles. Pero por ahora, solo aprecia lo lejos que has llegado este juego que has construido, juégalo un poco y diviértete un poco. 19. Llevar la cuenta: introducción de variables y lógica de juego: Creo que todos podemos estar de acuerdo en que a este juego le falta algo bastante crucial. Algo fundamental y absolutamente necesario para todos los partidos, y eso es puntuación porque ¿cómo vas a flexionar a tus amigos cuando ni siquiera puedes mostrarles una puntuación alta? Al poner en una función de puntuación, estarás aprendiendo uno de los conceptos de programación más fundamentales y estarás usando un bloque de código que aún no hemos tocado, y eso son variables. Entonces, ¿estás listo para continuar con tu aventura de aprendizaje? Mirando nuestro juego, lo que queremos es una pequeña puntuación en la parte superior que indique cuántas veces hemos encabezado el balón, y queremos que el marcador se reajuste si fallamos. Pasando al grupo de código de variables, se puede ver que en realidad no hay tantos bloques de código aquí. Y para los bloques de código que se consideran tan importantes, podrías estar pensando que esta área debería apilarse. Bueno, a diferencia de todos los demás grupos de bloques de código que hemos visto, con variables, en realidad puedes hacer más bloques de código haciendo clic en este botón de aquí, que veremos en un minuto. Pero antes de hacer esto, solo quiero que entiendas qué son las variables. Ahora, en la programación, muchas veces necesitamos almacenar información para que podamos usarla más adelante y también necesitamos una forma de obtener esta información fácilmente. Aquí es donde entran las variables. Las variables son como contenedores que contienen información, y por eso llamaron variables. Básicamente significa que el contenedor puede contener varios tipos de información. Podemos dar nombres de variables para que podamos acceder fácilmente a ellas y poner información en ellas y usar la información donde la necesitemos. Piense en variables como cajas en las que podamos almacenar cosas. Al igual que podrías tener una caja para guardar tus juegos, una caja para guardar tus libros, una caja para guardar tus calcetines viejos o lo que sea. Las variables son más o menos las mismas. Pero en lugar de almacenar objetos físicos como libros y juegos y apestosos calcetines viejos, las variables almacenan datos como números y texto. Imagínelo así. Tenemos una puntuación de núcleo variable. Y dentro de esta variable, estamos almacenando el valor cero. Pero cuando nuestra jugada se adelanta, retrocedemos, miramos dentro de nuestro cuadro variable anotado score para descubrir qué valor hay actualmente dentro de la variable. En este caso, cuando miramos dentro de él, cero. Ahora que hemos mirado dentro la caja y hemos descubierto que es cero, simplemente podemos agregar uno, lo que nos da uno y guardarlo de nuevo en la caja. Entonces podemos mostrar nuestra variable y la puntuación de una se muestra en la pantalla. Cuando lleguemos a otro encabezado. ¿Qué hace el programa ? Regresaré, miraré dentro del cuadro de partitura, y esta vez verá que tiene un número uno guardado ahí dentro. Simplemente podemos agregar uno a esto, que ahora nos da dos, almacenar eso de nuevo dentro de nuestra variable, y mostrarlo en la pantalla. Obviamente, sigue y sigue. Pero básicamente, quiero que entiendas cómo las variables son solo cajas de almacenamiento digital con nombres. Estas variables nombradas pueden almacenar cualquier número de texto a números, et, y podemos verificar fácilmente qué valores tienen nuestras variables. Y podemos usar nuestras variables de varias maneras como mantener nuestra puntuación para nuestro juego o incluso de una manera invisible detrás de escena como aumentar la dificultad del juego como veremos más adelante. Entonces ahora que entiendes la idea básica de las variables, echemos un vistazo a estos bloques y veamos cómo se relacionan con lo que dijimos. En primer lugar, recuerda cómo dije el grupo de variables, te permiten crear nuevos bloques. Bueno, para hacer eso, sólo tenemos que dar click sobre este botón, y esto hace una nueva variable. Entonces básicamente una nueva caja para almacenar nuestra información digital. Como puede ver, nos pregunta cómo queremos llamar a la variable. Debido a que esto va a contener nuestra información de puntaje, lo llamaremos puntaje. Entonces justo debajo de esto, vea cómo nos da una decisión. Es esta variable para todos los sprites, o es solo para este sprite Ahora, básicamente lo que esto significa es que todos los demás sprites pueden ver y modificar nuestra variable de puntuación o solo este sprite puede acceder a ella En programación, esto es lo que llamamos alcance. Eso es como una palabra elegante para qué parte del código puede ver o modificar variables? Si todos los sprites pueden ver y modificar la variable, eso se llama un alcance global Mientras que el sprite solo puede ver y modificar, esa es una variable de alcance local Elegiremos el sprite solo ya que nuestro sprite no necesita tener acceso a nuestra variable de puntaje, y todas las modificaciones pueden ocurrir dentro del Y haciendo clic en Bien, aquí puedes ver nuestra nueva variable de puntuación apareciendo aquí. Mira cómo puedes incluso verlo en la pantalla, que en este caso funciona perfectamente para nosotros. Entonces ahora que tenemos nuestra variable, voy a arrastrar cada uno de estos bloques para que veas lo que hacen. En primer lugar, hemos establecido la variable en un número. Y si cambias este número y lo haces clic, bueno, no pasa nada. Y eso es sólo porque no hemos seleccionado nuestra variable de puntuación. Al hacerlo, ahora verá que nuestra puntuación está establecida en tres como se refleja en la pantalla. Entonces a este bloque de aquí no le importa cuál era nuestra variable. Simplemente lo establece en el valor que quieras, y esto podría incluso ser una palabra como alta. Pero queremos mantenerlo como número, así que volvamos a ponerlo a cero. Bajando a nuestra siguiente variable, esta es para cambiar el valor. Entonces, si tuviéramos que poner uno aquí y luego hacer clic, puntuación de CR aumenta en uno. Y básicamente, lo que está haciendo este bloque es lo que expliqué antes. Cuando hago clic en él, mira qué valor se almacena en nuestra variable de puntaje, que en este caso es dos, y luego mira por qué valor necesita cambiarse, cuál es uno, toma dos como uno, y has hecho las matemáticas en tu cabeza. Muy bien. Y conseguimos una puntuación de tres. Por último, mirando hacia abajo, tenemos estos dos bloques, que son bastante simples. Podemos mostrar una variable en nuestro escenario o podemos ocultarla. Bueno, eso es todo lo que hay para ello. Con eso, ahora entiendes los fundamentos de las variables en la programación, que es un concepto súper importante Quiero que lo pruebes ahora y veas si puedes implementar la variable score en tu código, y en la siguiente lección, te mostraré cómo lo hicimos. 20. Ajuste del sistema de puntuación: Bueno, ¿cómo te fue? Es posible que te hayas topado con algunos problemas, pero un problema es solo un escalón en tu aprendizaje que conduce al crecimiento. Sí, es bastante profundo, ¿no? Pero eso es lo que es. De todas formas, vamos a llegar a. Entonces queremos cambiar el puntaje por uno. Cada vez que nuestro tipo recibe un cabezazo. Y nuestro tipo está recibiendo una cabeza cuando está tocando la pelota. Entonces, si miras el guión aquí, básicamente es hacer eso. Está sintiendo si estamos tocando a Ben. Así que funciona perfectamente para nuestro cambio de variable, y ni siquiera necesitamos crear un nuevo script. Entonces hagámoslo. Si el balón toca B, queremos cambiar nuestro puntaje variable por uno y cambiar la dirección del balón. Echemos un vistazo a esto. Al hacer clic en reproducir. Verás cuando salgamos adelante, funciona. Pero justo antes de celebrar demasiado, mira eso si tocamos la pelota desde un lado. Obtenemos todo un montón de puntos. Y esa es una forma de hacer trampa en nuestro juego. Eso es un poco pirateo. Así que definitivamente tenemos que arreglarlo. Y además, fíjate que cuando reiniciamos el juego, nuestro puntaje se queda en el mismo número. Entonces, en primer lugar, podemos arreglar nuestra puntuación no reiniciándose, simplemente agregando este bloque de variables conjunto al inicio de nuestro script Y de esta manera, cada vez que iniciamos nuestro juego, nuestro puntaje se restablece a cero. Nuestro siguiente problema necesita una solución más inteligente porque si miras este código, si Ben está tocando la pelota, cambia la variable por una, y sigue haciendo esto hasta que no está tocando la pelota. Aunque sólo estemos tocando por un segundo, el marcador aumentará un montón de veces en ese segundo. Para arreglar esto, agregue un peso 1 segundo justo al final del código, y ni siquiera necesitamos ser tan largos, cambiémoslo tal vez a medio segundo. Ahora bien, si nos fijamos en el guión, establecemos nuestra puntuación en cero. Entonces si tocamos a Ben, cambiamos la dirección, cambiamos nuestra puntuación, entonces esperamos 1 segundo, lo que significa que nuestros jugadores ya no pueden hacer trampa. Con eso, tu anotación está hecha, una rápida. Si haces doble clic en la variable, puedes hacerla grande así. Además, puedes moverlo y ponerlo en cualquier lugar de tu pantalla. Ahora, diviértete un poco con este juego y pruébalo y ¿ves qué tan alto puedes llegar? ¿Cuál es tu puntuación más alta? Diviértete porque estás ocupado creando un juego absolutamente increíble. 21. Suavización de los bordes: depuración del flujo de juego: En esta lección, vamos a hacer algo muy emocionante que lo muy emocionante es depurar Quizá no. A lo mejor la depuración no es una parte tan emocionante de la programación porque está tratando de resolver algo que no está funcionando Pero dicho eso, no hay nada más satisfactorio que arreglar un problema en tu código que realmente te está molestando. Te acostumbrarás. Y los dos problemas que estamos abordando ambos tienen que ver con el balón. Ahora bien, aunque técnicamente hablando, esto es en realidad un error, son solo características que no hemos implementado por completo. Pero primero, cuando empezamos nuestro juego, nuestra pelota no empieza en el medio. En cambio, simplemente comienza donde lo dejó. En segundo lugar, simplemente se mueve en cualquier dirección en la que iba anteriormente. Esto literalmente hace que sea imposible cuando comienza el juego y nuestra bola dirige directamente al suelo. ¿Cómo resolvemos este problema? No me mires. Tú eres el programador. Usa tus habilidades de programación y habilidades de codificación y habilidades de resolución de problemas para hacer que la pelota comience en el medio y también haga que la pelota comience automáticamente a subir cuando comience el juego. ¿Puedes hacer eso? Voy a estar esperando. Pausa el video y pruébalo. Entonces, ¿cómo te fue? Bueno, veamos como pudiste haber hecho esto. Lo primero es lo primero. Para asegurarnos de que nuestra bola comience en el medio, podemos hacer esto fácilmente, que solo tiene que ir al movimiento, traer esto ir a bloquear, cambiarlo a cero x, y digamos 60 y, para luego agregarlo al inicio de cualquiera de nuestros guiones dentro del sprite de bola Ahora, cuando empecemos, verás que nuestra pelota comienza en el centro. Genial. Estamos llegando a alguna parte. El siguiente problema, sin embargo, es que a veces nuestra pelota va directamente hacia abajo, lo que no es un choque de tren, sino por el bien de la consistencia, asegurémonos de que nuestra pelota comience con un movimiento ascendente. Y nuevamente, la solución para esto no es demasiado compleja. Todo tiene que ver con qué dirección está apuntando nuestra pelota. Entonces así como como establecemos la posición del balón desde el inicio, también podemos establecer la dirección en la que apunta. Así que arrastrando en este bloque, podemos establecer la dirección a cero grados y luego también llevarlo al inicio de nuestro guión Ahora, cada vez que hagamos clic en iniciar, notarás que el juego es consistente con la posición y dirección del balón. Y con esto tu juego es muy jugable. Pero agárrate los sombreros porque en la siguiente lección, llevaremos el juego simple al siguiente nivel con dificultad de nivel, animaciones, y más. 22. Subida de nivel: introducción de la dificultad dinámica: Ahora bien, el juego es bastante divertido. No hay duda de eso. Pero no podemos encendernos y decir que es muy desafiante porque en realidad no es tan complicado. Ahora la pelota prácticamente solo se mantiene a una velocidad constante y la dificultad del juego es siempre la misma. ¿Dónde está la diversión en eso? Veamos cómo podemos agregar un poco de desafío a nuestro juego haciendo niveles de dificultad creciente. Ahora, esencialmente, lo que queremos que suceda es que nuestro ánima aumente continuamente en velocidad a medida que aumenta nuestra puntuación. Ahora bien, aquí es donde comenzarás a ver el verdadero poder de las variables ya que las vamos a usar para cambiar toda la dinámica de nuestro juego y nuestro código. Si echas un vistazo a lo que en realidad está dictando la velocidad de nuestra pelota, verás que es solo este movimiento bloque de diez pasos Entonces si aumentamos el número para decir 15 y luego pulsamos play nuevamente. Ahora, justo ahora cómo va mucho más rápido la pelota. Lo que esto significa es aumentar la dificultad de un juego, necesitamos aumentar el número aquí. Obviamente, no queremos sentarnos aquí y hacerlo manualmente, consigamos que las variables hagan el trabajo por nosotros. Volviendo a nuestras variables, vamos a crear una nueva. Esta vez, lo llamamos velocidad de bola. Nuevamente, podemos hacer de esta una variable local haciendo clic aquí. Ahora, como puedes ver, nuestra nueva variable aparece justo en nuestra pantalla. Pero a diferencia de score, nuestro plato en realidad no necesita ver este número, pero podemos dejarlo aquí por ahora mientras editamos el código para asegurarnos de que está haciendo lo correcto. Entonces ahora que tenemos nuestra variable de velocidad de bola, verás que podemos actuar arrastrando este bloque aquí y hacia nuestra área de scripting Como debes notar, este bloque tiene la misma forma que este de aquí, así que simplemente podemos arrastrar nuestra variable a nuestro bloque de pasos de movimiento. Desafortunadamente, también te das cuenta de que bueno, el juego realmente no hace nada y lo que no debería. Porque si miras el código, estamos moviendo los pasos de velocidad de la bola, y la variable de velocidad de la bola es cero, así que estamos moviendo pasos cero. Una solución rápida a esto es establecer la velocidad de la pelota a diez cuando comienza el juego, que es la misma velocidad que lo era. Una vez más, al hacer clic en jugar, verás que el juego está de vuelta en buen estado de funcionamiento. Pero ahora sólo estamos de vuelta al punto de partida. No obstante, ahora, queremos que nuestro juego aumente en dificultad a medida que jugamos. En esta etapa, si miras hacia abajo tu teclado, verás una barra larga llamada barra espaciadora. Si haces click en esto, lo que haremos es pausar este video. Pero antes de hacer eso, esto le dará la oportunidad de averiguar cómo agregar esta función por su cuenta y desarrollar sus habilidades para resolver problemas. Haz clic en la barra espaciadora para pausar este video y tratar de ver si puedes resolver este problema. Sugeriré crear un nuevo guión. Pero voy a estar esperando al otro lado de esta pausa y a ver si puedes conseguir que esto funcione ahora. ¿Lo averiguaste? Como mencioné, a menudo hay un montón de formas en las que podemos implementar nuevas funciones, pero la solución más simple suele ser la mejor solución. Vamos a crear un nuevo guión que controle la dificultad de nuestro juego. Como siempre, aquí necesitamos este bloque. Entonces necesitamos este cambio variable por bloque aquí y asegurarnos de que sea la velocidad de la bola seleccionada. Ahora necesitamos una manera de que esto se incremente continuamente. Simplemente, podemos hacer esto agarrando un bucle para siempre o uno repetido, y cualquiera de ellos nos permitirá refrescar constantemente la dificultad del juego En nuestro caso, voy a usar un bloque repetido porque no queremos que el juego simplemente siga poniéndose cada vez más difícil hasta un punto de imposibilidad Entonces pongamos este bloque en este, y estoy seguro que puedes adivinar qué pasará cuando empecemos el juego. Sí. Nuestras tablas simplemente van directamente a la velocidad. Bueno, por suerte, hay una solución fácil es arrastrar en este bloque de peso, y luego pongámoslo a 5 segundos. Ahora cuando volvamos a jugar, puedes ver que es nuestro juego. Poco a poco, pero seguramente empieza a ganar en dificultad a medida que pasa el tiempo. tiempo llega al punto en que se vuelve casi imposible. El guión puede necesitar un poco de ajuste, pero te dejaremos para que lo hagas Lo que también podemos hacer ahora que nuestra variable de dificultad aquí se ha agregado correctamente a nuestro juego es que podemos ocultarla de nuestra pantalla simplemente desmarcando esta casilla A no hay necesidad real de que los jugadores lo vean. Bueno, eso es todo por ahora. Hemos completado la etapa dos y desarrollamos la mecánica de juego. Ahora a la última etapa, que es la etapa divertida donde pulimos nuestro juego y agregamos algunos gráficos de aspecto agradable y algo de sonido e incluso animación. 23. Toques finales: pulirá tu juego de cabeza de fútbol: Entonces estamos en la etapa tres, que está puliendo el juego, y aquí es donde nos aseguramos de que todo se vea bien agregando animaciones y sonido musical y etcétera Pero como dije, esta es una etapa bastante emocionante. A medida que llegas a ver tu juego realmente cobra vida. Ahora bien, esta etapa puede llevar poco tiempo o puede ser mucho tiempo. Todo depende de lo agradable que quieras que se vea tu juego y de lo mucho que quieras jugar. Pero ciertamente es cierto que tener buenos gráficos y sonido puede ayudar mucho a mejorar realmente tu juego. Por lo que es importante asegurarse de darle al escenario algo de vida real. Bien, vamos a ponernos en marcha. Al mirar este juego, lo primero que no me gusta es el tamaño de la pelota. Hagámoslo más pequeño. Vamos a establecer su tamaño en 80%. Eso se ve mejor. Ahora bien, lo segundo que necesita mejorar es cómo nuestro portaaviones principal al igual flota a izquierda y derecha mientras en realidad debería estar moviendo las piernas Ahora bien, aquí es donde realmente obtendremos una mejor comprensión de los disfraces. Al hacer clic en nuestra curva a sprite, que tiene las piernas, quiero que parezca que sus piernas se están moviendo Podemos pinchar en disfraces. Aquí, lo primero que tenemos que hacer es deshacernos de estos otros disfraces ya que no los necesitamos, y solo van a estropear la animación. Ahora, si haces clic en nuestro primer disfraz, verás que puedes duplicarlo. Ahora tenemos dos de ellos, y aquí es donde comienza el divertido mundo de la animación. Al hacer clic en la herramienta de selección. Simplemente podemos seleccionar solo las piernas, abajo aquí, se puede ver que somos capaces de rotar las piernas. Porque queremos que parezca que está funcionando, tendremos un turno a la izquierda y luego a la derecha. Ahora por la parte tediosa, rotarla un poco más hacia la izquierda y centrarla Ahora, duplica el sprite. Seleccione nuevamente las patas, gírelas, envíelas y enjuáguelas y repita. Y cuando lleguemos a cerca de este ángulo, vamos a empezar a desplazar las piernas hacia la derecha, nuevo, enjuagar y repetir. Ahora, cuando las piernas lleguen al extremo derecho, muévala hacia atrás una vez más. De esta manera, tenemos una animación sin fisuras. Ahora, aunque ahora tenemos la animación especial, todavía necesitamos el código para que funcione. Volviendo a nuestra pestaña podríamos comenzar a escribir el código, o podríamos ser inteligentes y darnos cuenta de que el código de nuestro ben original también es perfecto para bend. Simplemente arrástrelo y luego retire todos estos bloques innecesarios. Todo lo que tenemos que hacer ahora es poner la siguiente columna en cada una de estas comprobaciones condicionales. decir, si hacemos clic Es decir, si hacemos clic a la izquierda o a la derecha, cambiará el disfraz. Si jugamos el juego ahora, fíjate en lo mucho mejor que es esto, cuánto más realista se ve. Te muestra el poder de la animación, aunque quisieras, podríamos haber hecho que el cuerpo incluso rotara un poco. Puedes darle una oportunidad si quieres. Pero a lo siguiente, que es la pelota. Y aquí, hay algunas mejoras que quiero hacer. En primer lugar, quiero que reproduzca un sonido de rebote cuando Ben golpea la pelota y un silbato de árbitro cuando golpea el suelo Pasando a nuestro grupo de sonido, podemos elegir el sonido de inicio. Además, como nota al margen, la diferencia entre estos dos es que este reproducirá el sonido hasta que termine antes de pasar al siguiente bloque de código, como un bloque de peso mientras este no interferirá. Este funciona mejor en nuestro caso ya que queremos asegurarnos de que no interfiera con nuestro código mientras se reproduce el sonido. Dicho esto, si nuestra pelota toca a Ben, queríamos tocar el sonido, así podemos agregarlo aquí. A continuación, para el sonido del árbitro, verás que no lo tenemos en el sprite, así que necesitamos agregarlo Entra en la pestaña de sonido, solo podemos hacer clic en este botón aquí y solo buscar y aquí está. Ahora con él agregado a nuestro sprite, puedes ver que ahora podemos seleccionarlo en nuestro código Nuevamente, lógicamente, esto debería sonar cuando nuestro juego termine, así podemos agregarlo aquí mismo antes de la parada Aunque cuando jugamos el juego, podrías estar un poco decepcionado porque aunque nuestro sonido encuadernado con pelota funciona, el silbato no lo hace Bueno, como acabo de decir, el bloque de sonido se reproducirá hasta que esté hecho mientras este bloque de sonido reproducirá y ejecutará el siguiente código. Entonces con la parada es el siguiente bloque, el sonido no se reproduciría por completo. Cambiemos esto por el otro bloque. Lo tienes. Eso funciona. Ahora, con ambos lados añadidos, lo último que quiero hacer por la pelota es que parezca que está girando en el aire en lugar de simplemente permanecer estática como lo es. Y para ello, tenemos que volver a los disfraces. Pero esta vez para el balón. Ahora apuesto a que puedes resolver esto. Una pausas el video, acabas de ver lo que ya hemos hecho, pausas el video y ves si puedes hacer que la pelota parezca que está girando. Derecha. Déjame mostrarte cómo podrías hacerlo. Si aún no lo has averiguado cual apuesto a que lo haces. Como puedes ver, aquí solo tenemos un disfraz, así que necesitamos hacer la animación nosotros mismos. Aquí, al igual que con nuestras piernas, vamos a necesitar duplicarlo. Después selecciónelo, gírelo un poco, luego seleccione, duplique, rote un poco. Seguro que puedes ver a dónde va esto. Pero básicamente, necesitamos seguir rotando hasta que nuestra pelota vuelva a la posición en la que la inició. A través del poder de la edición, voy a adelantar este proceso. Pero desafortunadamente para ti, este no es un proceso de avance tan rápido, pero no debería tomar demasiado tiempo para que sigas haciendo esto. Bueno, ahí lo tienes. Como puedes ver, tenemos todos estos disfraces que se unen para formar un bucle perfecto. Si volvemos a nuestro código, podemos implementar esto fácilmente, pegando el siguiente disfraz en nuestro bucle forever, y cuando jugamos, mira lo mucho más realista que se ve esto. Ahora estamos en nuestro último toque. Para ello, podemos pasar a nuestro telón de fondo aquí para que el juego realmente se sienta más vivo. Lo que quiero hacer es animar el fondo al tener luces intermitentes en el estadio Ya conoces el simulacro, vayamos a nuestro telón de fondo. Podemos eliminar esta. Ahora esta vez, primero voy a duplicar el original tres veces, así que tenemos cuatro telones de fondo en total Para el efecto de luz intermitente, en realidad es bastante fácil. Todo lo que tenemos que hacer es seleccionar esta herramienta, que nos permite crear círculos. Después colorea el círculo de blanco haciendo clic aquí y arrastrando el control deslizante Ahora como pueden ver, ahora somos capaces de dibujar estos círculos blancos. Entonces lo que voy a hacer es cubrir algunos de estos círculos con blanco para que parezcan luces intermitentes. Un consejo rápido, puedes acercar con solo hacer clic aquí y también puedes cambiar el tamaño y reposicionar tu círculo Bien. Entonces ahora voy a repasar cada uno de estos disfraces y cubrir algunos círculos justo al azar. Bien, hecho. Al igual que antes, podemos usar un disfraz o telón de fondo para siempre y próximo en este caso. Eso definitivamente es un poco mucho para que sea menos loco. Vamos a traer un, ya lo adivinaste, nuestro bloque de peso. Ahora solo podemos hacer algo pequeño como 0.1 segundos. Eso es mucho mejor. Ahora para el toque final, algo de música de juego. Para esto, solo podemos entrar en la pestaña de sonido, agregar un nuevo sonido, y aquí puedes elegir lo que quieras, pero asegúrate de que sea nuestro loop. Para este juego, funciona el videojuego dos sonidos . Volviendo al código. Podemos duplicar el guión porque no queremos una declaración blanca aquí y solo agregamos el sonido y cambiarlo a videojuego también. Y eso, amigos míos, es todo. Nuestro juego está hecho. Está pulida. Es donde queremos que esté en esta etapa. Seguro que lo puedes llevar aún más lejos. Pero por ahora, solo aprecie dónde está y la cantidad de detalles sutiles y animaciones que llevaron esto a donde está. Gran trabajo. Disfruta tu juego, y aún más el hecho de que eres un codificador 24. Preparación: creación de una aventura de tráfico sin fin: Ahora mismo, realmente has desarrollado muchas habilidades de programación. Estoy encantada de ver el progreso que has logrado. Ahora vamos a embarcarnos en una nueva aventura ya que programación suele ser una aventura de giros y vueltas, perderse, y luego encontrar una manera Es muy parecido a navegar por un bosque denso. Pero eventualmente, encuentras un camino hacia el claro donde te espera la belleza de tu creación. Dicho esto, para nuestra próxima aventura de programación, realmente estaremos subiendo de nivel tus habilidades creando un juego mucho más complejo y dinámico. Este juego es un juego de corredor de tráfico sin fin en el que eres un auto y vas a exceso de velocidad por una carretera. Este juego desafiará tus habilidades de programación, pero también será muy divertido. Entonces, antes de sumergirnos en importar sprites y diseñar el juego, primero demos un paso atrás y entendamos el panorama general hora de construir un juego, como he dicho, es crucial descomponer el proyecto en pasos más pequeños alcanzables, y esto se vuelve aún más importante, más complejo se vuelve un proyecto Dicho esto, en nuestro juego de correr de fin de tráfico, estaremos construyendo los siguientes componentes. El auto jugador, los árboles a cada lado de la carretera, las líneas de la carretera, el carro de obstáculos y el telón de fondo de la carretera. Ahora echemos un vistazo a por qué necesitamos estos sprites y cómo contribuirán a nuestro juego En primer lugar, el sprite del coche del jugador será el personaje principal que controle el usuario, esquivando obstáculos y navegando por el tráfico Luego, los sprites de árbol crean un ambiente visualmente atractivo y ayudan a preparar el escenario para un juego Mientras conducimos, parecerá que estamos pasando árboles y otras plantas y rocas. Las líneas de la carretera se tratan proporcionar una sensación de movimiento o la ilusión de movimiento porque obviamente nuestro auto no puede avanzar y salir de la parte superior de la pantalla para que podamos hacer que parezca que va hacia adelante con el sprite de la carretera El sprite de carrito de obstáculos será el reto de nuestro juego Es lo que el jugador debe evitar para mantener su carrera. Por último, el telón de fondo de carretera prepara el escenario para el juego, sumergiendo al jugador en el mundo que hemos creado Ahora que tenemos un claro entendimiento de los componentes necesarios para nuestro juego, comencemos a importar nuestros actos. Ahora bien, esta será la primera vez que importamos ácidos sprites desde nuestra computadora, pero no te preocupes Es un proceso sencillo. Antes de continuar, como se mencionó anteriormente, usted tiene una opción aquí. Tienes dos tipos diferentes de ácidos para elegir. O bien, puedes descargar los ácidos crudos, que serán todas las diferentes imágenes, sonidos, música, etcétera, y seguirlos mientras te mostramos cómo importarlos y editarlos. Esto te dará algo de experiencia trabajando con los gráficos. O si solo quieres enfocarte en el lado de la codificación de las cosas, puedes descargar el activo del proyecto, que tendrá todos los sprites, música y efectos de sonido listos para funcionar Pero personalmente, sí te animo a que sigas junto con los activos brutos. Esto te dará una gran experiencia. Lo primero es lo primero, vamos a crear nuestro nuevo proyecto. Como todas las veces anteriores, solo podemos hacer clic en seleccionar este botón de crear. Si en esta etapa, desea utilizar el proyecto precargado, simplemente haga clic aquí, luego cargue desde su computadora. El paso a nuestro archivo de proyecto Runner de tráfico de inicio. Pero veamos el camino correcto ahora. En primer lugar, eliminemos el sprite catch, no necesitamos. Lo siguiente que tenemos que hacer es subir nuestro sprite antes, pasar a este botón, pero no hacer clic en él En su lugar, podemos seleccionar este botón justo en la parte superior que dice, subir sprite El primer sprite que queremos subir es nuestro sprite de coche jugador Pasando a la carpeta de activos del proyecto. Aquí verás nuestra carpeta de corredor de tráfico, y si haces clic en eso, verás que tenemos una carpeta para cada uno de nuestros sprites Seleccionando nuestros PlayersPrite. Aquí podrás elegir el auto que quieras para tu jugador Sprite Seleccionaré este de aquí y presionaré a abrir. Entonces lo tienes. Nuestro sprite jugador está ahora en nuestro proyecto y listo para funcionar Pero no paremos ahí. Subamos nuestro otro sprite. Como antes, simplemente haz clic en Subir. Esta vez, podemos seleccionar el sprite del carro de obstáculos. Aquí no importa cuál selecciones ya que usaremos todas ellas. Podemos seleccionar abierto. Antes de pasar a nuestro siguiente sprite, necesitamos subir nuestros otros sprites de obstáculos para autos Quizás estés pensando que aquí solo tendremos un montón de diferentes sprites de obstáculos, pero haremos algo un poco más inteligente que eso Pasando a los disfraces para este auto, a la derecha. Aquí podemos de nuevo, haga clic en subir. Y esta vez, podemos seleccionar todos los demás autos, simplemente pateando este auto, manteniendo presionado el turno y haciendo clic en el último auto Ahí lo tienes. Todos nuestros autos están en uno. Eso te imagina. Pasemos a nuestro siguiente sprite. De nuevo, haciendo clic en subir. Esta vez podemos seleccionar nuestro sprite de árbol y follaje. Al igual que con nuestro sprite de auto, solo podemos seleccionar el primero, luego golpear abierto Después pasando al editor de vestuario, podemos hacer clic en este botón aquí. Entonces una vez más, podemos seleccionar todos estos otros disfraces y subir y ahí vas. Ahora solo hay un sprite más. Pulsando subir y esta vez podemos seleccionar esta carretera la sprite aquí y dar clic en abrir Ese es todo nuestro sprite. ahora necesitamos subir nuestro telón de fondo. Simplemente haciendo clic en él, haciendo clic telones de fondo, y luego subir Aquí podemos elegir esta imagen de fondo aquí y dar clic en Abrir. Eso es justo sobre eso. todos nuestros sprites listos para ir. Prepárate para ello. Pero gran trabajo hasta el momento. Como tenemos todos nuestros sprites subidos, hemos completado nuestra primera etapa de desarrollo del juego También tienes una buena idea del panorama general del juego y por qué tenemos todos los sprites que tenemos 25. Sentado las bases: organiza tus activos de juego: Bien. Bueno, ahora tenemos todos nuestros sprites importados, así que tenemos todo lo que necesitamos para comenzar a desarrollar Pero antes de empezar a codificar, creo que lo mejor es que organicemos esto un poco mejor para que sepamos lo que está pasando. Porque si no se podía decir, esto es un poco desordenado. Programar y bueno, la mayoría de las otras cosas en la vida, mantenerse organizado es clave. No sé si alguna vez has cocinado en una cocina muy desordenada, pero si la tienes, sabrás la lucha Pero por suerte para ti, esto va a ser rápido ya que solo hay algunas cosas que necesitan ser arregladas. Bien. En primer lugar, mudarnos a nuestros sprites de árbol aquí, como pueden ver, esto es simplemente demasiado grande. Tal vez estés pensando, bueno, puedo simplemente cambiar el tamaño por aquí. Pero piénsalo. Si accidentalmente lo cambias de nuevo, entonces tienes que intentar recordar cómo lo tuviste, siempre es mejor hacerlo en el editor de código. Solo podemos sacar esto de dos cuadras y luego este bloque de tamaño establecido. Vamos a establecer el tamaño en 30, y luego podemos cambiar la posición. Vamos a esconder rápidamente el otro sprite para que podamos ver qué está pasando Bien. Bueno, el tamaño se ve bastante bien. Entonces para que la G bloquee, ni siquiera necesitamos adivinar. Puedo simplemente arrastrarlo a donde quiero justo en la esquina de aquí, y luego simplemente copiar estas coordenadas x y en mi ir a bloquear. Entonces, por último, podemos simplemente poner una bandera de victoria clicada en el guión Después mirando los carriles viales. No hace falta que te preocupes demasiado porque estaremos trabajando con esto en la siguiente lección, pero puedes simplemente arrastrarlo al centro por ahora. Entonces para nuestro auto de obstáculos aquí. También necesitamos hacerlo más pequeño y cambiar la posición para que podamos simplemente arrastrar de nuevo este código, y mientras estemos aquí, también podemos arrastrarlo a nuestro auto jugador. Para x, solo podemos establecerlo a cero, entonces y está bien. El tamaño puede ser un poco más grande y eso debería ser bueno por ahora. Por último, mirando nuestro auto, movamos esto al centro y cambiemos y para que sea negativo ya que queremos que nuestro auto esté en este lado de la pantalla. Eso es un poco demasiado abajo nuestro auto es un poco pequeño. Nuevamente, podemos aumentar el tamaño. Entonces saquemos y un poco. Como pueden ver, esto es un poco de juicio y todo, pero se ve bien. Bueno, ahí lo tenemos. Mira cuanto mejor se ve eso. En realidad podemos ver lo que está pasando. Ahora que estamos debidamente organizados, podemos empezar a cocinar. Bueno, en nuestro caso, podemos empezar a programar. 26. Elaboración de la ilusión de movimiento: el camino hacia el realismo: Ahora que todo está en orden, podemos pasar a la siguiente etapa, que está construyendo la mecánica del juego. Ahora, normalmente, empezaríamos con nuestro sprite de jugador principal porque después de todo, es nuestro jugador principal Sin embargo, antes de esto, hay algo aún más importante, que es nuestro camino porque hace que en realidad parezca que estamos manejando. Ahora tal vez te estés preguntando, ¿cómo hacemos que parezca que nuestro auto avanza? Bueno, aquí es donde entra en juego el arte de la ilusión. Verás, en nuestro juego, queremos darle al jugador una sensación de movimiento continuo como si estuviera conduciendo por un camino sin fin. Para lograrlo, debemos prestar mucha atención a la alineación de nuestras líneas viales y también a otros elementos visuales. Es como un truco de mago. Si lo hacemos bien, podemos crear una ilusión que se sienta real y sin fisuras para el jugador. Ahora, imagina que estás viendo un truco de magia bien ejecutado. Tus ojos están pegados a las manos de los magos ya que crean sin esfuerzo la ilusión de la realidad Eso es lo que queremos hacer con nuestro juego. Queremos que nuestros jugadores queden tan cautivados por el bucle sin fisuras que no noten el truco detrás de él Para crear esta ilusión de movimiento, utilizaremos fondos estirados y una manipulación inteligente de las posiciones x e y. La clave aquí es asegurar que nuestras líneas viales y otros elementos estén perfectamente alineados para que el bucle parezca suave y continuo. Pero, ¿por qué es tan importante la precisión, se puede preguntar? Bueno, la más mínima desalineación puede romper la ilusión, haciendo que el juego se sienta menos inmersivo y agradable Recuerda, nuestro objetivo es cautivar al jugador y hacer que se sienta como si realmente estuviera conduciendo por un camino interminable Esta parte podría llegar a ser bastante complicada. Si encuentras el desafío de la etapa dos, recuerdas, siempre puedes descargar el ácido del proyecto completo con los sprites completados Sin embargo, esta etapa definitivamente aumentará tu habilidad en el diseño de vestuario y desarrollo de juegos. Vamos a poner en marcha este bucle sin fin. Si vamos a nuestro sprite de carretera y luego disfraces, puedes ver que tenemos bien, solo estas líneas, ahora mismo, nuestras líneas viales son del tamaño exacto de nuestra pantalla, si bajaran hasta lo más mínimo, la ilusión se rompería Lo que queremos es extender el camino más allá de estas fronteras aquí. Si intentas hacer esto ahora, verás que simplemente se desvanece en el Lo primero que tenemos que hacer es convertirlo en un vector, que ahora como puedes ver, nos da una carga más opciones, entre ellas sacar la imagen de la pantalla. Para extender esta imagen, lo que podemos hacer es derribarla. Recuerda, podemos usar las claves solo para que tengamos más control. Además, si haces un cambio de agujero al hacer clic, puedes ver que se mueve mucho más. De todas formas. Aquí mismo se ve muy bien. Ahora podemos copiar esto y luego pegarlo antes de moverlo hacia arriba, podemos asegurarnos de que esté exactamente alineado horizontalmente. Ahora otra vez, usando las teclas de flecha, podemos sacarlo a colación. Ahora el paso final es asegurarse de que estas brechas sean las mismas. Aquí, solo mira cuidadosamente la carretera a medida que la mueves lentamente hacia arriba para asegurarte de que estas dos brechas sean las mismas. Eso se ve bastante bien. De nuevo, esto podría tomar un poco de prueba y nunca para que sea perfecto. Pero con eso, nuestro cliente está listo. Ahora podemos pasar a la parte emocionante, animándola, lo que haremos en la siguiente lección 27. Dominando el bucle: el arte de las transiciones sin fisuras: Bien, entonces esto es todo. Que comience la ilusión. Bueno, antes de programar, veamos lo que queremos que suceda. Esto nos ayudará a entender lo que necesitamos codificar. Arrastrando nuestro sprite de carretera, queríamos bajar así, haciendo que pareciera que estamos conduciendo Entonces cuando llegue al final, queríamos volver al inicio, pero hacerlo a la perfección, así que parece que no pasó nada. Bueno, comencemos, vamos a agarrar un inicio ganador, un para siempre, y un cambio y por diez. Podemos acertar rápidamente a play, esa es la forma equivocada. Hagámoslo un diez menos. Bueno, eso es más o menos lo que queremos. Ahora lo que tenemos que hacer es que el camino vuelva a subir antes de que llegue a bajarse. Para ello, todo lo que tenemos que hacer es, bueno, no voy a decírtelo todavía. ¿Qué tal hacer una pausa en el y tratar de averiguar cómo hacer este bucle perfecto usted mismo para que el camino vuelva a subir Pausa y piensa en ello. Bueno, vamos a echar un vistazo. En primer lugar, vamos a necesitar una condición if. Lo que queremos comprobar es la posición y de nuestro sprite. Aquí, necesitamos verificar si la posición y es menor que decir menos uno 60, así podemos usar este operador para ver si y es menor que menos uno 60. Recuerda verificar en qué dirección está apuntando la flecha. Esta manera es menos que y esta forma es más que. Para ayudarte a recordar esto, presta atención al tamaño al inicio. Aquí va de una talla que es menor que donde empieza, y aquí va de una talla que es mayor. Ahora que ya lo sabes, podemos mover nuestro bloque dentro nuestra F y luego dentro de nuestro bucle forever. Ahora todo lo que tenemos que hacer es volver a cambiar la posición. Así que solo usamos un go to block, set x a cero, Handf y, para empezar, solo podemos configurarlo en uno 60 Ahora haciendo clic en reproducir, se puede ver este tipo de obras. Pero como también puedes ver el bucle está muy apagado. Aquí es donde necesitamos un poco de prueba y error para que sea perfecto. Ahora, la forma más fácil de conseguir esto es agarrando dos ir a cuadras El primero, podemos establecer a menos uno 60, aquí es donde volvemos a cambiarlo, y al siguiente podemos establecer en uno 60, que es este bloque. Ahora, primero da clic en el primero, luego en nuestro siguiente. Bueno, se puede ver que la posición está un poco desfasada. Lo que tiene que pasar es que tenemos que disminuir nuestro y un poco. Eso es mejor, pero aun así un poco fuera de lugar. De nuevo, un poco más. Eso se ve mejor. Como puedes ver, es solo un poco de prueba y error. Ahora bien, aunque nuestro loop es bueno, puedes ver que nuestro costu no está del todo perfectamente alineado, así que podemos volver al editor e intentar hacer algunos micro ajustes De nuevo, aquí, solo necesitas un violín de llaves hasta conseguir algo que se vea bien Bien. Bueno, con eso, podemos cambiar nuestros y valores a este nuevo aquí. Y cuando pateamos jugamos una vez más. Sí, creo que los resultados hablan por sí mismos. Además, aunque se ve bien, si cambiamos de menos uno 60 a menos uno 50 y volvemos a jugar el loop, verás que funciona un poco mejor. Eso, amigos míos, es lo que llamamos una ilusión propiamente dicha. Obviamente, puedes jugar sin cesar para conseguirlo aún más Pero por ahora eso se ve bien. Sé que este ha sido un proceso un poco tedioso, pero confía en mí cuando digo, esta es una muy buena habilidad para tener Ahora podemos empezar a buscar en la codificación de los otros sprites. 28. Dirigir el juego: implementación del control de los jugadores y la dinámica de capas: Ahora que parece que nuestro auto está avanzando, ahora podemos buscar crear la mecánica para nuestro automóvil. Básicamente, lo que queremos que suceda es que queremos poder mover nuestro auto a través de la carretera con nuestros arcos. Incluso necesito explicar cómo hacer esto porque estoy seguro a estas alturas ya sabes cómo conseguir este código bien ya que hemos construido la misma mecánica en nuestros juegos anteriores. Si quieres, puedes intentar hacerlo por ti mismo. De lo contrario, voy a pasar por esto rápidamente. Si te gusta, pausa el video y mira si puedes resolver esta parte por ti mismo. Bueno, ya conoces el sorteo. Necesitamos un para siempre, necesitamos dos luego cuadras. Necesitamos dos de estos bloques de detección de pulsaciones clave en cada una de nuestras declaraciones if. Entonces podemos cambiar el primero al error de la izquierda y el segundo al error de la derecha. Entonces podemos entrar en nuestros bloques de movimiento, agarrar el cambio x por, y agregar uno a cada uno de estos. Entonces para la derecha, cambiaremos x por un diez positivo como es, para la izquierda, será un diez negativo. Al hacer clic en el avión ahora. Ahí vas. Nuestro auto es controlable y nuestro juego está empezando a tomar forma. Una cosa sin embargo, es, se puede ver que la carretera está encima de nuestro auto. Yo sólo voy a la carretera sprite. Podemos movernos a Los y podemos traer aquí este bloque, que dice: Ir a, y podemos cambiar la capa posterior. Esto es otra cosa importante que hay que conocer. Al igual que cuando miramos nuestra pantalla aquí, parece solo una imagen plana, pero en realidad hay múltiples capas y cada sprite puede ser una capa diferente Verás, las capas nos ayudan a crear profundidad en nuestros proyectos, haciéndolos más atractivos visualmente, y también usaremos capas en este proyecto. Piense en capas como una pila de papeles o un sándwich. Yo rasco, cada sprite existe en su propia capa. Cuando agregas nuevos sprites, se colocan encima de los existentes, y esto determina el orden en que aparecen en la pantalla Pero se puede cambiar el orden de estas capas. Esto te permite organizar fácilmente tus sprites para que algunos aparezcan encima de otros, creando profundidad y un aspecto más pulido para tu proyecto Vas a tener la idea mejor a medida que avancemos, pero por ahora, fíjate en lo mucho mejor que es esto. 29. Refinación del turno: dinámica direccional y flujo lógico: Bien. Ahora necesitamos cambiar la dirección de nuestro auto, que no solo parezca que se desliza la pantalla sino que en realidad gira para lograr esto, como con nuestro otro proyecto, podemos usar este bloque de dirección de punto Pero podrías haber notado algo extraño si tratas de usarlo. Es decir, si apuntas en dirección recta y haces clic en él, verás nuestro auto apuntando hacia un lado, lo que parece bastante raro. Pero esto tiene algo de sentido. Scratch asume que dirección predeterminada de tus sprites está orientada hacia la derecha. Tomemos como ejemplo el sprite de gato predeterminado. Cuando lo incorpores a tu proyecto, verás que realmente parece que está mirando hacia la derecha. Cuando usas un bloque para hacerlo boca arriba o cero grados, en realidad parece que está arriba porque inicialmente estaba orientado hacia la derecha. Ahora, sé que sigue siendo un poco confuso, pero la clave aquí es entender que scratch asume que todos tus sprites se enfrentan de esta manera Cuando creas tu propio sprite o usas uno diferente, solo asegúrate de ajustar su dirección inicial en el editor de vestuario para que mire la manera correcta cuando empieces a trabajar con él Volviendo a nuestro auto, podemos entrar en el editor. Bien. Y usando esta flecha, podemos rotar nuestro auto para tenerlo boca a la derecha. Y aquí lo tienes. Ahora se puede ver que apunta en la dirección exacta en la que lo fijamos. Genial. Ahora, vamos a implementar esto en nuestro código. Simplemente, lo que queremos que parezca es girar a derecha cuando hacemos clic en la flecha derecha y cuando hacemos clic en la flecha izquierda. Podemos simplemente arrastrar la dirección de nuestro punto y poner uno en cada una de estas f declaraciones. Para el primero, podemos tenerlo a unos 15 grados. Para el segundo, podemos fijarlo en -50. Ahora bien, si volvemos a jugar, y luego giramos, se puede ver que funciona. Aunque aquí claramente hay algunos bichos. El primero es bastante fácil de vestir, que es cuando empezamos el juego, nuestro auto apunta a un lado, que no se ve bien del todo. Simplemente podemos agregar una dirección de punto al inicio y tenerlo apuntando recto en el inicio. Ahora como pueden ver, eso es mucho mejor. Aunque, como también se puede ver si dejamos de girar y simplemente vamos derecho, nuestro auto sigue apuntando en cualquier dirección, fue el último apuntando. Ahora bien, esto es un poco más complejo, ya que necesitamos una forma para que un automóvil señale recto si no se hace clic en ninguno de los botones Una vez más, pausa el video e intenta ver si puedes conseguir que esto funcione y conseguir que el auto apunte recto. ¿Lo averiguaste? Al mirar nuestro código, puede ver que tenemos estas dos declaraciones if que verifican si estamos haciendo clic en una tecla o en la otra clave. Pero hay otro tipo de afirmación que realmente no hemos usado, y es tan súper importante. Si bajamos a nuestro control, verás que tenemos este bloque, bueno, sabemos lo que hace el bloque if, si una condición es verdadera, ejecutará algún código, si se hace clic en la flecha derecha, girará a la derecha y con este bloque, hará lo mismo Pero si la condición no es cierta, ejecutará cualquier código en este bloque. Veamos esto en acción. En primer lugar, sacando todo este código, podemos cambiarlo por esto. Aquí podemos traer en la flecha derecha se hace clic y luego señalar la erección y el cambio Entonces para el ls, solo vamos a traer este otro código. Ahora, si pulsas play, verás que si haces clic en la flecha derecha, el auto hace lo que se espera. Pero si se nota la flecha derecha, la carta se desliza hacia la izquierda Ahora entendemos cómo funciona todo eso. Vamos a traerlo de vuelta a cómo fue un consejo útil. Simplemente haz clic en comandos o control, si estás en Windows y verás que tu código vuelve a ser como era Hagámoslo. Cambiemos esta flecha izquierda por esta LS luego movemos el código dentro. Por último, en el LS, podemos traer en una dirección puntual y hacer que apunte recto. Bueno, eso tiene sentido. Si hacemos clic a la derecha, apunta a la derecha. Si hacemos clic a la izquierda, apunta a la izquierda. De lo contrario, apunta hacia arriba. Vamos a darle una oportunidad. Bueno, eso no está bien, ¿verdad? Tratemos de desenredar un poco esto. Tenemos una situación en la que hacer clic derecho no parece funcionar como se esperaba, pero hacer clic a la izquierda sí. La respuesta está en el orden en que se procesa el código. Recuerda, en la programación, el código se ejecuta de arriba a abajo. Se comprueba cada condición en el orden en que aparecen. Cuando hacemos clic a la derecha, nuestro sprite es de hecho instruido para que apunte a la derecha. Sin embargo, hay más código después de esto en los estilos de computadora para verificar, que es esto aquí. Si hacemos clic a la izquierda, apunte a la izquierda. Pero ya ves aquí, si esta condición no es cierta, lo que sea que esté en este bloque va a pasar. El bloque final de código da un comando para que el sprite apunte recto El sprite seguirá este comando si no se cumple esta condición porque se pierde este bloque, es última instancia lo que se ejecutará Sé que la lógica de programación es bastante. Pero cuanto más realmente intentas entenderlo, más claro se vuelve todo, se trata de pensar como una computadora. Dicho esto, ¿cómo solucionamos esto? Bueno, en la programación, generalmente no quieres tener una situación en la que haya si bloques en un solo script o bucle. En cambio, lo que queremos usar es un F L. En vez de que este código se vea así, vamos a agarrar otro FL. Pon este código dentro. Ponlo en el bucle. Por último, podemos poner esto si en esta declaración. Ahora bien, si miramos el código, si se hace clic en la flecha derecha, esto se ejecutará De lo contrario, si se hace clic en la flecha izquierda, este código se ejecutará, y luego solo si ninguna de las condiciones anteriores es verdadera, no se hace clic a la izquierda ni a la derecha, nuestro automóvil apuntará Jugando de nuevo el juego, mira ahora cómo funciona a la perfección. Agregar esto if else asegura que este código inferior solo se pueda ejecutar si no estamos haciendo clic en el error correcto, y luego si no estamos también haciendo clic en el error de la izquierda, entonces finalmente, se ejecutará esto más. Ahora todo esto puede ser un poco confuso, pero esta es realmente la esencia de la programación, nosotros entendiendo el orden de las operaciones y cómo se ejecuta y organiza el código lógicamente Confía en mí, cuanto más construyas, más claro se volverá. Juega con él y trata de entenderlo porque son cosas emocionantes por venir. 30. Creación de obstáculos dinámicos: el camino cobra vida: Bueno, es hora de que este espectáculo salga a la carretera de manera bastante literal. En esta etapa, tenemos esta ilusión de movimiento como cómo nuestros autos circulan por una autopista y tenemos la capacidad de controlar nuestro auto girando a la izquierda o a la derecha. Pero ahora tenemos que enfocarnos en poner nuestros autos de obstáculos en la carretera. Estos son los autos que vamos a estar tejiendo en medio mientras jugamos a través de nuestro juego. Como puedes ver en esta etapa, solo tenemos un sprite de auto, pero pronto verás como a partir de él, podemos crear una cantidad interminable de autos Nuevamente, antes de comenzar a codificar, pensemos en lo que tiene que hacer. Entonces podemos considerar cómo lograremos esto con código. Entonces, para promover la ilusión de movimiento y agregar un obstáculo que debemos evitar, queremos que este auto parezca que está conduciendo a una velocidad más lenta que nuestro auto. Entonces estaría viniendo poco a poco por un carril como este. Entonces tendríamos que esquivarlo girando a la izquierda o a la derecha. Entonces intentemos abordar el primer problema. Mudarse a nuestro sprite de autos. Primero podemos adjuntar un bloque para siempre a este guión actual, simplemente, todo lo que haremos es que el auto se mueva lentamente hacia abajo por la pantalla cambiando el valor y bi negativo de digamos cinco. ¿Entonces golpeando play? Bueno, es perfecto. Porque viene por el camino. Todavía parece que está avanzando porque está retrocediendo más lento que la carretera retrocediendo. Pero ahora que tenemos este auto en movimiento, se puede ver que simplemente se detiene cuando llega al final de la pantalla. Y esto funciona perfectamente. Bueno, perfecto, si lo único que queremos es un obstáculo en nuestro juego, que no es el objetivo aquí. En cambio, necesitamos que el auto vuelva al inicio de nuestra pantalla cuando llegue al fondo. Bueno, para hacer esto, necesitamos agregar alguna comprobación de condición. Pero si te mueves a nuestro grupo de movimiento, si recuerdas, teníamos esta posición y y podemos usar esta para verificar cuál es la posición y de nuestro sprite, que significa que podemos verificar para ver si nuestro sprite ha llegado al final de la pantalla, y si lo ha hecho, podemos hacer que vuelva a la En primer lugar, lo que necesitamos es una declaración if, notarás aquí que no puedes poner este bloque de posición y en la sentencia F. Bueno, por razones obvias, es como si y posicion entonces haz algo. Bueno, eso no tiene sentido. Lo que tenemos que hacer es verificar la posición y sea inferior a un cierto valor. Y al igual que con nuestras líneas viales, podemos hacer esto agarrando este bloque verde del grupo de operadores Esto es lo que comprueba si un valor es mayor o menor que otro. Recuerda, para prestar atención al tamaño al inicio. Aquí va de una talla que es menor que donde empieza, y aquí va de una talla que es mayor. Queremos verificar si y es menor que -210, que es básicamente la parte inferior de la pantalla Ahora bien, si esta condición es cierta, queremos que nuestro auto vuelva a la parte superior de la pantalla. Todo lo que tenemos que hacer es traer un bloque G dos y establecer el valor y en 210, que es básicamente la parte superior de la pantalla. Juega Bueno, como puedes ver, nuestro auto baja y cuando llega al fondo, vuelve a la cima. Es bonito. Eso se ve bastante bien. Pero todavía hay una cosa más que tenemos que abordar. Ese es nuestro auto. Bueno, sigue bajando por el mismo carril, lo que haría el juego bastante fácil porque todo lo que necesitas hacer es conducir en cualquiera de los otros carriles y ganaríamos. Aquí no queremos victorias baratas. Entonces lo que necesitamos es que el auto sea de alguna manera cambiar aleatoriamente entre cada uno de estos carriles cada vez que vuelve a la cima. Ahora bien, esto es un poco más complicado de lo que piensas. Pero comencemos con lo que sabemos. Sabemos que esto va a tener algo que ver con el valor x. Como ahora mismo, lo ponemos a cero cada vez que va a la cima. Tenemos que cambiar eso. También sabemos que tiene algo que ver con escoger un número aleatorio. Para empezar, solo llevemos el pick random al go a x Ahora podemos ver cuáles serán los límites superior e inferior arrastrando nuestro auto al primer carril. Ahora podemos ver cuáles serán los límites superior e inferior arrastrando nuestro auto al primer carril Sí, se puede ver que está en menos 145, y el último carril está bien 1405 Podemos hacer que x se establezca un número aleatorio de menos 1405 a 1405 Si jugamos, puedes ver que cada vez que nuestro auto llega al final, cambia de carril, lo cual es bueno. Pero el problema es que a veces va entre nuestros carriles, lo cual no es bueno, y aquí es donde se pone un poco complicado. Tenemos que cambiar la forma en que abordamos esto. En lugar de establecer el número entre menos 1405 y 1405, necesitamos hacer un poco de matemáticas, diversión Lo que necesitamos es un bloque plus y un bloque de tiempos, y verás por qué. Nuestra exposición de nuestro auto puede ser un mínimo de menos 1405, podemos ingresar eso en nuestro primer plus input Ahora hay cinco carriles diferentes posibles en los que puede estar nuestro auto en cualquier momento. Lo que tenemos que hacer es resolver el espacio entre los carriles. Nuestro primer carril es menos 1405. Si lo movemos al segundo carril, Está en -70. Ahora, 14570, te da 75, pero solo podemos decir alrededor de 75 75 es la distancia entre los carriles Si nos movemos este bloque de tiempos al bloque más, podemos ingresar 75, ya que hay cinco carriles, podemos volver a usar pick aleatoriamente, y aquí podemos configurarlo en 040 parece raro ¿Por qué no uno a cinco? Esto es porque bueno, menos 1405 es nuestro primer carril Y cualquier cosa veces cero. Entonces, si el número aleatorio es cero, nuestro auto estará en nuestro primer carril. Sé que esto puede ser un poco confuso. Pero a medida que trabajas más con este tipo de bloques, mejor lo entiendes. Pero de, veamos esto en acción. Bueno, eso se ve casi perfecto. Podemos ajustarlo solo un poco para conseguirlo aún mejor. Como puedes ver el último carril está un poco lejos, así que cambiemos esto para que sea 74, trata de prueba y error. Pero sí, eso se ve muy bien. Ahora solo siéntate, relájate y disfruta tu creación porque solo va a mejorar. 31. De los obstáculos al atasco de tráfico: domina la clonación para obstáculos dinámicos: Bueno, creo que realmente está empezando a tomar forma. Tenemos nuestro camino que bajan constantemente. Tenemos un auto que controlamos. Tenemos nuestros obstáculos que tenemos que evitar. Ahora vamos a convertir esto o en obstáculos generando más tráfico al sumar más autos. Quizás estés pensando para ti mismo, bueno, esto ya es bastante fácil. Todo lo que necesito hacer es duplicar este auto de obstáculos algunas veces y Bob es tu tío. Bueno, Bob, quizá tú tío, pero esa no es realmente la solución. Bueno, vamos a darle un show de prueba. Ya sabes, como digo, la solución simple es la mejor solución y esto seguro suena simple. click derecho en nuestro auto, y luego golpeando duplicado, y hagámoslo una vez más. Ahí vamos. Ahora tenemos tres autos listos para salir. Vamos a ponernos a prueba. Bueno, eso es algo que funciona. Pero nuestros autos aparecen todos al mismo tiempo y a veces en la misma línea. Podríamos simplemente ir a estos autos duplicados y una losa de espera en cada uno de ellos en la parte superior del guión y que sea de 1 segundo y 2 segundos para tenerlos espaciados uniformemente y una vez más, golpeando play. Bueno, después de esperar a que estos autos comiencen a moverse. En realidad se puede ver que funciona bastante bien. Ahora bien, si todo funciona tan bien, entonces ¿por qué no solo usamos la solución Déjame presentarte un pequeño acrónimo, que se llama código seco, código D R. Lo que significa seco es que no te repitas. Déjame decirlo otra vez. No te repitas. Uh, eh. Eso es muy gracioso. Esto es muy popular dicho en la programación es a menudo duplicar código podría sonar como la solución fácil Sin embargo, cuando empiezas a hacer esto, las cosas pueden ponerse realmente desordenadas También hace que las cosas sean difíciles de mantener. Por ejemplo, si quisiera cambiar la velocidad de mis autos, no podría simplemente cambiarlo en un solo lugar. Tendría que entrar en cada sprite para cambiarlo. Dicho esto, busquemos una solución más inteligente. En primer lugar, eliminar todos estos duplicados. Después yendo a nuestro sprite de obstáculo principal y finalmente yendo a los bloques de control, verás que tenemos estos bloques aquí Cuando empiezo como un clon, crear clon de y eliminar este clon. Y estos son bloques realmente importantes. Arrastrándolos hacia abajo, y luego, echemos un vistazo. Probemos esto trayendo este clon de crear de mí mismo dentro de esta declaración F. Después golpeando play, verás que cada vez que nuestro auto llegue al final, aparece un nuevo clon en la parte superior. Pero también ves que estos autos realmente no se mueven. Simplemente se quedan ahí, lo cual no es realmente idea. Será que mis amigos, es para lo que está este bloque. Básicamente, lo que está sucediendo es que nuestro guión está sonando, y luego cuando esta condición es cierta, crea un clon de sí mismo, que es el carro de obstáculos. C es esencialmente una copia idéntica de un sprite, como todos los disfraces que tiene, los efectos de sonido y más Sin embargo, una diferencia clave es que un clon no es lo mismo duplicar un sprite porque como viste, los sprites duplicados se mueven como los normales, mientras que el clon simplemente estaba atascado en la parte Eso es porque el clon no tiene acceso al script porque este script solo se activa cuando se hace clic en la bandera, y eso solo ocurre una vez al principio Aquí es donde entra este bloque. Nos permite agregar código a nuestros sprites clonados. Si simplemente duplicamos este código y lo agregamos a cuando empiezo como clon, luego jugamos, verás que cada vez que el personaje llegue al final, se agrega un clon y tiene la misma funcionalidad. Pero como también puedes ver, realmente simplemente no deja de coning. Pero creo que entiendes la idea. Ahora que tienes una buena comprensión del importante concepto de código seco y cono, no te repitas. Hagamos que esto funcione. En primer lugar, podemos deshacernos del código en el bloque de código ya que también podemos desconectar este código del botón de clic de bandera de ganar. Ahora podemos agregar un bloque para siempre y un bloque de peso, y luego esto crea un clon de mi mismo bloque. Básicamente cada segundo creará una c de sí mismo. Ahora para lo importante pero, vamos a arrastrar este código aquí a cuando empiece como un clon. Recuerda, no podemos mantenerlo así porque solo seguirá creando nuevos conos. Básicamente, lo que podemos hacer es cuando el auto llegue al final, podemos eliminar esta c, vamos a probar. Una vez más, eso no está del todo bien. El auto sólo está conduciendo vivo. Esto tiene sentido, obviamente, porque si miras el código cada vez que el auto arranca en un clon, va a cero x y uno 90 y Todo lo que tenemos que hacer es deshacernos de eso y luego mover este ir a la posición aleatoria al inicio del guión. Una vez más, si golpeamos play. Bueno, eso funciona mucho mejor. Hay dos bicicletas pequeñas que podemos arreglar. En primer lugar, ocultemos nuestro sprite principal, para que no se pegue a nuestra pantalla y luego mostremos nuestro sprite clon Además, podemos cambiar este ir a y a un número alto como 250, que hace que se vea más fluido. Ahí vas. Ahora está funcionando correctamente. Si sigues adelante, ese es un trabajo absolutamente increíble para completar esta lección. Realmente cubrimos algo de terreno aquí, bien hecho. Sigamos con este impulso y comencemos a darle vida a este juego. 32. Aleatorización de la carretera: crea patrones de tráfico reales: Bien, entonces nuestro tráfico se ve bastante bien, y no hay ningún diseño que, pero tenemos dos problemas. En primer lugar, el tráfico se genera a un ritmo muy consistente, como puedes ver, Es solo un auto, el siguiente auto, el siguiente auto, y así sucesivamente. Realmente deberían desovar a diferentes ritmos. En segundo lugar, todos son el mismo auto. Si miras los disfraces, puedes ver que tenemos múltiples tipos de autos diferentes. Este es tu mini reto. Quiero que intentes resolver ambos problemas. En primer lugar, hacer que el auto genere a diferentes ritmos, luego tenerlos sean autos diferentes Vamos. Esto se puede hacer. Pausa el video ahora y dale este pequeño mini desafío una oportunidad a este pequeño mini desafío. Bueno, ¿lo resolviste? Si aún no lo has resuelto, todo tiene que ver con números aleatorios. Déjame mostrarte a lo que me refiero. En primer lugar, para que la velocidad de desove de autos varíe, todo lo que tenemos que hacer es arrastrar una púa al azar a este bloque de peso, y aquí podemos tener que variar de 0.6 segundos a 1.2 segundos. Si tuviéramos placa, se puede ver que se ve mucho menos robótica y un poco más natural. Por último, para que parezca menos que los autos están saliendo de una línea de fábrica y más como tráfico normal. Aquí podemos usar disfraces. entrar en los Ls y luego agregar este disfraz de interruptor justo al inicio de nuestro guión, podemos tener un cambio. Ya ves, si haces clic aquí, tenemos seis disfraces de autos diferentes. Aquí de nuevo, también podemos agregar un pick random. Debido a que tenemos seis disfraces, podemos elegir uno al azar 1-6. Ahora cuando golpeamos placa, bueno, eso se ve mucho mejor. En realidad está empezando a parecer un juego adecuado. Gran trabajo hasta el momento. 33. Dándole vida al mundo: animación del paisaje: Bien, ahora estamos en las etapas finales de esto antes de agregar una detección de choques, intentemos que el escenario se mueva para que nuestro juego se sienta más inmersivo Lo que queremos que suceda es que este sprite de árbol baje por el costado de la carretera a medida que empezamos a conducir y que se sienta como si estuviéramos pasando por paisajes Este código será muy similar a nuestro código para nuestro sprite de obstáculos Solo copiémoslo y veamos qué pasa. Al pasar, podemos simplemente arrastrar estos bloques. Y cuando haces clic en reproducir. Bueno, creo que eso es de esperar. Nuestros árboles simplemente actúan como autos y tan tontos como esto es con algunas modificaciones, podemos conseguir que esto funcione para nosotros. Obviamente, no queremos nuestros árboles en medio de la carretera y podemos arreglar esto sacando esta cuadra dentro del go to block. Aquí podemos luego agregar en un pick aleatorio. B lo queremos a un costado de la carretera, podemos hacer que escoja un número entre menos dos 50 y -200 Y creo que también podemos mantener el tamaño aquí igual ya que se ve bien, pegando de nuevo play. Mira lo mejor que es eso. Lo único ahora es que nuestros árboles se mueven a una velocidad diferente a la carretera. Si volvemos a nuestras carreteras brillantes, se puede ver que tenemos la velocidad establecida dos menos diez. Hagamos lo mismo con nuestros árboles. Vuelve a jugar. Eso definitivamente es mejor. Aunque un pequeño problema que tenemos aquí es los árboles se están apilando en la parte inferior de la pantalla, pero podemos solucionarlo fácilmente cambiando este F y check aquí vamos a cambiarlo a digamos -200 Además, aumentemos un poco la velocidad de desove ajustando esta selección aleatoria de 0.6 a 1.20 0.620 Bueno, eso arregla eso. Los árboles desovan más rápidamente. Buen trabajo, pero todavía hay un problema, y estoy seguro que se puede ver, que es que sólo tenemos árboles a un lado de la carretera. Y podríamos simplemente duplicar el sprite, que funcionaría. Pero como sabes, siempre es bueno mantener tu código seco. Como en, no te repitas. Pensemos en una solución más inteligente. Ahora mismo, cuando nuestros árboles empiezan como un clon, pasa a una posición aleatoria entre menos dos 50 y -200 Pero también queremos 202 50 como opción porque este es el lado derecho de la pantalla. Lo primero es lo primero, dupliquemos este pick random y luego cambiemos los valores a 202 50. Bien. Ahora que ya lo hemos hecho, cómo podemos tenerlo que a veces elige esta selección al azar, mientras que otras veces elige esta selección al azar. Bueno, pausa el video y trata de ver si puedes figurar este por tu cuenta. Aunque no es tan fácil como podrías pensar, pero apuesto a que estás a la altura. Como siempre, hay diferentes maneras de conseguir que esto funcione. Pero te voy a mostrar cómo podemos usar variables para resolver esto. Lo que podemos hacer es crear una variable llamada sides. Entonces podemos agregar este bloque de código al inicio de nuestro cuando empiezo como un script de cono. Entonces asegúrate de cambiar esto para establecer la entrada de lados. Después de eso, trae un pick aleatorio y aquí nos fijaremos para ser solo uno o dos. Ahora podemos agarrar y luego condicional, podemos agarrar esto es igual a dos operador, y finalmente, la variable lados. Lo que queremos hacer es tenerlo así. Si lados es igual a uno, entonces haz lo que esté aquí, o si lados no es uno, que es dos, entonces haz lo que esté aquí dentro. Podemos arrastrar este ir a bloquear dentro de esta primera condición. Entonces podemos hacer duplicarlo y cambiar este pick random por este de aquí. Entonces finalmente conectamos todos estos bloques juntos. Repasemos por esto rápidamente. Cuando empezamos como un clon, tenemos unos lados variables, que se establecerán para ser uno o dos, lo que indica izquierda o derecha. Entonces, si el tamaño es igual a uno, los árboles desovan por un lado, y si el tamaño es igual a dos, desovan en el otro Al golpear play ahí lo tienes. Tenemos árboles desovando en ambos lados y se ve bien. Creo que ya casi estamos ahí. Solo un poco de detección de colisiones y nuestro juego prácticamente estará hecho. 34. Toques finales: detección de colisiones y animación de spinout: Bueno, esto es todo. Es hora de que hagamos este juego agregando algo de detección de colisiones para detectar. Si chocamos contra un auto chocamos contra los costados de la carretera. También estaremos agregando una animación spinout genial para darle un efecto más dinámico y dramático Pero primero, agreguemos una detección de accidentes simple muerta. Pasando a nuestro sprite de reparto principal, agarraremos el estándar cuando se haga clic en la bandera, luego para siempre, entonces, podemos agregar en este bloque conmovedor y cambiarlo para detectar autos de obstáculos Por último, si lo hace, vamos a hacer que se detenga o. Bueno, eso es bastante simple. Vamos a darle una oportunidad a esto y ver carreras. Señor. Moviéndose a lo largo de las líneas. A es dandy Y entonces si decimos chocar contra este auto de aquí. Bueno, ahí lo tienes. No está mal. Mientras lo agregaremos. Comprobemos también para ver si nuestro auto está tocando el borde de cualquiera de los carriles. Y simplemente podemos hacer esto agarrando otros dos cheques mayores que el operador y un menos un operador Entonces arriba en el grupo de movimientos, podemos usar este bloque de exposición, que es la exposición actual de Así que trayendo eso a ambos, y finalmente, podemos comprobar si la exposición de nuestros autos es mayor o menor que negativa 1805 Añadiendo un tope o en ambos. Antes de jugar, veamos rápidamente qué es lo que estamos pasando aquí. Básicamente, si nuestro auto está tocando el carro de obstáculos , nos detenemos todos, y si la exposición de nuestros autos es pasada 1805 o negativa 1805, que está más allá del borde, nos detenemos Vamos a darle un viaje a esto. Como pueden ver, si tratamos de dejar la carretera, bueno, nuestro juego termina, eso es lo que nos gustaría ver. Ahora para el toque final, agreguemos nuestra animación de crash spinout Entonces lo que queremos es que nuestro auto básicamente tenga un poco de animación donde si tocamos un obstáculo o si nos salimos de la carretera, nuestro auto debería girar. Creo que el mejor lugar para comenzar con esto es en el grupo de mociones porque aquí tenemos este bloque de giro, y si le damos clic aquí, pueden ver nuestros giros de autos Eso es más o menos lo que queremos. Podemos traer este bloque y luego porque queríamos darle la vuelta unas cuantas veces para que pareciera que está girando, podemos agarrar un bloque repetido. Si metemos esto aquí y puedes ver cómo se ve nuestro auto como si estuviera girando. Fresco. Ahora tenemos que hacer es duplicar este bloque dos veces. Y luego agregarlo a cada una de nuestras comprobaciones condicionales. Bueno, si nos fijamos en nuestro guión. Si alguna de estas condiciones es cierta, si toca un carro de obstáculos, primero debe girar diez veces y luego detenerse. Vamos a darle una oportunidad a eso. Conducir por una carretera, todo está bien. Entonces si chocamos contra un auto, bueno, eso no es lo que queríamos. Simplemente giró por una fracción de segundo y la cara de nuevo al frente. Pero si miras el código cuidadosamente, eso tiene sentido porque bueno, este código en realidad está funcionando bien, pero este código está interfiriendo con él porque este pedacito de script aquí está constantemente haciendo que nuestro auto apunte recto si no estamos girando, esto estropea nuestra animación Ahora, una forma en que podríamos arreglar esto es simplemente arrastrando todo este bloque de código dentro de este bucle para siempre De esta manera, estos dos guiones no entrarán en conflicto entre sí es si una de estas condiciones es cierta. Al igual que si chocamos contra un auto, el código no pasará al siguiente bit del guión hasta que esté terminado, lo que significa que primero jugará misión y luego se detendrá. Dándole una oportunidad a esto. Se puede ver que funciona. Pero esta no es exactamente una solución limpia. A ahora tenemos dos tipos diferentes de scripts que se fusionan en uno, que puede dificultar la comprensión y edición de tu código a medida que avanzas Pulsar comandos o deshacer o controles. Lo que podemos hacer en cambio es agarrar otro de estos bloques de parada, pero cambiarlo para detener otros scripts en el sprite Después duplicarlo dos veces, y finalmente agregarlo al inicio de cada una de estas comprobaciones condicionales. Si miras nuestro código ahora, si tocamos algo, detendremos cualquier otro script en el sprite que se ejecute como este de aquí Después tocaremos la animación y luego detendremos todo. Antes de darle una oportunidad, vamos a cambiar este giro por algo menos que ocho. Por último, darle una oportunidad a esto, conducir hacia abajo, todo también. Después golpeando en un auto, ahí lo tienes. Trabajo sobresaliente. Este es en gran medida un juego jugable, y deberías estar orgulloso de haber llegado hasta aquí Siéntate, relájate y disfruta tu logro porque en la siguiente sección, veremos cómo podemos transformar este juego con niveles, variables dinámicas, efectos de sonido, música y mucho más 35. Subida de nivel: inyecta dinamismo en el juego: Bueno, has llegado tan lejos y has construido un juego realmente genial y está casi listo para su publicación. Sin embargo, un problema que tenemos es la estaticidad de nuestro juego. Al igual que, no hay niveles con dificultad creciente. Nuestro auto se mueve a la misma velocidad. Los coches de obstáculos también engendran a la misma velocidad, y todo esto nos deja con un juego bastante soso Entonces, ¿cómo podemos arreglar esto? ¿Cómo podemos hacer que nuestro juego sea más entretenido aumentando la dificultad? Bueno, sabemos que una forma de aumentar la dificultad sería aumentando velocidad a la que aparecen los autos de obstáculos o incluso mejor haciendo que bajen más rápido Entonces, moviéndonos a nuestro carro de obstáculos, veamos las dos áreas que controlan qué tan rápido se mueve nuestro carro de obstáculos y qué tan rápido se genera en el juego En primer lugar, como puedes ver, nuestro carro de obstáculos espera 0.6 a 1.2 segundos antes de que cree un cono y aparezca en. Esta es la única parte del código que necesitaríamos ajustar. Entonces, mirando este guión, se puede ver que el auto cambia constantemente y en menos cinco. Entonces esta es su velocidad de movimiento, y la otra parte, también necesitaríamos ajustarnos. Entonces, ahora que hemos identificado las dos partes del código que controlan la velocidad y la tasa de generación del sprite, ¿cómo podemos hacer que siga siendo más difícil a medida que avanza el juego Bueno, podríamos seguir duplicando este código y duplicándolo y duplicándolo y duplicándolo Entonces, por ejemplo, cambia esto a 0.5 y 1.1 y solo sigue haciendo que el tiempo de generación sea cada vez más corto Pero creo que sabes que ese no es el camino a seguir. Porque como recuerdas, código seco es importante, es decir, no te repitas, ciertamente nos estamos repitiendo aquí. En cambio, al igual que con el otro juego que creamos, podemos usar variables para controlar nuestra velocidad de juego. Pero antes de seguir adelante y cambiar, esto es importante que entiendas lo importantes que son las variables en la programación. Ahora, a menudo es tentador simplemente ingresar valores como este cambio i por menos cinco Programación, esto es lo que se llama valores codificados duros. Si bien esto está bien a veces también hay un montón de desventajas, tomemos un momento para considerar algunas de ellas. En primer lugar, falta de flexibilidad. Imagina que has construido un juego con diez niveles, todos con dificultades codificadas. Si quieres cambiar la tasa de dificultad, como la rapidez con la que se vuelve difícil el juego, tendrías que ajustar cada nivel individualmente. Ahora bien, esa no es una forma muy eficiente, ¿verdad? En segundo lugar, actualizaciones y ampliaciones. Digamos que tu juego se vuelve popular y decides lanzar una versión o expansión actualizada. Si todo está codificado duro, hacer cambios consistentes se convierte en una tarea muy tediosa. Al igual que con nuestro juego, necesitaríamos cambiar el mayor valor de velocidad para nuestros árboles y nuestro camino. Y por último, cuestiones de consistencia. Uno de los principales problemas que enfrentarás es la consistencia, es decir, si tenemos un pequeño cambio que queremos hacer en nuestro juego, necesitaríamos encontrar todos los valores que se vean afectados por este cambio, y si nuestro juego es grande, esta tarea se vuelve casi imposible. Dicho todo eso, podemos mejorar mucho nuestro código usando variables en lugar de valores codificados en la medida de lo posible. Entonces lo que podemos hacer es tener un espacio donde ajustemos todas las variables. Y de esta manera, nuestro juego es fácil de administrar y actualizar. Pasando a nuestras variables. Piensa en qué variables necesitamos crear para que nuestro juego sea más adaptable y escalable. Bueno, las dos cosas que queremos controlar son nuestra velocidad de generación y nuestra velocidad de movimiento Vamos a crear esto. En primer lugar, golpear make variable. Podemos llamar a este primer spawn speed, golpear Crear. Una vez más, podemos llamar a esta siguiente velocidad de movimiento y asegurarnos de que sea una variable global asegurando que este botón esté seleccionado. Entonces, hagamos esto. Ahora, en primer lugar, cambiemos nuestra velocidad de generación Ahora mismo, es este valor codificado duro de 0.6 y 1.2. Entonces, en lugar de 0.6, arrastremos la variable de velocidad de generación Entonces como 0.6 es el doble del tamaño de 1.2, podemos establecer la segunda entrada para generar velocidad multiplicada por dos este momento, nuestros autos no se moverán ya que nuestra velocidad de generación se establece en cero Pero para probar esto, ajustémoslo rápidamente a 0.6 simplemente seleccionándolo aquí, ingresando en 0.6 y haciendo doble clic. Como pueden ver, ha cambiado. Ahora pegando play, Ahí lo tienes. Es decir, nada ha cambiado, pero pronto lo hará. Así que prepárate porque en la siguiente lección, vamos a actualizar totalmente este juego y hacerlo verdaderamente adaptable. 36. Evolución de juegos estratégicos: domina las variables para el juego dinámico: Derecha. Hasta ahora, acabamos de cambiar la velocidad de generación a una variable para nuestro carro de obstáculos Pero como saben, nuestros árboles y follaje también tienen el mismo desove en efecto Hagamos lo mismo por ellos. Pasando a este sprite, puedes ver que está establecido en 0.60 0.3 Nuestra velocidad de generación es actualmente 0.6, y simplemente podemos arrastrar esta variable aquí Entonces como 0.3 es la mitad de 0.6, en lugar de cronometrarlo por dos como con nuestro auto, podemos dividirlo por dos Agarrando esta división de los operadores, pegando nuestra variable al escribir en dos, y golpeando rápidamente play Una vez más. Aún no pasa nada nuevo. Pero como puedes ver, funciona. Entonces, ahora que nuestra velocidad de desove se ha cambiado de valores codificados a variables, lo siguiente que necesitamos cambiar es nuestra velocidad de movimiento Ahora, en nuestro código, tenemos tres sprites diferentes que se mueven hacia abajo. Tenemos nuestro sprite de obstáculo, nuestro sprite de árbol y nuestro sprite de carril de carretera En primer lugar, con nuestro sprite de carretera. Como puede ver, nuestro movimiento está determinado por este cambio y por un valor negativo de diez. Simplemente tomemos nuestra variable de velocidad de movimiento , arrástrala aquí. Entonces ajustemos rápidamente nuestra variable de velocidad de movimiento a menos diez y hagamos doble clic. Entonces si le pegamos a play, como pueden ver , eso funciona a la perfección. A continuación, pasándonos a nuestro sprite de árbol y follaje. Aquí puedes ver, también tenemos el movimiento establecido en un valor codificado duro menos diez. Entonces, simplemente, podemos reemplazar este valor codificado duro con esta variable, y eso es todo. Entonces, finalmente, podemos pasar a nuestro carro de obstáculos. Aquí, como puede ver, establecemos este valor un menos cinco en lugar de menos diez. Y lo hicimos porque queríamos que nuestro auto se moviera un poco más lento que nuestro camino, lo que le dio la ilusión de que está avanzando. Una vez más, podemos intercambiar el valor estático con nuestra variable de velocidad de movimiento. Pero para asegurarnos de que se mueve a una velocidad más lenta que nuestra carretera y árboles, podemos agarrar un operador plus. Lo metemos aquí e ingresamos en cinco, ya que menos diez más cinco es igual a menos cinco, volvemos al mismo valor que teníamos antes. Entonces, finalmente, haciendo clic en reproducir, podemos probar si todo está funcionando. Y sí, nuestro juego está funcionando como lo era antes. Sin embargo, nuestro código ahora es súper robusto y adaptable. Así que es hora de pasar a la parte divertida. Nos pusimos mucho trabajo reestructurando nuestro código, pero nuestro juego básicamente juega igual que como lo teníamos. Veamos cómo podemos hacer uso de este nuevo y mejorado código agregando niveles a nuestro juego. Pero antes de cambiar nada, primero vamos a crear un nuevo sprite Ahora, realmente no importa qué sprite seleccione y verá y en un segundo Pero después de haber seleccionado el sprite, también podemos entrar en el editor de disfraces, seleccionar todo el objeto y golpear retroceso Probablemente ahora estás realmente confundido. Pero básicamente, lo que vamos a hacer es usar el sprite para establecer todas nuestras variables en nuestro juego Ahora bien, por qué esto es bueno es porque tenemos un espacio donde se establecen todas nuestras variables, y esto facilita cambiar valores, actualizar y hacer cambios en nuestro juego. Y además, nos mantiene súper organizados. Además, ¿a quién no le gusta estar organizado? Bueno, al menos a la hora de programar. Entonces lo primero es lo primero, agreguemos en nuestro bloque más crucial cuando comience haga clic. Bajando a nuestras variables, arrastremos dos de estos bloques de valores variables establecidos, y aquí podemos establecer la velocidad de generación y la velocidad de movimiento Lo que queremos hacer es simplemente establecerlo en el valor actual que tenemos en este momento para asegurar que nuestro juego siempre comenzara la velocidad. Eso es 0.6 y menos diez. Ahora para aumentar la dificultad, todo lo que necesitas hacer es agarrar un bloque de peso de bucle para siempre, y luego dos de estos cambian variable por bloques. Con eso, podemos establecer nuestro peso en 8 segundos. Entonces podemos establecer este bloque para cambiar la velocidad de generación y el otro para cambiar la velocidad de movimiento Entonces, para nuestra variable de velocidad de generación, actualmente está establecida en 0.6 Entonces aquí solo queremos hacer pequeños ajustes. Entonces lo que voy a hacer es cambiar la velocidad de desove por -0.02. De esta manera, nuestros autos poco a poco comenzarán a desovar más rápido. Entonces para nuestra velocidad de movimiento, podemos cambiar este valor por menos uno. Ahora antes de golpear play, entendamos rápidamente lo que está pasando aquí. En primer lugar, nuestro juego se establece en su nivel inicial una velocidad. Luego, cada 8 segundos, disminuimos lentamente la cantidad de tiempo que tardan nuestros autos en aparecer, y también disminuimos nuestra velocidad de movimiento en menos uno, lo que hace que nuestros autos y los obstáculos parezcan que se mueven cada vez más rápido a parezcan que se mueven medida que avanza el juego Ahora bien, esta vez si jugamos el juego, notarás que cada 8 segundos, estos valores disminuyen, y nuestro juego comienza a ser cada vez más rápido. Ahora antes de concluir esta lección, agreguemos rápidamente un elemento score a este juego para los derechos de fanfarronear, por supuesto, para hacer esto, todo lo que necesitamos hacer es crear una nueva variable a la que podamos llamar score A continuación, podemos agregar un puntaje establecido a cero, como lo hemos hecho con estas variables. Por último, cada 8 segundos, podemos seguir adelante y cambiar el marcador por digamos 43 porque ¿a quién no le gusta un puntaje grande para motivarlos Antes de hacer clic en Reproducir, ocultemos rápidamente estas otras variables y luego movamos nuestra variable de puntaje a la parte superior. Además, podemos simplemente hacer doble clic sobre él, por lo que se muestra como un número grande. Bueno, con todo eso hecho, ahora tenemos dificultad cada vez mayor, una puntuación, y lo más importante, un código súper robusto que nos permite ajustar valores en todos nuestros espacios con facilidad. Ahora para la parte más importante absoluta, ve y sigue jugando el juego hasta llegar a una puntuación lo suficientemente alta como para presumir Bien hecho. De verdad lo estás haciendo genial. 37. Mini desafío: integración de variables para mecánicas de juego mejoradas: Ahora es el momento de poner a prueba tus increíbles habilidades de programación. Este es tu mini reto. Si recuerdas de nuestra primera lección, discutimos un proceso de tres pasos que podríamos usar al desarrollar juegos, que fueron en primer lugar, configurar la estructura básica, que es importar nuestros sprites, entender qué debería hacer el sprite y, en general, cómo funcionarían nuestros juegos En segundo lugar, desarrollar la mecánica de juego, que es básicamente todo nuestro código que da a nuestros juegos su funcionalidad como coches de obstáculos que se mueven por la carretera, o nuestra carta de jugador, moviéndose de izquierda a derecha. Entonces en tercer lugar, pulir el juego, y este es un paso en el que estamos más o menos ahora. Estamos en el punto en el que nuestro juego se ve genial, pero solo necesitamos darle ese toque extra. Y una forma de hacerlo es agregando música y efectos de sonido. Entonces este es tu reto. Quiero que averigües una manera de agregar un sonido cuando un auto de obstáculos pasa a nuestro auto jugador a corta distancia. Así que al igual que si estuvieras en una carretera y escuchas un auto pasando por alto, haría ese sonido a medida que pasa. Entonces quiero que hagas lo mismo por este juego. Dos consejos que te voy a dar es que el sonido que debes usar se llama auto que vas a necesitar para usar código dentro del grupo de detección. Con eso, pausa el video e intenta ver si puedes agregar el efecto de sonido a tu juego. Bien. Bueno, ¿cómo fue eso? quizá no sea tan sencillo como pensaste al principio. Bueno, hagamos esto t. Lo primero que vamos a hacer es seleccionar nuestro sprite de carro obstáculo ya que este será el sprite que haga el sonido Después vamos a dar click en la pestaña de sonido y elegir el sonido que mencioné carvem Ahora, con eso sumado a nuestro sprite, podemos ponernos a trabajar. Entonces queremos que este clon interactúe con nuestro sprite de reparto y haga que reproduzca el sonido cuando se acerca Así que podemos utilizar este bucle para siempre encontrado en cuando empiezo como un script de clon. Aquí, lo que necesitamos es verificar si nuestro sprite clon se encuentra a cierta distancia de nuestro sprite elenco Así podemos pasar a la pestaña de detección y agarrar este bloque que se llama distancia dos. Aquí, podemos cambiar la entrada del puntero del mouse a nuestro coche reproductor. Y entonces lo que necesitamos es menos que operador, así podemos agarrar uno de estos, así como ves el código aquí, cuando nuestra y es menor que menos dos diez, nuestro cono se borra a sí mismo En lugar de eso, podemos comprobar si la distancia de nuestro coche jugador es menor a 90, y si lo es, podemos hacer que reproduzca el sonido. Entonces todo lo que tenemos que hacer es agarrar un if condicional, y luego este código de sonido de inicio. Entonces pegarlo todo junto, y finalmente arrastrar todo este bloque dentro de nuestro bucle forever. Ahora, golpeando play, como puedes ver, cuando pasamos por un auto muy cerca, ahora emite un sonido. Sí, notarás que suena como que está fallando un poco, y esto se debe básicamente a que nuestro código sigue reproduciendo el sonido continuamente hasta que nuestro auto está fuera de alcance Pero no te preocupes por eso ahora mismo ya cuando agreguemos nuestra música de fondo pronto, todo se unirá. Bueno, eso es. Con eso, nuestro auto de obstáculos tiene un efecto de sonido genial, pruébalo. Si no lo lograste, porque en la siguiente lección, vamos a agregar algunos toques finales que completarán nuestro juego. 38. El toque final: enriquece la jugabilidad con efectos de sonido y música: Bueno, esto es todo. Es hora de acabar con esta cosa. Entonces, para terminar este juego, vamos a agregar algunos efectos de sonido más, y luego agregar algo de música de fondo. Entonces comencemos con lo más fácil porque, quiero decir, a quién no le gusta hacer las cosas más fáciles primero. Pero queremos agregar un buen sonido de fondo a nuestro proyecto. Así que haciendo clic en nuestros fondos, derecho, podemos agregar en un clic de bandera cuando y un para voluta Luego moviéndonos a la pestaña de sonidos y aspirando sobre este botón Luego podemos seleccionar subir sonido. Y aquí podemos seleccionar un sonido de fondo de nuestra carpeta de música y efectos de sonido. Para este juego, podemos usar funk casino. Volviendo a nuestro código, podemos arrastrar el sonido de reproducción hasta que termine bloquear y seleccionar funk casino o cualquier sonido que subas Y golpeando play. Observe lo mejor que es eso. Y también fíjate como nuestro efecto de sonido para nuestro auto funciona mucho mejor. De hecho suena bastante bien. Entonces, con eso hecho, pasemos a nuestro siguiente efecto de sonido, nuestro efecto de sonido de derrape de autos Y aquí, básicamente, lo que queremos que suceda es que nuestro auto haga un sonido derrapante cuando choquemos con un obstáculo Así que al pasar a nuestro sprite de coche jugador, podemos agregar en este sonido Entonces haciendo clic en la pestaña de sonidos y eligiendo un sonido, entonces podemos buscar skid. Lo cual es un columpio aquí. Entonces seleccionándolo y volviendo a nuestro código. Ahora, lo que queremos es que nuestro auto reproduzca este sonido derrapante cuando toque un obstáculo Entonces, si miras el guión aquí, este es básicamente el guión que detecta si nuestro auto está tocando un obstáculo. Entonces todo lo que tenemos que hacer es agregar en esta jugada sonido de patín al inicio de cada una de estas comprobaciones. Entonces agregando uno a cada uno. Entonces podemos golpear play. Golpearlo es un obstáculo. Sí. Eso no está del todo bien. Pero básicamente, lo que está sucediendo es que nuestro sonido de patín de reproducción está interfiriendo con nuestro otro código porque si miras el guión, reproduce el sonido del derrape hasta que se hace antes de que pase a los siguientes bloques de código. Entonces para arreglar esto, todo lo que tenemos que hacer es eliminar todos estos sonidos de juego de patines hasta que se hagan los bloques y reemplazarlos con este patín de sonido de arranque. Y con eso, podemos volver a jugar. Es un obstáculo. Entonces lo tienes. Eso es mucho mejor. Ahora, antes de concluir esta lección, solo hay una cosa más, y es cambiar el tono de nuestro auto de obstáculos para que medida que estos autos pasen a una velocidad más rápida, también suene más rápido. Entonces, al pasar a nuestro sprite de carro de obstáculos, todo lo que tenemos que hacer es agarrar una bandera de victoria , hacer clic, luego este bloque de tono establecido y establecer el tono en cero, que básicamente es configurarlo por defecto cuando comienza el juego Entonces agarra un bucle para siempre. Y entonces podemos poner este cambio efecto de tono por bloque dentro de nuestro bucle. Y por último, para asegurarse de que el terreno de juego no vaya instantáneamente extremadamente alto. Podemos agregar bloque de peso y cambiarlo a, digamos 10 segundos. Te dejaré probar eso por ti mismo porque hemos llegado al final de nuestra lección y al final de nuestra sección, y hemos completado este juego. Realmente, muy buen trabajo para llegar hasta aquí. Ciertamente has logrado mucho. Así que date una buena almohadilla en la espalda porque realmente te lo mereces. 39. Embarque en una aventura de esquí arcade: conceptualización de la obra maestra: Bueno, este es un momento emocionante porque este es el comienzo de tu próxima obra maestra. Al igual que en esta lección, comenzaremos a desarrollar nuestro próximo juego. Odio decir eso, pero éste va a avergonzar a todos tus proyectos pasados. Hagámoslo. Y creo que a estas alturas, ya conoces el simulacro. Lo primero es lo primero. Empecemos por crear nuestros nuevos proyectos. Y al igual que todas las otras veces, podemos hacer esto simplemente haciendo clic en este botón aquí. Ahora, antes de que hagamos algo, si miras a la cima aquí, puedes ver que nuestro proyecto se llama simplemente sin título, lo cual es un poco poco poco inspirado Lo primero que podemos hacer es cambiarle el nombre a Arcade Ski Adventure, o lo que quieras. Una cosa más, puedes eliminar este default en sprite, ya que definitivamente no lo necesitamos en este proyecto, no esquiar para el gato Ahora, con eso fuera del camino. Antes de importar algún sprites o hacer algo, necesitamos obtener una visión general de alto nivel de nuestro juego para entender qué es, qué hace y luego qué pasos podemos dar para lograrlo Porque recuerda, es importante descomponer un gran problema en pasos alcanzables Discutimos cómo podemos seguir un flujo de trabajo de tres pasos al hacer juegos, que estamos configurando la estructura básica del juego, luego desarrollando la mecánica del juego y finalmente puliendo el juego. Ahora, esos tres pasos son geniales. Pero si bien este método funciona muy bien para juegos más pequeños, para proyectos más ambiciosos, necesitamos un plan de acción más detallado. Así que déjame presentarte el proceso ampliado de cinco pasos, hecho a el proceso ampliado de cinco pasos, medida para juegos más grandes, y seguir esta guía te ayudará mucho con los emocionantes juegos, aplicaciones y animaciones que producirás en el futuro. Etapa uno, ideas y diseño. En esta etapa, todo se trata de ideas. Imagínalo como bosquejar el plano de nuestro juego. ¿Cuál es la historia? ¿Qué tipo de personajes estamos viendo? Cuál es el tema central. Al final de esta fase, tendremos una idea de diseño de juego integral que describe todo sobre nuestro juego. Etapa dos, montando los cimientos. Piense en esto como colocar los ladrillos y el mortero para nuestro juego. Al igual que antes, aquí estaremos importando todos los sprites que necesites y luego colocándolos, para que tengas una mejor idea de cómo va a funcionar todo Etapa tres, desarrollando la mecánica de juego central. Aquí nuestro juego comienza a mostrar signos de vida. Aquí es donde comienza la acción real , codificando el movimiento del jugador, estableciendo la lógica del juego, diseñando niveles y todo lo que hace que nuestro juego sea bien, un juego. Etapa cuatro, mejora y expansión. Ahora que tenemos un juego jugable, es hora de agregar capas a tal vez a un nuevo nivel o un enemigo desafiante o incluso a un poder sorpresa Esta etapa se trata de agregar características y mejorar nuestro juego. Entonces, cuando llegues a la etapa cuatro, necesitas volver a la etapa uno. Entonces digamos que queremos un nuevo enemigo en nuestro juego. Aquí, tendrías que volver a la etapa de diseño, luego a importarlo, luego a desarrollarlo como mecánica, si te da la idea. Y luego finalmente etapa cinco, pulido y finalización. Este es el toque final. Refinaremos los gráficos, introduciremos efectos de sonido, afinaremos la interfaz de usuario y probaremos rigurosamente nuestro juego para solucionar cualquier error y mejorar la experiencia general del usuario Entonces, al seguir el proceso estructurado de cinco pasos, nos aseguraremos de que nuestro viaje de desarrollo de juegos esté organizado de manera eficiente y, lo más importante, agradable. Y recuerda, cada gran juego comienza con solo una idea simple. Con una planeación cuidadosa y una ejecución paso a paso, realmente no hay límite de lo que podemos lograr. Pero con todo eso fuera del camino, empecemos con el paso uno. Esto debería ser lo suficientemente rápido porque ya sabemos lo que queremos para nuestro juego. Básicamente, queremos algo no muy diferente de nuestro último juego. Aquí vamos a tener esos obstáculos que se nos acercan y que necesitamos esquivar. Esto de nuevo, le daremos al jugador la ilusión de movimiento. Pero esta vez, parecerá que están esquiando bajando una montaña a través de un bosque. Aquí queremos que los árboles se desvanezcan a vista y que nuestro jugador tenga un bonito efecto de giro. También queremos que nuestro jugador tenga píxeles de nieve que los sigan, que deberían parecerse a marcas de esquí verías en la nieve normal. Y eso es básicamente todo para la primera parte de nuestro juego. Después agregamos cosas nuevas como una pantalla de inicio, un botón de reinicio y otras cosas emocionantes que podemos volver a visitar estos primeros pasos Pero prepárate porque para la siguiente lección, estaremos incorporando todos nuestros sprites. 40. Estructuración del escenario: importación del Arsenal: Bueno, es hora del paso dos, que es organizar adecuadamente nuestro proyecto importando todos nuestros sprites Ahora, recuerden para esta etapa, no vamos a importar nuestros inicios verdes y otras características al juego. A recordar, con nuestro flujo de trabajo, lo discutimos antes, lo haremos más adelante. Esto también hace que las cosas sean un poco menos abrumadoras. Dicho esto, sin embargo, si no quieres seguir e importar manualmente estas cosas, también puedes descargar la versión de inicio del proyecto, y al igual que antes, haciendo clic en este botón, luego haciendo clic en cargar desde tu computadora. Después seleccionando el proyecto de inicio. Aquí, verás que tenemos todo nuestro sprite listo para funcionar, sí, esto también incluye nuestro sprite de pantalla de inicio y nuestros botones Dicho esto, sin embargo, como quiero que aprendas el proceso de desarrollar un juego correctamente para que puedas hacerlo por ti mismo y la práctica hace la perfección. Hagamos esto de la manera correcta. Ahora, vamos a traer nuestro primer sprite. Al hacer clic en este botón aquí, podemos seleccionar nuestro sprite reproductor, que se encuentra debajo de esta carpeta Como puedes ver, hay tres sprites diferentes para elegir Y esto se debe a que hay estos trajes diferentes. Simplemente podemos seleccionar cualquiera de estos ya que agregaremos el resto hace un momento. Golpeando abierto. Aquí, verás a nuestro jugador sprite Ahora antes de agregar los obstáculos, agreguemos rápidamente los otros disfraces para el sprite Pasando a la pestaña de disfraces, y haciendo clic aquí, entonces podemos seleccionar los otros dos disfraces. Con eso hecho, ahora podemos importar nuestro sprite de árbol, que son los obstáculos en nuestro juego Al hacer clic en este botón aquí y luego pasar a nuestra carpeta de sprites de árbol aquí Al igual que antes, podemos seleccionar cualquiera de estos sprites de obstáculos Una vez que lo hayamos hecho, podemos pasar a nuestra pestaña de disfraces y luego seleccionar el resto de ellos. Y ahí tienes. Tenemos todos nuestros sprites listos para ir Y antes de pasar a nuestro sprite final, solo hay algunas modificaciones que necesitamos hacer, que es como este disfraz de arbusto es demasiado grande, así que simplemente podemos seleccionarlo y reducirlo así También, podemos hacer lo mismo por estas piedras como son también, pero grandes. Bien, bien. Entonces, antes de agregar nuestro sprite de nieve, vamos a dimensionar estos árboles que se vean bien porque como puedes ver, definitivamente todavía están para nuestro sprite de árbol, digamos que tamaño a 50, que parece mucho más pequeño en comparación con nuestro jugador, lo que realmente no tiene sentido a lo que realmente no tiene sentido menos que nuestro jugador sea algún tipo de gigante Digamos que nuestro jugador sprite, mucho más pequeño, digamos 17 Entonces ahora como puedes ver eso se ve mucho mejor. Lo último son nuestros pixeles de nieve. Y esta vez, vamos a hacer los nuestros propios. Ahora, para hacer esto, en lugar de seleccionar Elegir un sprite, vamos a hacer clic en este botón aquí, lo que nos permite diseñar sprites propios Con esto, podemos seleccionar la forma cuadrada. Antes de hacer algo, necesitamos cambiar el color para que sea más gris como la nieve. Seleccionando este botón aquí, podemos disminuir la saturación y el brillo. Como puedes ver, tenemos un bonito color gris. Con eso, podemos dibujar un pequeño cuadrado justo en el medio de nuestra pantalla básicamente porque queremos que esto sea como un sendero de nieve, podemos disminuir el tamaño, y aquí solo jugando con él hasta encontrar algo que se vea bien. Eso se ve bien. Con eso, necesitamos más píxeles de nieve para el otro esquí. Pero en lugar de volver a hacer todo eso, podemos simplemente darle a este botón duplicado. Y mientras estamos en ello, vamos a darle a nuestros sprites un nombre como snow pixel one y snow pixel two Entonces lo tienes. Todos nuestros sprites son importados y listos para cobrar vida. Así que prepárate porque estas próximas lecciones van a ser muy divertidas. 41. Iniciación del movimiento: elaboración de la dinámica de los jugadores: Derecha. Así que tenemos todos nuestros sprites en orden, y estamos listos para comenzar a trabajar en nuestra mecánica de juego Y para empezar, hagamos que nuestro sprite de jugador funcione Ahora, sólo para que podamos enfocarnos en una cosa. Vamos a ocultar rápidamente estos otros sprites sólo hacer clic en este icono aquí, y podemos hacer lo mismo para esto Y ahí vamos. Ahora, movamos nuestro sprite de jugador principal por la pantalla en algún lugar cerca de menos uno a cinco. Ahí vamos. Así que tenemos a nuestro jugador sprite para poder movernos de izquierda a derecha en la pantalla, por suerte, sabemos bastante bien cómo hacer esto por nuestro último proyecto, ¿recuerdas? Vamos a traer los bloques básicos una vez más, el W empieza para siempre y F y también el bloque F L. Para que nuestra placa se mueva hacia la izquierda o hacia la derecha, podemos agarrar dos de estos bloques de código pulsados por tecla y cambiarlo a la izquierda y el otro a la derecha. Entonces podemos ponerlos en cada una de estas entradas F y estructurarlo tal como lo hicimos antes. Ahora, antes de agregar en nuestro cambio x por y dirección de punto, vamos a duplicar este script aquí. Básicamente, estoy haciendo esto para que podamos tener dos guiones separados, uno que controle nuestra dirección de apuntamiento y el otro que controle nuestro movimiento. Hacer esto mantiene nuestro código mucho más organizado al asegurar que cada script que tenemos no intente hacer demasiadas cosas. Esto se llama componentización en programación y es un concepto muy importante También hago que nuestro código sea más reutilizable, ya que podemos crear scripts que hagan bien ciertas cosas, y luego podemos usar el script en diferentes proyectos. Comparado con si solo tuviéramos un guión largo enredado que fuera específico solo para un proyecto Como si pudiéramos usar este script de movimiento en otro lugar. Pero si tuviera la dirección puntual con el movimiento integrado, sería mucho más difícil usarlo con otro código. Entonces comencemos con nuestro guión de movimiento. Entonces hice clic con la flecha derecha, podemos cambiar x por diez, si se hace clic con la flecha izquierda, podemos cambiar x por menos diez, y haciendo clic en reproducir Como puedes ver, nuestro movimiento funciona, y si es un poco rudo. Pero pronto estaremos mejorando esto para que se vea más suave. Pero por ahora, vamos a rodar con esto. Hagamos que nuestra animación de dirección funcione ahora. Básicamente, como hicimos antes, si se hace clic con flecha derecha, podemos agregar en esta dirección de punto y apuntar a la derecha y si se hace clic con flecha izquierda, podemos apuntar a la izquierda así como así Probemos eso. Bien. Eso no está bien. Y si recuerdas de antes, porque nuestra posición de vestuario de Sprites no está enfrentando a la derecha, tenemos este problema Ahora, en lugar de cambiar la dirección del vestuario y el editor como lo hicimos antes, veamos otra solución. Aquí, podemos simplemente establecer el punto derecho a uno oh cinco y apuntar a la izquierda a 75 y hacia adelante a 90 grados y haciendo clic en reproducir. Ves que esto funciona. Aunque podría ser una mejor práctica cambiarlo como lo hacíamos antes. Pero como digo, si no está quebrado, no lo arregles. Con eso hecho, todo lo que tenemos que hacer es cambiar el disfraz. Y esto ya es bastante fácil. Entonces, si hacemos clic en la flecha derecha, podemos cambiar el disfraz a la derecha y la L al disfraz de Ford y el traje de izquierda a la izquierda. Así como así. A fácil. Al hacer clic en reproducir. Como puedes ver, se ve mucho mejor, pero te animo a que juegues con el código, ver si tal vez puedes modificarlo para que sea aún mejor porque solo estamos empezando 42. Mejora del realismo: domina la dinámica de esquí: Es hora de hacer que nuestro personaje de esquí se vea más como si realmente estuviera esquiando y menos como si estuviera conduciendo. Porque ahora mismo, nuestro personaje simplemente se mueve a izquierda y derecha, algo parecido a nuestro auto. No obstante, lo que queremos, es poder deslizarse casi como si estuvieras en la nieve, es decir, si nos movemos hacia la izquierda y luego soltamos Aakes debería seguir deslizándose un poco, mientras que por el momento, nuestro personaje simplemente se detiene Entonces, ¿cómo podemos lograr este movimiento de giro más dinámico y suave Y al principio, puede parecer que no hay una respuesta obvia aquí. Quizás estés pensando en usar este bloque de deslizamiento aquí, pero solo puedes deslizarte a una posición específica y no puedes simplemente cambiar tu posición con un movimiento de deslizamiento Sin embargo, la programación tiene que ver con la resolución de problemas. Usando las herramientas que tenemos, y una de esas herramientas son variables. Aquí, hay muchas cosas que las variables pueden hacer. Veamos cómo podemos utilizarlos a nuestro favor. Vamos a crear una variable y la llamaremos dirección de movimiento. Ahora volviendo a nuestro script aquí, eliminemos este cambio x by en declaraciones DF y arrastremos una de ellas al bucle de cuatro. Sé que esto me parece extraño, pero tengan paciencia conmigo. Luego arrastre esta dirección de movimiento hacia el cambio x por. Ahora por fin, si se hace clic en la flecha derecha, quiero cambiar la dirección del movimiento por una Si se hace clic en la flecha izquierda, quiero cambiar la dirección del movimiento por menos uno Y espero que esto esté empezando a tener sentido, a, porque básicamente lo que está sucediendo en el guión es nuestro personaje siempre se mueve en la dirección de esta variable. Y el valor de esta variable viene determinado por el si hacemos clic en la flecha izquierda o derecha. Entonces vamos a darle una prueba a esto. Entonces, como puedes ver, cuando hacemos clic a la izquierda o a la derecha, nuestra variable de dirección de movimiento va hacia arriba y hacia abajo. Además, como puedes ver, movimiento de nuestro jugador es mucho más suave, y se siente mucho más como el esquí real. Sin embargo, hay un problema que podrías notar. Y si soltamos nuestras llaves después de girar, nuestra jugada simplemente sigue a la deriva en la dirección en la que iba, lo que definitivamente no es lo ideal Entonces, para arreglar esto, necesitamos una forma para que nuestras variables vuelvan automáticamente a cero. Y tal vez estés pensando, Oh, solo metemos esto dentro de nuestro bloque als. Bueno, probando eso ya verás. Si esquiamos a la izquierda y vamos, bueno, eso es un poco duro. O notarás que si esquiamos a la derecha, casi va en cámara lenta. Bueno, eso es solo porque nuestro guión F está mal configurado porque si lo miras, tenemos una declaración F L y una sentencia if debajo de ella, que nunca es algo que debas hacer, ya que la L siempre debe ser la última en la comprobación condicional. Arreglemos ahora este error. Para arreglar esto, todo lo que tenemos que hacer es agarrar otro si bloque L. Entonces pega este código dentro, deshazte de la sentencia if, y luego finalmente pon todo este código dentro de nuestra F L. Ahora si lo miras, puedes ver que nuestro LS es la condición final. Si jugamos, no va en cámara lenta, aunque todavía tenemos el mismo problema de parada dura. Pero antes de arreglarlo, vamos arreglar rápidamente este otro script, como puedes ver cometimos el mismo error aquí, mucho mejor y mucho más limpio código esto. Ahora, arreglemos el último problema de que nuestro personaje simplemente se detenga cuando lo soltamos. Lo primero que podemos hacer es deshacernos de esta dirección de movimiento establecida a cero, y aquí necesitamos una forma para que lentamente lleve nuestra variable de vuelta a cero. La mejor manera de hacerlo es usando las matemáticas de nuestro viejo amigo, pero por suerte no del tipo duro Entonces vamos a necesitar un poco más si los cheques. Primero tomemos uno más de estos, si bloques, y un bloque F. Pondremos el primero dentro de aquí, y el segundo dentro de éste. Bien. Para este primer bloque F n, básicamente queremos comprobar si nuestra dirección de movimiento ya es cero. Y si es así, no queremos hacer nada más. Entonces para ello, aquí vamos a agarrar unas cuadras, que son las dos variables de dirección del movimiento, una mayor, una menor que y una cuadra. Para que podamos conectar todos estos juntos así como así. Y aquí queremos comprobar si nuestra dirección de movimiento es mayor que 0.1 y menor que -0.1 Y lo que esto está haciendo es básicamente comprobar nuestra dirección de movimiento no es igual a cero. Entonces podemos poner esto en nuestra primera condición F. Ahora al siguiente, simplemente, podemos simplemente duplicar esto aquí, meterlo dentro de nuestra declaración F, y ponerla a cero. Básicamente, ahora, si la dirección del movimiento es menor que cero, queremos cambiar el movimiento por un número positivo para recuperarlo lentamente. Digamos 0.2. Entonces finalmente, en esta declaración L, podemos cambiar la dirección del movimiento en -0.2 Todo esto puede parecer un poco confuso. Pero si lo miras como un todo, no es tan confuso. Pasa por ella desde arriba. Básicamente, primero estamos detectando si nuestro sprite se está moviendo Si lo es, entonces queremos ralentizarlo. Si se mueve hacia la izquierda, lo ralentizamos al aumentar este número. De lo contrario, si se está moviendo hacia la derecha, disminuimos este número. Eso es más o menos. Vamos a darle una oportunidad. Esquiar de izquierda y derecha está funcionando bien. Entonces soltando nuestras llaves. Como puedes ver, nuestro jugador poco a poco llega a una parada perfecta. Ahora podemos ocultar nuestras variables de dirección de movimiento ya que todo está funcionando. Ese es el final de esta lección. que podría haber sido confuso. Entonces, lo que quiero que hagas ahora es que rara vez mires bien el guión para entenderlo mejor. También juega con él. Cambiar algunos valores y ver qué pasa porque de esto se trata el aprendizaje. Siempre puedes presionar el botón mágico, comandos o control para hacer lo que hiciste. Deshacer hasta que lo tengas resuelto. 43. Mejora de los árboles: aprovechando las ideas del pasado: Bien, entonces nuestro jugador sprite se ve muy bien. Creo que es hora de pasar a nuestro sprite de árbol y follaje Ahora bien, este proceso también va a ser bastante similar a nuestro sprite de obstáculos de coche de nuestro juego anterior, así que podemos tomar ese conocimiento e implementarlo aquí De eso se trata la programación. Usando lo que has aprendido y aplicándolo en diferentes escenarios para resolver diferentes problemas. El primero, vamos a hacer clic en este botón aquí para que podamos volver a ver nuestro sprite. Ahora, podríamos seguir adelante y construir todo este código desde cero, pero quiero mostrarte algo genial. Si miras hacia abajo en la parte inferior de tu pantalla, verás que hay este botón que dice mochila. Y si haces clic en él, verás que abre esta ventana en la parte inferior. Y básicamente, lo que es esto es un lugar donde se pueden almacenar scripts y reutilizarlos en otros lugares. Porque recuerden como dije antes, cómo crear código reutilizable es tan importante. Bueno, aquí, ya lo vas a ver. Si volvemos de nuevo a nuestra carrera de tráfico, y luego a nuestro sprite de autos, lo que podemos hacer es abrir nuestra mochila y mirar el guión aquí que controla los autos clonados, haciéndolos deslizarse hasta el fondo de la pantalla Lo que podemos hacer es arrastrar el guión aquí dentro de nuestra mochila. Como también necesitamos el script que crea los clones, también podemos agarrar eso. Antes de hacerlo, elimine este bloque de la sentencia weight, luego arrástrelo. Ahora podemos volver a poner este bloque. De esta manera, no tenemos todo este código que no necesitamos en nuestra mochila. Ahora volviendo a nuestro juego de esquí, es posible que solo necesites cerrar y volver a abrir la mochila para refrescarla, y ahí está Ahora, todo lo que tenemos que hacer es arrastrarlo hacia adentro, y podemos hacer lo mismo con el guión. Y ahí tienes. Verás aquí que trae con sus variables, que es el movimiento y la velocidad, y en realidad puedes quedarte eso ya que las usaremos en este juego. Antes de editar el guión, arrojemos algo de luz sobre otro principio clave de programación, la compartimentación Sí, sé que suena como una gran palabra, pero es importante. Tratemos de entender lo que esto significa con una visualización del mundo real. Imagina tu juego como una gran ciudad bulliciosa y ocupada. Ahora bien, en una ciudad, no sólo revolverías las casas y las oficinas y las industrias y los parques todo en un solo espacio, ¿ En cambio, los ubicarías en distritos o compartimentos, tendrías zonas residenciales y zonas industriales y zonas de negocios, parques, etcétera Esta es la esencia de la codificación de compartimentación. Al segmentar nuestro código en distintas secciones o compartimentos, cada uno dedicado a una función o tarea específica, y al hacerlo, logramos dos grandes beneficios Primero, un código se vuelve mucho más organizado y manejable. Así como los funcionarios de la ciudad solo necesitarían revisar y administrar un distrito específico para cualquier cambio, los desarrolladores pueden enfocarse en compartimentos individuales de código sin sentirse abrumados por la totalidad del código En segundo lugar, este enfoque ayuda en gran medida a crear código reutilizable. Ahora, cuando las secciones de código se compartimentan de manera efectiva, a menudo se pueden recoger y colocar en otro proyecto que puede ser solo algunos ajustes mínimos, igual que reutilizamos el código de obstáculos de nuestro juego de corredor de tráfico En este punto, quiero mostrarles cómo podemos hacer lo mismo para nuestro juego de corredores de tráfico para darle una actualización rápida. Entonces, si vamos a nuestro sprite de jugador principal, abre nuestra mochila y luego arrastramos el guión dentro de ella Luego podemos volver a nuestro juego de corredores de tráfico, refrescar la mochila y luego arrastrar el guión a nuestro sprite principal de autos Entonces podemos eliminar todos estos bloques de cambio x del script así. Ahora, cambiará x por nuestra dirección de movimiento al igual que con nuestro juego de esquí y juego de bateo. Bueno, eso funciona de alguna manera. El único problema es que la dirección de nuestro auto se ve un poco rara. Entonces para arreglarlo. También podemos simplemente insertar estas variables de dirección de movimiento en la dirección de nuestro punto. Entonces de esta manera, nuestro auto se enfrenta a la forma en que está girando. Así que haciendo clic en reproducir una vez más. Bueno, eso es mucho mejor, y agrega un elemento completamente nuevo a nuestro juego. Y fue tan rápido. Ese es el poder del código reutilizable en la compartimentación. Pero con todo eso dicho, volvamos a nuestro juego de esquí y también a nuestro sprite de árbol Entonces ahora todo lo que tenemos que hacer es editar un poco el guión para que funcione mejor para este juego, igual que hicimos con el juego de tráfico. Entonces podemos cambiar los disfraces de Switch para elegir 1-11, y así es como muchos disfraces tenemos Entonces podemos eliminar todo esto ya no tenemos carriles de los que preocuparnos, sino que podemos simplemente poner en un pick random para nuestra entrada x y tenerla entre menos 22220 Entonces podemos eliminar esta variable de velocidad de movimiento del código y simplemente ponerla en menos nueve. Entonces podemos establecer el tamaño en 50 ya que es nuestro tamaño actual. Por último, podemos eliminar la condición que hace sonar la sala de tallado Dándole una oportunidad, Como puedes ver los árboles bajan muy bien y empiezan a sentirse un poco más como esquiar. No obstante, hay un problema, que quizás hayas notado es que el sprite de piedra parece quedar atascado en la parte inferior de la pantalla Bueno, podemos arreglar esto entrando en el editor de vestuario usando la herramienta de selección y haciendo clic en nuestra roca y luego arrastrándola más arriba. Ahora notarás que debería dejar de atascarse. Pero si el tuyo sigue atascado, solo muévelo un poco más alto mismo para cualquier otro sprites que esté recibiendo estructuras, sigue moviéndolos alto hasta que dejen de atascarse Pero ahí lo tienes. esquiando por unas pistas frescas. Te ves como un absoluto natural que eres. 44. Elaboración de senderos de nieve: simulación de marcas de esquí: Es hora de hacer que nuestro juego de esquí parezca un esquí a. La forma más fácil de hacerlo es agregando una pista de nieve a nuestro personaje principal. En esta lección, vamos a ver cómo podemos convertir estos pequeños cuadrados en un efecto de rastro de nieve. Lo primero es lo primero. Pasemos a uno de nuestros sprites de píxeles de nieve. Ahora, pensemos en lo que tiene que pasar. Básicamente, queremos que este bloque gris vaya a nuestro esquí izquierdo. Entonces cuando está en la base de nuestro esquí, queremos que se deslíce hacia abajo. Obviamente, esto realmente no funcionaría si solo tuviéramos uno ya que realmente no tendríamos un rastro, igual que antes, podemos aprovechar el clooning para crear este efecto Para ahorrar algo de tiempo, vayamos a nuestro sprite de árbol y luego arrastremos aquí el script que crea clones en nuestro sprite de píxeles Ahora para la siguiente parte, podemos arrastrar en el cuando inicié un bloque clon. Ahora lo que queremos es que este pixel vaya a nuestro esquí izquierdo, para que primero podamos mostrarlo ya que actualmente está oculto. Entonces podemos ir a nuestro grupo de movimientos y arrastrar en este bloque go Y luego selecciona nuestro spot de jugador. Entonces lo que queremos que suceda es que nuestro píxel empiece a moverse hacia abajo para que parezca que estamos avanzando. Ahora una manera fácil de hacer esto es agarrar un bloque repetido y luego pegar un cambio y por bloque dentro. Aquí, podemos cambiar y por menos cinco, y finalmente, podemos eliminar el clon. Dándole una prueba a eso. Bueno, como puedes ver, funciona un poco, pero como tenemos un bloque de peso aquí, no está desove lo suficientemente rápido Simplemente, podemos eliminar este bloque y darle otra oportunidad a ese. Bueno, eso pres bien. Creo que verás que nuestro pixel sí engendra en el medio de nuestro personaje, y como sabes, queremos que siga nuestro esquí Es hora de un mini desafío rápido. Pausa el video y trata de ver si puedes obtener nuestro píxel de nieve para seguir el esquí en lugar de la mitad de nuestro sprite Ven. Pausa el video y pruébalo. Bueno, ojalá no intentaras complicar en este reto porque la solución en realidad es bastante fácil Aquí, todo lo que necesitas hacer es agarrar un cambio x agregándolo debajo del bloque G dos, y simplemente seguir jugando con este número hasta que obtengas algo que esté perfectamente alineado con nuestro esquema como Y ahora para que el otro esquí funcione. Podemos simplemente arrastrar ambos scripts a nuestro sprite aquí, así, y luego simplemente agregar este cambio x por hasta que coincida con nuestro otro esquí como Un problema al que también te puedes enfrentar es que tu píxel de nieve desove frente a tu personaje de esquí Y aquí tienes que hacer es pasar a la pestaña Los establecer este bloque para volver a la capa y simplemente hacer clic en él y ni siquiera necesitas traerlo. Entonces lo tienes con el sprite más básico y un código realmente simple, mira cuánto mejor eso hace que el juego Ahora parece que en realidad estamos esquiando y tenemos un sendero que sigue detrás de nosotros. Y eso es todo por esta lección. Pero antes de irme, te dejaré con una cita de un famoso programa que es un tonto admiradores complejidad, un genio, admiradores simplicidad. Recuerda, a menudo el código más simple es el mejor código. 45. Optimización de códigos: mejora de las mecánicas de juego: Un juego realmente está empezando a tomar forma. Pero antes de seguir adelante y a medida que seguimos desarrollándonos, necesitamos asegurarnos de que nuestro código sea siempre un problema robusto y más libre A veces solo encontrarás estos errores cuando impactan en tu juego de alguna manera. Pero cuanto más programes, más entenderás cómo mantener limpio tu código. Pero dicho eso, echemos un vistazo a nuestro código y veamos dónde podemos mejorarlo. En primer lugar, mirando nuestro sprite de árbol, aquí tenemos este peso codificado duro 1 segundo, y eso determina la tasa de la rapidez con la que nuestros árboles desovan Si recuerdas de antes, tener valores codificados no siempre es una buena idea, sobre todo si queremos modificar y mejorar nuestro juego en el futuro. En lugar de tener este valor codificado duro, vamos a crear una variable para él en su lugar. Vamos a llamar a esta variable una tasa de generación, y podemos moverla a la entrada de peso de 1 segundo Ahora, como nuestra tasa de desove se establece en cero, los árboles simplemente van a inundar Pero antes de establecer esta variable en un valor diferente, antes, vamos a un valor diferente, antes, crear un sprite llamado variables que podamos usar para controlar todas nuestras variables globales Simplemente seleccionaré un sprite aleatorio como esta bola. Cambie el nombre de dos variables, y simplemente elimine todos sus disfraces. Ahora podemos traer un clic de inicio cuando, luego podemos establecer nuestra variable de tasa de generación en uno Al igual que yo pegamos play, ya verás que funciona. Echemos un vistazo para ver dónde más podemos mejorar. Al mirar nuestro sprite de jugador principal, verás que nunca establecemos el valor de nuestra dirección de movimiento al inicio del juego Básicamente, verás que si esquiamos hacia la izquierda, luego paramos el juego y luego iniciamos el juego, sigue esquiando a la izquierda. Podemos arreglar esto rápidamente volviendo a nuestro sprite variable y estableciendo nuestra dirección de movimiento a cero Fijo. Ahora, lo siguiente que quizás hayas notado es cómo nuestro sprite jugador puede moverse a velocidades locas a izquierda y derecha, si mantenemos presionado el tiempo suficiente Necesitamos una forma de limitar la velocidad máxima de movimiento. Si vamos a nuestro jugador Sprite, verás este código aquí, que si hacemos clic hacia la izquierda o hacia la derecha, simplemente cambiamos constantemente dirección del movimiento por uno o menos uno Tenemos que ponerle un límite a esto. Aquí tienes un mini reto para ti. Pausa el video e intenta ver si puedes evitar que esta dirección de movimiento se ponga demasiado alta. Pausa ahora y mira si puedes averiguarlo. ¿Lo entendiste bien? Bueno, vamos a echar un vistazo a cómo se podría hacer. Recuerda en el programa, a menudo hay un montón de formas de hacer algo. Entonces, si logras resolver este problema, pero tu solución no se ve igual que la mía, eso no es un problema. La clave, sin embargo, es tener y encontrar la solución más simple pero robusta a los problemas. Entonces aquí donde decimos, si se hace clic con la flecha izquierda, voy a agregar otra condición if que comprobará para asegurarse de que el valor no sea demasiado alto antes de aumentarlo También podemos agregar una condición F al arrw derecho. Ahora lo que queremos comprobar es si la dirección del movimiento es mayor a 18, que tendremos que ser nuestra velocidad máxima. Por supuesto, -18 será nuestra velocidad máxima en la otra dirección Comprueba si la dirección del movimiento es menor a -18 así Y si le damos una jugada a esto. Bueno, eso no está del todo bien, y aquí tenemos un problema sencillo. Básicamente, sólo estamos permitiendo que el jugador utilice la dirección de las flechas si se mueven a más de 18 o menos de 18, queremos que sea lo contrario de esto. Garantizar que los jugadores no puedan ir más rápido que 18 o -18. Simplemente todo lo que tenemos que hacer es acudir a los operadores, agarrar este nudo y pegarlos en cada una de estas f condiciones. Así. Ahora probando de nuevo el juego. Eso funciona mucho mejor. Ahora, antes de cerrar este juego, agreguemos rápidamente algunas funcionalidades para que nuestros árboles desoven a una velocidad cada vez mayor Para ello, vamos a usar una solución rápida y sucia, que es todo lo que hemos estado tratando de arreglar en esta lección. Pero esto te ayudará a ver cómo se ve el código malo. Y también, veremos una solución mucho más agradable en una lección futura Pasando a nuestro sprite variable, aquí, tomemos otro al principio Todo lo que vamos a hacer es agarrar un peso y luego agarrar una variable establecida y cambiar su entrada a tasa de desove y luego cambiar el peso a 15 segundos. Ahora para la parte sucia, agarra este bloque, duplica, vuelve a agarrarlo desde el principio y duplicarlo nuevamente. Una vez más. Ahora vamos a bajar lentamente la tasa de desove, y vamos a hacer esto hasta llegar a 0.3, empezando por uno, así como así Para que veas que fue rápido y fácil. Pero como bien sabrás, esto definitivamente no es un código seco, y sí nos repetimos, y este código es muy engorroso y es difícil de actualizar y mantener como sabes, así que pronto veremos una solución mucho mejor Pero por ahora, si le damos una oportunidad a este juego, notarás que cada 15 segundos, nuestra tasa de desove disminuye lentamente y nuestros árboles empiezan a llegar más rápido Bonito. 46. Toques finales: perfecciona tu primer juego: Derecha. Es hora de ponerse manos a la obra. Entonces nuestro juego se ve bien, pero hay una característica importante que hemos ignorado, y esa es la detección de choques porque ahora mismo, solo podemos esquiar al contenido de nuestro corazón. Me meto en un árbol, bueno, eso no va a detenernos, y eso sería divertido de hacer en la vida real. Pero no funciona así en la vida real, así que no debería funcionar así en nuestro juego. En esta lección, vamos a arreglarlo. Vamos a crear un nuevo script que detecte si nos hemos estrellado en un árbol o no Entonces, en nuestro sprite principal, es un procedimiento estándar. Podemos movernos en una bandera de ganar, hacer clic en una condición para siempre y una F. Ahora, podemos pasar a nuestra detección, traer este bloque de verificación conmovedor y cambiarlo para detectar nuestro sprite de árbol Entonces si esta condición es cierta, solo podemos agregar un simple stop all. Entonces nuestro juego se detendrá si golpeamos algún árbol. Dándole a eso una obra de teatro. Como puedes ver, estamos esquiando muy bien. Lo siguiente. Si chocamos contra algún árbol. Bueno, todos desaparecen. Esto es algo que funciona, pero como puedes ver claramente, definitivamente hay algunos temas aquí. El primero es que cómo desaparecen los árboles y la parada es tan repentina. El segundo tema es lo sensible que es este código como si simplemente pateáramos al costado de nuestro árbol nuestro juego se detiene. El primer tema, ignoraremos por ahora ya que veremos una gran manera resolverlo en la siguiente esencia. Centrémonos en el segundo tema, que es como nuestro código es simplemente demasiado sensible. Aquí está tu mini desafío. Aquí quiero que intentes encontrar una solución a nuestro stop o guión. Sólo se activa si tocamos el árbol por más de 0.2 segundos. Pausa este video ahora y pruébalo. Como puedes implementarlo, solo desencadena el stop si hemos tocado el árbol por más de 0.2 segundos. Bueno, veamos cómo se hace. Agradecidamente, la solución a este problema es bastante simple, solo requiere un poco de pensamiento creativo Aquí, todo lo que necesitas hacer es seleccionar esto si verificar, duplicar, eliminar la parada, luego volver a mover esto al script, y luego podemos agarrar un bloque de peso. Aquí lo podemos meter entre estos dos si se comprueba. Por último, podemos cambiarlo a 0.2 segundos. Ahora bien, si nos fijamos en el guión, básicamente comprueba para ver si estamos tocando un trío rock, y si lo estamos, espera 0.2 segundos y luego vuelve a verificar Si todavía lo estamos tocando, entonces perdemos. Entonces es tan sencillo como eso. Esto básicamente significa hacer que la detección de choques sea menos sensible. 47. Conceptos básicos de la detección de accidentes: implementación de la lógica de colisión inicial: Entonces, como saben, cuando chocamos contra un árbol, simplemente no pueden desaparecer, que realmente no es lo que queremos. En cambio, queremos que los árboles se muelen lentamente a un calor. Ahora bien, si nos fijamos en el script que tenemos aquí, básicamente, cuando tocamos el sprite de árbol, simplemente paramos todo, y esto detiene todo el código y está causando muchos problemas Y esto no es solo con nuestros árboles desapareciendo, cuando paramos todo nuestro juego se detiene Esto significa que no podemos agregar ningún botón de reinicio ya que este botón no funcionaría si el código está todo detenido. Entonces, ¿cómo solucionamos esto? Ahora bien, por eso voy a presentarles un nuevo bloque que aún no hemos usado, que es el código del mensaje de difusión aquí. Como puede ver, es muy similar al botón when flag click, pero la diferencia clave es que el script no espera un clic de bandera Wen, sino que espera a que se transmita un mensaje específico Por ejemplo, considera un juego donde un jugador sprite se encuentra con un cofre del tesoro. Este evento puede emitir un mensaje, tesoro encontrado, que a su vez desencadena un guión que escucha tesoro encontrado y reproduce una animación de la abertura del pecho, efecto de sonido, eco y el arroyo de la tapa, y la actualización de la partitura para incluir los nuevos tesoros encontrados, y todo sucede simultáneamente Pero eso no es todo. La función de transmisión no se trata solo de activar múltiples acciones a la vez Se trata de mejorar el control y la coordinación de tu proyecto. Te permite crear proyectos complejos interactivos y responsivos sin el desorden de código demasiado complicado y usando toneladas de variables que verifican constantemente si una condición es verdadera o Es como tener un director dirigiendo una orquesta, asegurando cada instrumento o en nuestro caso, cada sprite toca en el momento adecuado para crear una experiencia hermosa y armoniosa Derecha. Con todo eso dicho, veamos cómo podemos mejorar nuestro código con esta función de transmisión. Mirando nuestro código aquí. En lugar de detenerlo todo, lo que voy a hacer es cambiarlo por este mensaje de transmisión y luego hacer clic en Nuevo mensaje y llamarlo accidente de jugador. Ahora, solo transmitiendo el mensaje jugador se estrelló, no va a hacer nada Ahora necesitamos crear código que escuche para esta transmisión Para ello, podemos movernos a nuestro sprite de árbol y aquí podemos agarrar esto cuando reciba mensaje, y el mensaje que estamos buscando es que el jugador se estrelló Cuando recibamos este mensaje, queremos que nuestros árboles se detengan. Ahora bien, el primer problema que tenemos es cómo nuestros árboles tienen una velocidad de movimiento codd dura en el momento de menos nueve, lo que no nos da mucho control. Arreglemos esto. Simplemente, podemos cambiar este menos nueve por esta variable de velocidad de movimiento que ya tenemos en nuestro proyecto. Luego pasando a nuestro sprite variable. Podemos arrastrar en este bloque y establecer nuestra variable de velocidad de movimiento a menos nueve al inicio del juego. Ahora que eso está hecho, podemos volver a pasar a nuestro sprite de árbol Ahora cuando recibamos el mensaje que el jugador se estrelló, podemos cambiar nuestra velocidad de movimiento en 0.5, podemos usar esta repetición hasta bloquear para asegurarnos nuestros árboles estén en una parada completa Podemos decir repetir, agarrar este bloque es igual y decir que la velocidad de movimiento es igual a cero. Así como así. Ahora bien, si le damos una prueba y chocamos contra un árbol, verás que nuestros árboles ahora se detienen, aunque todavía es un poco demasiado rápido. Solo podemos agregar peso y cambiarlo a 0.1 y darle otra oportunidad. Y ahí lo tienes. Ahora solo hay un problema. Así es como nuestros árboles siguen desove adentro. Para resolver esto, todo lo que necesitamos hacer es agarrar el stop o bloquear y cambiarlo para detener otros scripts en el sprite Entonces podemos simplemente colocarlo justo al final de nuestro guión y darle una oportunidad más, dirigiéndose a un árbol. Bueno, como puedes ver nuestros árboles poco a poco se detienen, que hace que parezca que nuestro jugador se está desacelerando. Perfetto. 48. Mecánica de choque refinada: integración de mensajes de transmisión: Ahora es el momento de la parte importante, la animación de crash. Porque si nuestro choque no parece realmente épico, nuestros jugadores no entenderán por qué hay que evitar los árboles. Entonces echemos un vistazo a cómo podemos mejorar este juego con una animación agradable. Vamos a llegar a ello. Pasando a nuestro sprite de jugador, podemos agregar en esto cuando reciba la transmisión del crash del jugador Básicamente, lo que queremos que suceda es nuestro sprite jugador tenga un efecto spinout cuando toquen un árbol En pocas palabras, todo lo que tenemos que hacer es ir al grupo de mociones y traer este efecto de giro Entonces solo podemos repetir esto, cinco veces. Dándole una oportunidad a esto, saltando hasta que golpeamos un árbol. Bueno, eso no funcionó del todo. Como pueden ver, trata de girar, pero solo da la vuelta y además, incluso después de que nos estrellamos, todavía podemos esquiar de izquierda a derecha, así que veamos si podemos arreglar eso Bueno, si miras de cerca, verás que el problema es causado por el guión aquí. Y solucionar este problema es bastante sencillo. Básicamente, igual que hicimos con el sprite de árbol. Lo que tenemos que hacer es detener los otros guiones. Así que agarrando una parada de todos, podemos cambiarlo para detener otros scripts en el sprite Y esta vez en lugar de poner fuera el final del guión, podemos agregarlo al inicio del guión. Entonces otra vez, dándole a eso una obra de teatro. Verás cuánto mejor funciona eso. Ahora tenemos una animación bastante bonita que funciona cuando nos estrellamos. Pero sigo pensando que podemos hacerlo mejor. Si miras hacia abajo nuestro guión, puedes ver que giramos 15 grados, lo cual está bien y todo, pero no se ve exactamente suave. Voy a hacer algo un poco furtivo aquí. En vez de 15, voy a girar por velocidad de movimiento. Sí, sé que esto parece raro, pero como verás, funciona cuando le damos una obra de teatro a esto. Observe lo mejor que es esa animación. Ahora, lo último para mejorar esto aún más es reemplazar esta repetición cinco veces por una repetición hasta bloquear. Ahora, al igual que hicimos con nuestro otro guión, podemos repetir hasta que la velocidad de movimiento sea igual a cero. Simplemente toma este bloque igual y esta variable y establece esto en cero así. Dándole otra oportunidad, chocando contra otro árbol. Bueno, creo que los resultados hablan por sí mismos. Eso parece un desplome notable. 49. Dominio de la animación accidental: mejora los comentarios de los jugadores: Algoritmo. Seguro que ya has escuchado esa palabra antes. Se usa por todas partes y es muy importante en la programación, pero ¿qué es exactamente un algoritmo y qué hace? Entonces en esta lección, vamos a descubrir algunos de estos misterios y también implementaremos un algoritmo sencillo en nuestro juego Entonces lo primero es lo primero, ¿qué es un algoritmo? Bueno, imagina que estás siguiendo una receta específica para hornear un pastel o jugando un nuevo juego que tiene un conjunto de reglas a seguir. Eso es lo que es un algoritmo. Es como una receta o un conjunto de reglas que las computadoras siguen para hacer algo genial. Dicho esto, ¿cómo utilizan los algoritmos las computadoras? Bueno, ya sabes, cuando escribes algo en Goole y obtienes una lista de páginas web, ese es un algoritmo que ayuda a encontrar esas páginas por ti O alguna vez te has dado cuenta de cómo un sitio web puede mostrarte artículos en orden de precio de menor a mayor? Esa es una herramienta de algoritmo. O en los videojuegos, los algoritmos pueden ayudar a controlar lo que hacen los otros personajes y decidir el resultado de ciertas acciones. Se utilizan en casi todas partes, desde YouTube hasta Netflix, TikTok y Amazon Entonces ahora que tienes algún tipo de idea sobre qué son los algoritmos, discutamos el algoritmo que vamos a construir en nuestro juego. Vamos a tener un algoritmo en nuestro juego llamado algoritmo de ruta segura, juega un papel crucial en hacer que el juego sea desafiante y jugable. Entonces, ¿cómo funciona? Comenzamos con un sprite rectangular posicionado en la parte superior de la pantalla Entonces el rectángulo se mueve lentamente hacia la izquierda o hacia la derecha a través de la pantalla. A medida que el rectángulo se mueve, evita que los árboles aparezcan en su posición actual. Esta acción crea un camino seguro para el jugador. Dicho esto, ¿por qué se considera un algoritmo? Bueno, hay tres razones, pasos secuenciales. El algoritmo implica pasos específicos ejecutados en orden, posicionando el rectángulo, su movimiento y el árbol de bloqueo. En segundo lugar, la toma de decisiones. El movimiento aleatorio del rectángulo requiere procesos de toma de decisiones y determinar qué dirección moverse en un momento dado. En tercer lugar, la resolución de problemas. El principal problema aquí es evitar que el jugador quede atrapado por árboles, y el algoritmo de ruta segura aborda esto limpiando siempre un camino. Básicamente, el algoritmo de ruta segura asegura que siempre haya una ruta abierta para que el jugador se mueva evitando una situación injugable que realmente no sería justa en nuestro El jugador puede seguir avanzando navegando a través de los obstáculos, haciendo que la experiencia de juego sea justa y atractiva. Ahora, siento, el algoritmo equilibra el juego. Asegura que sea desafiante por un lado, obviamente también es posible navegar. Esto enriquece y mejora toda la experiencia de juego. Ahora, mientras voy a estar construyendo esto, voy a ir a un ritmo muy rápido ya que no vamos a estar usando esto en nuestro juego a medida que continuemos. Esta lección es más para ayudarte a entender un concepto importante de programación. Sin embargo, aún puedes usarlo. Si quieres cambiar la dinámica de tu juego, un poco, aún puedes aplicar esto. primero es lo primero, necesitamos nuestro sprite rectangular y este sprite es bastante simple Sólo podemos pulsar botón de pintura. Después en el editor, solo podemos seleccionar esta herramienta y luego simplemente dibujar un simple rectángulo. Podemos ajustar el tamaño de bit, así se ve algo así. Entonces yendo al código, todo lo que tenemos que hacer es agarrar un inicio ganador, un forever, un glide, y un pick random, que nos quedaremos bajo la entrada x Después cambiaremos el pick random a menos 22220, y podemos establecer y en uno 80 Ahora, si jugamos, verás que tenemos esta caja que va de un lado de la pantalla al otro. Entonces ahora que tenemos el movimiento, necesitamos una cosa más, que es reportar la posición y hacemos esto para asegurarnos que los otros sprites puedan saber en qué posición está nuestro sprite rectángulo en todo momento Todo lo que tenemos que hacer es duplicar el script, quitar el planeo y pasar a otras variables y crear una nueva, que llamaremos ruta segura Ahora podemos tomar este conjunto en nuestro bucle para siempre, cambiarlo a camino seguro, y vamos a establecer nuestro camino seguro a nuestra posición x. Ahora Sprite se mueve, establece constantemente esta variable en su posición actual Ahora, recuerda cómo dije que un algoritmo es como hornear un pastel o jugar un juego donde necesitas seguir instrucciones o reglas. Entonces estas son nuestras instrucciones o reglas. Así que a nuestros árboles no se les permite desovar en la ubicación de nuestro algoritmo sprite Entonces ahora todo lo que tenemos que hacer es asegurarnos de que los sprites de árbol sigan estas reglas Pasando al sprite. Si miras el guión aquí, como puedes ver, nuestros árboles sólo van a una exposición aleatoria Entonces para arreglar esto, vamos a agarrar una repetición y a bloquearla e insertarla justo por aquí. Entonces podemos duplicar este bit aquí y poner esto ir a bloquear dentro de nuestra repetición hasta. Por último, lo que queremos es seguir cambiando nuestra exposición hasta que no estemos en el camino de nuestro rectángulo Para ello, vamos a necesitar unos cuantos bloques, que son mayores que un menor que y un más menos dos de nuestras variables de camino seguro, y finalmente, dos de nuestras exposiciones La forma en que queremos conectarnos es así. Sí, sé que esto puede haber sido un poco confuso. Corremos por el abrigo. Nuestros árboles desovan en una exposición aleatoria. Entonces tenemos esta parte. Si la exposición actual de nuestros árboles está dentro 100 píxeles a la izquierda de nuestro camino seguro, entonces necesita intentarlo de nuevo O si nuestros árboles están a 100 píxeles a la derecha, también tiene que intentarlo de nuevo. Si no están en el camino del sprite, continuará Ves esto en acción, podemos ir rápidamente a nuestro sprite variable, desconectarlo por aquí y cambiar nuestra tasa de generación a cero Entonces bajo nuestro sprite de camino seguro, podemos ocultarlo. Ahora haciendo clic en play, pueden ver un montón de árboles desovando Sin embargo, todavía tenemos un camino seguro por seguir. Entonces sí, eso es algoritmos en pocas palabras. Sé que esta lección fue bastante rápida, así que no te preocupes si no pudiste seguir adelante porque como dije, esta lección es más para darte una comprensión simple de un concepto importante Pero para un juego, no vamos utilizar este algoritmo a medida que continuemos, pero si quieres usarlo, eres más que bienvenido. 50. Revelación de algoritmos: cómo crear el camino seguro: Entonces, en esta etapa, hemos discutido casi todos los bloques de código que están disponibles para nosotros. Sin embargo, solo hay una cosa más, un bloque de código y un concepto de codificación tan importante para la programación que necesitaba esperar hasta que fueras un programador bastante competente antes de presentártelo. Y eso es funciones. Entonces, ¿qué es una función? ¿Y por qué deberíamos preocuparnos por ello? Tienes una máquina para hacer juguetes, lo cual sería genial. Pones algunos materiales, presionas un botón y sale un carro de juguete. Cada vez que quieres un auto nuevo, solo tienes que presionar el botón otra vez y sale un auto. Aunque el único problema con esta máquina es cada vez que es el mismo auto. Ahora me imagino que tienes otra máquina que es aún mejor porque si quieres un auto rojo, pones pintura roja y sale un auto rojo o si quieres un auto azul, te pones pintura azul y resultados un auto azul, entiendes la idea. Bueno, ambas máquinas son ejemplos de funciones, excepto que una de las funciones permite entradas que pueden cambiar la salida. Ahora, en el mundo de la codificación, las funciones son como ese botón mágico. Escribes una pieza de código una vez, y luego puedes usarlo una y otra vez con solo llamar al nombre de la función. Ahora, algunas funciones pueden aceptar entradas como un número o cadena, y dependiendo de cuál sea la entrada determina qué salida le dará la función al igual que nuestra máquina de fabricación de autos que da autos de diferentes colores. Pero también, algunas funciones siempre devolverán la misma salida. ¿Cómo funcionan las funciones? Bueno, primero, escribimos una función. Es como construir nuestra máquina para hacer juguetes, configurarla para hacer un juguete en particular. A continuación, cada vez que necesitemos hacer esa tarea específica, llamamos a la función, igual que presionar el botón en la máquina. La función luego ejecuta la tarea y nos da el resultado, al igual que la máquina que hace estallar un carro de juguete ¿Por qué son importantes las funciones en la programación? Seguro que probablemente ya podrías adivinar por qué. En primer lugar, ahorrando tiempo. Sin funciones, tendríamos que escribir el mismo código una y otra y otra vez, para las mismas tareas similares. Las funciones nos ahorran tiempo. Escribimos una vez y usamos muchas, muchas veces. A continuación, organizar el código. Las funciones nos ayudan a mantener nuestro código limpio y organizado. Cada función tiene un trabajo, y facilita el seguimiento y la solución de cualquier problema. En tercer lugar, menos errores. Tener una pieza de código significa que solo hay un lugar para verificar y arreglar si algo sale mal. No más búsquedas a través de bloques y bloques de código. Por último, compartir código. Las funciones también se pueden compartir entre diferentes partes de nuestro programa incluso entre diferentes programas. Como saben, el código reutilizable es muy importante. Imagínese esto. Estás creando un juego emocionante donde un valiente caballero va en una búsqueda. Durante esta búsqueda, la noche se encuentra con el cofre del tesoro. Ahora, cada vez que la noche toca un cofre, se abre, y las monedas que hay dentro de él saltan todas. Ahora aquí hay una trampa. Nuestro juego no tiene uno, no dos, sino muchos cofres del tesoro dispersos en diferentes niveles Queremos que cada cofre haga el mismo acto mágico de apertura. Entonces, ¿cómo podemos hacer que esto suceda sin escribir el mismo código para cada cofre Aquí viene la función. Podemos escribir una función llamada open cofre que contiene el código para hacer que el cofre se abra y salgan monedas. Ahora, cada vez que la noche toca un cofre, simplemente llamamos a la función de cofre abierto. Es como contar el juego. Oye, haz lo de abrir el pecho ahora, y voilá, el cofre se abre y salen monedas y ta no importa donde esté el cofre en el juego, funciona Y para darte un ejemplo de scratch del mundo real de funciones y uso, hay un proyecto popular en scratch llamado motor de movimiento suave. Te animo a que lo revises por ti mismo. Pero haciendo clic en play en este proyecto, fíjate como todos estos sprites se mueven en un movimiento muy fluido Y si hacemos clic en siguiente, de nuevo a continuación, podrás ver todos los proyectos que utilizan un movimiento suave. De todas formas, si hacemos clic en este botón C inside, verás que existe este bloque de código llamado bloque personalizado, y si alejamos, verás todas las diferentes funciones. Sí, son bastante complejos. No te preocupes por tratar de entender cómo funciona. Lo importante aquí es lo que hacen las funciones. Si pasamos a la pestaña de M bloques, verás todos estos bloques diferentes. Pero básicamente, todos estos bloques se utilizan para llamar a las funciones. Digamos que teníamos un sprite y queríamos que subiera. Primero eliminemos todos estos sprites para que puedas ver esta acción y también mostrar el sprite Ahora queremos que nuestro sprite cuadrado avance 100 pasos. Ahora, en lugar de usar el bloque de código de movimiento, podemos llamar a esta función aquí. Como puedes ver, este bloque da muchas opciones. Digamos que queríamos mover 100 pasos en 2 segundos con un tipo de flexibilización de uno Al hacer clic en reproducir, como puedes ver, nuestro sprite se mueve suavemente por nuestra pantalla Ahora, digamos que queríamos dar la vuelta y volver a seguir adelante. Podríamos agarrar este bloque de giro suave. Digamos que queremos suavizar el giro 45 grados en 1 segundo con un tipo de flexibilización de tres Entonces podemos simplemente duplicar este otro movimiento suave y pegarlo al final. Ahora bien, si presionamos play, observa cómo nuestro sprite se mueve lenta y suavemente hacia adelante Después da un giro suave y finalmente vuelve a avanzar. Y todo lo que tomé fueron tres bloques de código. Pero si estuviéramos tratando de crear manualmente el movimiento suave para cada movimiento, tomaría años y nuestro código sería muy confuso entender lo que realmente estaba pasando. En resumen, las funciones son una de las mejores herramientas de los programadores para escribir código eficiente, organizado y limpio La función es como un útil ayudante que hace un trabajo específico cada vez que se lo pedimos, y es tan confiable que sabemos que ha funcionado porque ha sido probado y reutilizado dominando funciones, estás en tu camino para convertirte en un codificador experto que puede hacer complejos e interactivos 51. Dominación de funciones: el núcleo del código reutilizable: Así que hemos hablado mucho funciones y hemos visto algunos ejemplos. Pero como saben, el verdadero aprendizaje ocurre en el hacer. En esta lección, vamos a crear algunas funciones propias. Para ello, solo vamos a volver a lo básico creando un nuevo proyecto. No creo que tenga que explicarte cómo hacer eso. Con nuestro nuevo proyecto creado, como puedes ver, tenemos nuestro clásico sprite de gato listo para la acción Ahora para este proyecto, vamos a hacer algo un poco diferente y no solo con funciones. Vamos a hacer que nuestro gato dibuje con bolígrafos, y es algo bastante innovador. Entonces, antes de entrar en funciones, tal vez te estés preguntando, ¿cómo uso este bolígrafo del que estás hablando? Bueno, si miras justo en la parte inferior, verás este pequeño botón aquí. Ahora, si haces clic en él, verás que trae un montón de diferentes extensiones que puedes agregar a tu proyecto como música y cámara, et. Y un montón de diferentes que utilizan hardware externo. De todos modos, lo que nos interesa es esta extensión del sorteo. Al hacer clic en él. Como puedes ver, agrega este grupo de código extra a nuestro proyecto y a todos estos diferentes bloques de código que son para la pluma. Ahora, nuestro proyecto va a ser bastante sencillo. El gato va a preguntar cuántos círculos debemos dibujar, y luego bueno, los va a dibujar. Para ello, podemos agarrar un clic de bandera de ganar y luego pasar al grupo de detección, derribar este bloque ask. Aquí, sólo podemos decir cuántos círculos dibujarán. Entonces, si hacemos clic en Jugar, nuestro gato pregunta cuántos círculos debe dibujar. Podemos entrar en un número, y claro, bueno, no pasa nada. Entonces ahora lo que vamos a hacer es crear una función que dibuje círculos. Bajando a mis cuadras, aquí puedes ver podemos dar click en esta opción aquí para hacer un nuevo bloque. Aquí es donde podemos nombrar nuestra función. Yo solo lo llamaré dibujar círculo. Entonces recuerda como antes, te dije que algunas funciones pueden tener entradas mientras que otras no. Bueno, para nuestra función de círculo, podríamos simplemente tenerla que la llamamos simplemente dibuja un solo círculo y eso es todo. O podríamos hacer que acepte una entrada donde podamos elegir cuántos círculos queremos dibujar, al igual que con el ejemplo de la máquina de hacer juguetes donde podemos decidir si queremos coche azul o rojo o de cualquier color. En este caso, podemos decidir la función acepte una entrada, lo que cambiará la salida que crea la función. Entonces para hacer esto, todo lo que tenemos que hacer es hacer clic en esto agregar una entrada así. Entonces como pueden ver, en la parte superior, ahora tenemos un insumo. Voy a cambiarle el nombre a número de círculos y luego le pegaré. Ahora, como pueden ver, ahora tenemos este bloque aquí mismo, y aquí es donde definimos nuestra función. Esto es básicamente como si estuviéramos construyendo la máquina diciendo lo que tiene que hacer cuando la atrapan. Lo que queremos que haga nuestra máquina o más bien nuestra función es dibujar círculos. Dibujar círculo es bastante sencillo. Todo lo que necesitas hacer es bajar el bolígrafo, luego pasar al movimiento, y mover diez pasos, luego girar 15 grados y repetir esto 30 veces así. Si solo haces clic en esta función, verás que nuestro gato dibuja un círculo. Eso es genial. Pero, ¿cómo usamos esta función? Bueno, aquí le preguntamos al usuario, cuántos círculos voy a dibujar para usar esta función. Todo lo que tenemos que hacer es agarrar este bloque, dibujar círculo debajo, lo que llama a nuestra función. Y si tuviéramos que jugar y hacer clic en este botón, como pueden ver, nuestro gato dibuja un círculo. Pero claro, hay un problema siendo que nuestro gato solo dibuja un círculo. Aquí es donde necesitamos decirle a la función cuántos círculos debe dibujar. En lugar de dejar este espacio en blanco, podemos ir a nuestro grupo de sensores y tomar este bloque de respuesta y usarlo como entrada. Básicamente, lo que esto está haciendo es llamar a nuestra función dibujar círculo con la entrada ingresada desde el usuario. Sin embargo, esto todavía no hará nada porque si nos fijamos en nuestra función, nunca le decimos a la máquina qué hacer con la entrada que obtiene cuando se le llama. Lo que tenemos que hacer es agarrar otro bloque repetido y poner todo esto dentro. En lugar de entrar en un valor, podemos agarrar este número de círculos bloque y ponerlo dentro. Ahora, veamos nuestro guión paso a paso para que podamos entenderlo mejor. No puedo preguntar cuántos círculos dibujar. Digamos que entramos en cinco círculos. Entonces llamamos a nuestra función de dibujo circular con el número cinco como entrada. Lo que hace esta función es que baja la pluma, y luego tenemos este bloque de repetición siendo la entrada el número de círculos, ya que ingresamos en cinco, como entrada para nuestra función, va a repetir todo este código cinco veces. El código es este movimiento y giro, que básicamente crea el círculo. Al ver esto en acción, aquí nuestro gato pregunta cuántos círculos queremos. Digamos tres, como pueden ver las TIC dibuja tres círculos, así como así. El único problema que sí tenemos es que no podemos verlas todas ya que todas están en la misma zona. Actualicemos un poco esta función. Sediento, vamos a poner la pluma, para que no dibuje por todas partes Entonces haremos que nuestro gato vaya a ninguna posición. Entonces podremos volver a bajar la pluma. Por último, podemos tener un cambio del color de la pluma por diez. Entonces, solo vamos a subir o cuando empecemos. Dándole otra oportunidad a esto. Hagamos cuatro. Bueno, eso no está del todo bien. Las TIC están haciendo lo mismo. Bueno, nuestro problema es que todo este código debería estar dentro de nuestro bloque de repetición. Moverlo dentro, así, y darle otra oportunidad. ¿Cuántos círculos? Digamos siete. Poco a poco, pero seguro, como puedes ver, nuestro gato dibuja siete círculos. También dibuja cada círculo de un color diferente. Ahora recuerda que las funciones set son muy útiles porque solo podemos escribir el código una vez y usarlo una y otra y otra vez. Bueno, si nos fijamos en este código, mientras que la función es muy útil ya que hace que nuestro código sea muy fácil de entender y administrar. Como podemos ver claro lo que está pasando, estamos haciendo una pregunta y luego estamos dibujando cierto número de círculos. Pero en realidad no estamos usando esta función en toda su ventaja porque, bueno, sólo estamos llamando a la vez. Digamos que en nuestro programa, queríamos que nuestro gato dibujara círculo si hacíamos clic en él porque tenemos esta función Bueno, eso es sencillo de hacer. Podemos simplemente agarrar esto cuando se hace clic en el sprite bloque, entonces solo podemos decir dibujar círculo e ingresar uno Ahora, haciendo clic en jugar, ¿cuántos círculos? Digamos dos. Después de que eso esté hecho. Ahora si hacemos clic en el CT, dibuja un círculo. Bonito. Además, digamos que queríamos hacer nuestro círculo más pequeño por alguna razón. Sólo podemos entrar en nuestra función, cambiar el movimiento para decir cinco pasos. Ahora haciendo clic en reproducir, entrando en uno, dibuja un círculo más pequeño. Pero también, si hacemos clic en el CT, también dibuja un círculo más pequeño. Como puede ver, el uso de esta función garantiza que nuestro código sea consistente y que sea fácil de administrar y fácil de usar. Ahora ese es el poder de las funciones. Pero antes de que termine, si quieres divertirte con esto, mantén presionado el turno mientras haces clic en la bandera, y verás que entra en modo turbo. Entonces si entramos en un valor loco como 100,000, nuestro se vuelve absolutamente loco dibujando círculos, diviértete un poco de arte con eso. 52. Exploración de funciones a través de la codificación creativa: Bueno, es momento de volver a ello y terminar lo que empezamos. Nuestro juego de esquí arcade es divertido, pero le falta ese elemento crucial. Eso lo lleva de ser un juego divertido a un juego realmente divertido, y de esto se trata el pulido. Es la etapa final de nuestro flujo de trabajo. Para el primer paso del pulido, vamos a mejorar un poco nuestros gráficos, hacer que nuestro juego se sienta mucho más real. Lo primero que quiero discutir son las capas. Esto lo discutimos brevemente en una lección anterior, pero volvamos a repasarlo. En scratch, cada uno de nuestros sprites aparecen en nuestra pantalla con una posición x e y, como ya sabéis Ahora bien, esto es fácil de ver, pero nuestros sprites también tienen un eje z, que no podemos ver fácilmente ya todo es dos D y estamos mirando de arriba hacia abajo Nosotros básicamente el eje z es la capa. Así que imagina una pila de papeles. Podrías tener 20 pedazos de papel uno encima del otro y cada uno tiene su capa. Si el papel está en la parte superior de la pila, está en la capa uno, y si está en la parte inferior, es la capa 20. Naturalmente, si un papel está en una capa más alta como la capa uno, cubrirá el papel que está en una capa baja como la capa dos. Exactamente lo mismo sucede en scratch cuando nuestros sprites están en diferentes capas Si jugamos un juego rápido y si chocamos contra un árbol, lo verás bien, esquiamos sobre el árbol, lo cual no tiene sentido. ¿Cómo solucionamos esto? Bueno, si pasamos a nuestra ramita de jugador, podremos agarrar otra cuando se haga clic en la bandera y luego subir a la pestaña Lux Aquí veremos que tenemos dos opciones. O podemos hacer que vaya al frente o atrás, o podemos hacer que vaya hacia atrás o hacia adelante una capa. Si dijéramos ir atrás y luego golpear play, como pueden ver, nuestro rastro de nieve va frente a nosotros. Esta no es una opción. Llevemos esto de vuelta al frente así. Ahora bien, esta vez, podemos decir, retroceder una capa. Ahora, en lugar de enviar esto a la parte de atrás, solo lo estamos moviendo hacia atrás una capa, que significa que nuestro sprite de jugador estará en la capa dos Ahora, arrastre el guión sobre ambos sin píxeles. Podemos hacer que vaya hacia atrás dos capas, y también podemos hacer lo mismo para el otro sprite Al hacer clic en reproducir. Bueno, eso es raro. Nuestro pixel sigue al frente. ¿Alguna idea de lo que está pasando aquí? Bueno, la razón de esto es porque cada vez que empezamos el juego, sigue retrocediendo cada vez más capas. Lo que tenemos que hacer es ir a cada uno de estos sprites y traer en este ir a la capa frontal, así como así También podemos hacer lo mismo con nuestro sprite de árbol. Podemos simplemente arrastrar en un clic de bandera de viento y luego ir a la capa frontal. Ahora bien, de esta manera, cuando iniciamos nuestro juego, cada uno de nuestros sprites comienza en la misma capa, pero nuestro jugador retrocede uno y nuestros píxeles retroceden dos Probando esto. Como puedes ver funciona a la perfección. Cuando chocamos contra un árbol, no nos deslizamos frente a él. Ahora eso es mucho más realista. Con eso fuera del camino, hay una cosa más que tenemos que hacer. Cuando jugamos el juego, como puedes ver, nuestros árboles simplemente salen a la vista, lo cual es un poco discortante. No será mejor si se desvanecieron. Casi como si hubiera una neblina y venían a la vista desde la niebla. Suena genial. Pero suena como una tarea bastante compleja. Pero no temas porque haya una manera bastante sencilla de hacerlo. Si miras a nuestro grupo de looks, verás este cambio de color o establecer color en. Arrastrando el efecto de color establecido a nuestro sprite de jugador. Verás que si hacemos clic en él, no pasa nada. Pero si cambiamos este número por decir 40, nuestro sprite cambia de color Casi me veo como un extraterrestre. Pero esto no es lo que queremos. Podemos ponerlo de nuevo a cero. Pero verás que si hacemos clic aquí, hay todas estas otras opciones. El efecto que nos interesa es este efecto fantasma. Vamos a establecerlo en 95. Y haciendo clic en él, verás como Sprite casi se desvanece. Podemos usar esto para desvanecerse en nuestros árboles. Rápidamente reiniciándolo. Entonces podemos pasar a nuestro sprite de árbol. Ahora bien, este es tu próximo, mini desafío. Intenta ver si puedes crear este efecto, donde nuestros árboles se desvanecen a la vista en lugar de simplemente aparecer repentinamente. Vamos, pruébalo antes de que te enseñemos cómo hacerlo. ¿Lo conseguiste? Veamos cómo se hace. Ahora bien, lo que queremos que suceda es cuando nuestro sprite comienza como un clo, queremos establecer el efecto fantasma en 95, luego hacer que se desvanezca Lo que vamos a hacer es agarrar este efecto de cambio por bloque, y de nuevo, ponerlo en fantasma. Aquí queremos arrastrarlo a este bucle para siempre para que el efecto fantasma se desvanezca lentamente, que hace que parezca que nuestros árboles se están desvaneciendo Para ello, necesitamos cambiar este valor porque actualmente nuestro ghosting está en 95, y queremos devolverlo a cero Podemos simplemente entrar en menos tres aquí, o lo que sea que se vea mejor para usted. Vamos a darle una prueba a esto. Se puede ver que nuestros árboles ahora parecen estar apareciendo lentamente a la vista desde la niebla. Sí, es un efecto muy sutil, pero solo hace que nuestra ganancia sea mucho mejor. Eso es todo por ahora. Si puedes ver alguna otra área donde creas que se pueden mejorar los gráficos, te animo a darle una oportunidad y ver qué puedes hacer. 53. Mejora del realismo de juegos: gráficos y capas: Hay una cita del famoso cineasta, George Lucas, dice, sonido es el 50% de la película Ciertamente se puede decir lo mismo de los videojuegos. Un juego es divertido y todos los gráficos son bastante geniales, pero simplemente no es muy inmersivo Transformemos nuestro juego con sonido. En primer lugar, necesitamos un buen sonido de fondo para nuestro juego. Ahora, como estamos esquiando la nieve, deberíamos tener algún sonido que te haga sentir como si estuvieras esquiando en la nieve. Pasando a nuestro estado srt, podemos usar esta área para agregar nuestros sonidos Al hacer clic en la pestaña de sonidos, podemos pasar a este botón y hacer clic en Subir sonido. Ahora, si te mueves a nuestra carpeta de efectos de sonido, verás que tenemos este sonido llamado Tormenta de invierno. Al hacer clic en eso. Aquí puedes ver que ahora se importa. Todo lo que tenemos que hacer ahora es volver a nuestro código, agarrar una bandera de viento clicada y un bucle forever y luego arrastrar en el sonido de reproducción hasta que termine el bloque Aquí como puedes ver, ya está seleccionado nuestro sonido. Todo lo que hay que hacer es jugar el juego. Ahora, eso es más parecido. En realidad se siente como si estuviéramos en la nieve. Ahora, podrías quedarte con esto tal como está, y sería bastante genial. Pero podemos hacer que se sienta aún más emocionante trayendo otro sonido, que en realidad es algo de música. Al hacer clic nuevamente en el botón de subir sonido y luego pasar a la carpeta de música. Aquí voy a elegir la canción aquí. Pero puedes elegir la canción que más te guste. Ahora, como quiero que tanto mi música como mis efectos de sonido se reproduzcan al mismo tiempo, simplemente duplicaré este guión, y luego cambiaré el sonido a la nueva canción que importamos. Y ahora todo lo que hay que hacer es hit play. Ahora, eso me suena más a un juego. ¿Cuáles son los sonidos crees que necesitamos que realmente completaría esto? Piénsalo. Esquiar, y luego estrellarse. Sí, necesitamos un sonido de borrado. Así que esta vez, entramos en nuestro sprite reproductor, y luego subimos al grupo de sonidos, luego pasamos a la carpeta de efectos de sonido Y aquí puedes ver que tenemos este efecto wipeo de esquí. Al hacer clic en eso, entonces podemos volver a nuestro código, es bastante simple realmente. Básicamente, cuando tocamos un árbol, queremos que empiece a sonar, esquiar borra. Podemos simplemente arrastrar esta cuadra por aquí. Ahora vamos a probarlo, golpeando play. Y luego chocar contra un árbol. Bueno, ahí lo tienes. Sutil, pero un toque agradable. Eso es todo. Todavía hay definitivamente más que podrías hacer con sonido como un bonito efecto de esquí, sonido cuando un jugador gira a izquierda y derecha. Pero dejaré todo eso a ti y a tu increíble creatividad. Pero como puedes ver o mejor dicho aquí, sonido es definitivamente el 50% de la película o en nuestro caso, el juego. 54. Inmersión amplificada: el poder del sonido: Entonces, lo siguiente que queremos hacer en nuestra creación de juegos es hacerlo competitivo porque bien está bien esquiar en montaña, si no podemos presumir de una puntuación alta, entonces tenemos un problema. En esta lección, vamos a agregar un sistema de puntuación a nuestro juego. Ahora podrías estar pensando, yo sé cómo hacer esto. Simplemente crearé una partitura de acorde variable, pegaré en la parte superior de la pantalla, y ya terminé. Sí. Eso es un buen pensamiento, y eso funcionaría. Pero hemos puesto mucho trabajo bueno en este juego y es gráficos, y no queremos que se decepcione con una variable de aspecto básico que cuente la puntuación. Necesitamos algo emocionante. Podríamos empezar a diseñar un sprite de partitura genial que se vea súper bien y también crear algunas animaciones agradables en todo eso no es lo que haremos Agarra una pluma. O escribe esto en alguna parte. Quiero que escribas esto porque es muy importante y te ahorrará incontables horas de tiempo. ¿Estás listo? No intentes reinventar la rueda. Nuevamente, no reinventes la rueda. Ahora, fíjalo en alguna parte, no lo olvidarás. No reinventes la rueda. Esto básicamente significa que si ya se ha hecho algo, y alguien ha pasado horas interminables trabajando en ello, no lo reinventes Lo que digo es que, por supuesto, podríamos crear nosotros mismos el sprite de partitura Lo que es aún mejor es que solo pudiéramos usar el sprite de puntaje de otra persona Es más rápido. Y nos permite aplicar nuestro cerebro y nuestro tiempo a otras partes de nuestra programación. De hecho, de esto se trata la programación. Reutilizando tanto su propio código código fuente abierto cuando esté disponible Ahora, en el contexto del scratch. Digamos que juegas al juego de alguien y piensas, Oye, me gusta mucho cómo tienen esa linda animación de transisión o como el ejemplo temprano con el motor de movimiento suave En lugar de intentar crear tu propio movimiento suave, puedes usar el de ellos en tu propio proyecto Scratch te permite hacer esto, y lo bueno con scratch es que automáticamente le da crédito a otras personas cuando usas su código en tu proyecto. Hagamos esto por nuestro propio proyecto. Aquí pueden ver, encontré un lindo mini juego de fútbol. Si bien el juego es un poco duro por los bordes, todavía está en Beta después de todo. Notarás que la animación de partitura es realmente agradable. ¿Cómo podemos usar esto para nuestro proyecto? Bueno, lo primero que tenemos que hacer es hacer clic en este botón C inside. Como puedes ver, ahí está el sprite de partitura que estamos buscando Sólo para asegurarte de que estás en la misma página que yo. Quiero que abran este proyecto y lo pueden hacer haciendo clic en el enlace que se encuentra debajo de la lección. O simplemente puedes ingresar manualmente en este enlace. Si aún no lo encuentras, todo lo que necesitas hacer es hacer clic en Archivo y cargarlo desde tu computadora y bajo proyectos terminados, verás este llamado Fútbol Mini Juego. Con el proyecto abierto, ahora todo lo que tenemos que hacer es copiar sobre el sprite Para ello, todo lo que tienes que hacer es hacer clic derecho en el Sprite, y luego seleccionar puerto Aquí puedes guardarla a donde quieras. Sólo recuerda dónde la guardas. Yo solo elegiré descargas. Ahora volviendo a nuestro juego de esquí. Aquí podemos pasar el cursor sobre esto, elegir un sprite y luego hacer clic en el sprite de subida Ahora, aquí puedes ver que tenemos nuestro sprite de partitura, que podemos seleccionar Tan abierto, ahí lo tienes. Nuestro sprite de puntuación está ahora en nuestro juego y listo para usar y pensar en todo el tiempo que hemos ahorrado Con todo ese ahorro de tiempo, vamos a darle al sprite un poco de personalización para que se adapte mejor a nuestro juego Pasando al editor de vestuario, voy a eliminar todos estos disfraces y luego hacer clic en el botón de subir. Luego pasando a la carpeta de partitura, puedes ver que tenemos estos números más bonitos Simplemente podemos seleccionar el primero, luego mantener presionada la tecla shift y dar click en el último, y haciendo esto seleccionaremos todos ellos. Ahora podemos hacer clic en abrir. Bien. Y ahí lo tienes. Nuestro nuevo diseño de puntuación es importado. Con eso, echemos un vistazo al código. Como puede ver, este código está utilizando funciones. Pero vamos a repasarlo rápidamente. Entonces tenemos alguna idea de lo que está pasando. Entonces, cuando se hace clic en estrella, están poniendo la puntuación a cero Entonces parecen tener un bucle asegurándose que el puntaje no entra en los negativos Entonces por aquí, están ejecutando la función de configuración, que hace un montón de cosas como establecer tamaño y el disfraz y también crear una c, y luego este clon llama a otra función y así sucesivamente. Pero por ahora, lo dejaremos así. Eres más que bienvenido a analizar este código por ti mismo, que estoy seguro que puedes averiguar con todo lo que ya sabes. 55. Dominación de la dinámica de la partitura: del recuento simple al borde competitivo: Bien, hagamos que la partitura funcione. Y solo para sacarlo, si jugamos un juego y hacemos clic en el guión por aquí, un montón de veces, como puedes ver, nuestra puntuación empieza a aumentar. A pesar de que hay algunos problemas en verdad arreglando porque claramente es demasiado grande. Y si eres como yo, probablemente habrías asumido que podemos cambiar esto fácilmente bajando el número de tamaño establecido. Pero claramente, este no es el caso. Pero para ahorrarle la molestia de tratar de averiguar qué está pasando aquí, el tamaño en realidad está establecido por este número de aquí. Entonces lo que podemos hacer es simplemente bajar este número para decir diez. Si golpeamos el guión, se puede ver que funciona. A pesar de que todavía aparece gigantesco por un segundo. Esta vez, es por esta opción de tamaño establecido aquí abajo. Si lo ponemos a un valor bajo como 15 y le damos otra jugada al juego. Al hacer clic en el guión, un montón de veces, se ve que se ve mucho mejor, aunque cuando pasamos el número diez, nuestros números aparecen demasiado juntos. Ahora bien, a veces la mejor manera de solucionar un problema como este es simplemente seguir cambiando los números hasta que funcione. Es el método de la fuerza bruta. Pero para acelerar el tiempo, en este caso, el número que necesitamos cambiar es el de aquí, y podemos cambiar este número a 0.4. Dándole otra oportunidad a eso. Cuando llegamos a diez, como pueden ver, eso se ve mejor. Juega con estos números de aquí para obtener un efecto más dramático o menos dramático. Básicamente, lo que creas que se ve mejor. Pero lo dejaré así por ahora. Ahora que tenemos el puntaje funcionando bien y luciendo bien, vamos a implementarlo en nuestro juego. Y en nuestros juegos anteriores, solo haríamos que esperara cierta cantidad de tiempo y luego aumentara la puntuación. Pero quiero algo más interesante que eso. Lo que quiero es que cada vez que pasemos un árbol obstáculo para que la puntuación aumente. Como saben, si jugamos el juego y hacemos clic en el guión, la partitura cuenta como puedes ver, este es un mensaje de difusión Todo lo que tenemos que hacer es transmitir la partitura del jugador, y debería subir. Pasando a nuestro sprite de árbol. Todo lo que tenemos que hacer es repasar a este código de mensaje de transmisión y arrastrarlo a esta escritura. Justo antes de que eliminemos el clo, entonces solo podemos cambiarlo para que transmita la puntuación del reproductor de mensajes Vamos a darle una oportunidad a eso. Como puedes ver, cada vez que pasamos un sprite de árbol, nuestra puntuación sube. Tiene un poco de animación agradable. Es casi demasiado fácil. Mira lo mucho que transforma nuestro juego. Pero una cosa que quizás hayas notado si estás tratando de vencer al juego, y es que sigue siendo bastante fácil. Prácticamente puedes seguir sin parar. Vamos a arreglar eso. Pasando a nuestro sprite variable, verás que tenemos este código vergonzoso por aquí. Como debes saber, este no es un buen código ya que nos repetimos. Vamos a deshacernos de todo este código y hacer algo mejor. Pasando al grupo de variables, podemos crear una nueva variable llamada level. Ahora podemos usar esto para controlar la dificultad de nuestro juego. Agarrando un cuando empiece, para siempre y yo esto es lo que vamos a hacer En primer lugar, al inicio de nuestro guión, vamos a establecer nuestra variable de nivel en uno. Entonces vamos a agarrar un operador menos que y nuestra variable de nivel y meterla aquí. Básicamente lo que queremos hacer es comprobar que el nivel sea inferior a diez ya que no queremos que nuestro juego sea demasiado duro. El nivel diez será máx. Entonces podemos agarrar un peso, meterlo aquí y ponerlo en 15. Cada 15 segundos, queremos que nuestro nivel aumente en uno. Simplemente cambiaremos de nivel por uno. Ahora, cada 15 segundos, nuestro nivel aumentará en uno, y dejará de aumentar cuando llegue a diez. El único problema es, bueno, esto realmente no hace nada porque es nuestra velocidad de engendro y velocidad las que cambian nuestra dificultad Para aumentar la dificultad real del juego, voy a usar la función broadcast. Al pasar, podemos arrastrar esto y luego hacer clic en nuevo mensaje. Voy a llamar a esto un nivel arriba. Ahora podemos arrastrar el bloque cuando reciba y cambiarlo para subir de nivel. Entonces lo que queremos hacer es bajar la velocidad de desove. Podemos arrastrar un bloque variable de cambio, establecerlo en tasa de generación y establecerlo en -0.1 Rápidamente, mirando nuestro código. Cada 15 segundos nuestro juego sube de nivel, lo que transmite este mensaje que aumenta nuestra velocidad de generación. Podemos hacernos una idea de los niveles. Cambiaré esto a solo 1 segundo y presionaré play. Como se puede ver, que rápidamente aumenta en dificultad. Hasta que finalmente alcancemos nuestro nivel máximo, ya que puedes ver muchos árboles desovan en, y si esto parece demasiado duro, puedes cambiarlo fácilmente cambiando este valor aquí Además, digamos que querías un modo demente en el que también aumentaras la velocidad Podríamos simplemente ir a nuestras variables, arrastrar esto y cambiar la velocidad de movimiento por menos uno. Dándole otra oportunidad a eso. Como puedes ver, nuestro juego definitivamente se vuelve una locura. Pero de todos modos, te voy a dejar que juegues por ahí para que sea perfecto porque nuestro juego, no más bien nuestra obra maestra está casi terminada 56. Elaboración de la puerta de enlace: construcción de una pantalla de inicio atractiva: Así que estamos casi en la línea de meta. Pero para llegar a la meta, necesita una línea de salida, y eso es exactamente lo que estamos haciendo en esta lección. Estaremos agregando en una pantalla de inicio. Como sabes con nuestro flujo de trabajo de desarrollo de juegos. Lo primero que tenemos que hacer es pensar en cómo va a quedar y cómo va a funcionar. Pensando en ello, lo que simplemente queremos es una pantalla bonita que sea lo primero que aparece cuando iniciamos el juego. Con ese borrador de idea de 30 segundos fuera del camino, podemos pasar al paso dos, que está sentando las bases. Lo primero es lo primero. Vamos a traer nuestro telón de fondo principal para nuestra pantalla de inicio. Para ello, podemos utilizar nuestro escenario principal. Al hacer clic en él, y luego en los fondos, notarás que no tenemos ningún telón de fondo en este momento Sin embargo, debido a que estamos simulando nieve, solo estamos usando un fondo blanco en blanco Téngalo en mente. Al hacer clic en el botón de importación y, a continuación, pasar a la carpeta. Pantalla de inicio, podemos seleccionar estos dos archivos de pantalla de inicio y presionar abrir. Aquí puedes ver, tenemos esta animación que parpadea. Estás aquí texto. Pero como pueden ver, hay esta gran brecha vacía en la parte inferior de nuestra pantalla de inicio. Aquí es donde queremos agregar una pequeña y agradable animación que juegue con árboles. Para estos árboles, técnicamente podríamos importarlos a nuestros antecedentes. Sin embargo, debido a que queremos crear un bonito efecto en capas, vamos a convertirlo en un nuevo sprite Nuevamente, subiendo un nuevo sprite. Aquí verás que tenemos este sprite de línea de árbol por aquí. Seleccionando eso y golpeando abierto, se pueden ver algunos árboles bonitos. Ahora, lo que queremos es que estos árboles se muevan hacia la izquierda y luego de vuelta a la derecha, lo que creará nuestra animación. El único problema, sin embargo, es que nuestros árboles son más o menos del tamaño exacto de la pantalla. Hay poco espacio para moverlos. ¿Qué hacemos? Bueno, tenemos dos opciones para arreglar esto. O bien podríamos escalarlos, lo que funcionaría, pero aún mejor. Si pasamos al editor de disfraces y clic en este botón, convertimos a vector, seleccionando esta herramienta, lo que ahora podemos hacer es moverlo todo hacia la derecha, copiarlo y luego pegar. Entonces podemos intentar que se alinee un poco. Con esta línea de árbol hecha, podemos duplicar el sprite para que podamos tener dos líneas de árbol Ahora tenemos que hacer es agregar en nuestro botón de inicio. Una vez más, presionando subir. Podemos seleccionar la imagen del botón de inicio, y ahí la tienes, un botón de inicio gigantesco. Genial. Pero antes de intentar escribir cualquier código apropiado, organicemos todo esto para que realmente tengamos una idea de lo que está pasando. En primer lugar, arreglemos este botón de inicio. Creo que aquí 25 es un tamaño mucho más realista. Con eso, puedes simplemente moverlo al fondo aquí. Por último, para nuestros árboles, queremos que sea algo así. Esta línea de árbol debe cubrir este espacio en blanco. Entonces esta línea de fondo necesita estar en la parte delantera, por lo que cubre nuestro botón de inicio solo un poco, lo que nos da un bonito efecto de chico Bueno, eso es básicamente todo por ahora. Nuestros sprites son importados. Todo está en su lugar. Ahora, todo lo que tenemos que hacer es obtener codificación. Prepárate porque está a punto de comenzar. 57. Sentado el escenario: capas y activación para un comienzo sin fisuras: Bueno, todos nuestros nuevos sprites están en orden. Ellos solo están esperando que les demos vida. Ahora bien, lo primero que tenemos que hacer es acertar las capas. El único problema es que el rasguño solo te permite establecer un sprite para ir hacia atrás o al frente o ir hacia atrás o hacia adelante, una capa No hay opción para que vaya a una capa específica. Actualmente, lo que hemos estado haciendo es que nuestros sprites vayan al frente y luego regresen bien este truco funciona, si tienes tres o cuatro sprites, causa problemas cuando tienes más que eso Para establecer un sprite en una capa específica, lo que necesitas hacer es primero que el sprite vaya a la parte posterior, luego llevarlo adelante sin importar cuantas capas sean necesarias Esto es lo contrario de cómo lo teníamos. Si lo miras, esta línea de árbol inferior estará en la capa más alta. Vamos a adelantarlo seis capas. Entonces el botón será una capa más baja para que podamos adelantarlo cinco capas. Después el siguiente conjunto de árboles, adelantaremos cuatro capas. Lo que eso significa es que nuestro sprite de árbol de obstáculos necesita presentar tres capas Entonces nuestro jugador sprite, dos capas, y finalmente, nuestro pixel de nieve solo una capa Comenzando con el sprite de nieve, podemos entrar y cambiar esto para ir hacia atrás y luego avanzar una capa, y hacer lo mismo con el sprite, así como así Entonces nuestro jugador, podemos decir retroceder y luego avanzar dos capas. Nuestros árboles también cambian hacia atrás y podemos traer en un ir hacia adelante y cambiarlo a tres capas. También, casi por ello. También necesitamos establecer la capa de nuestro sprite de partitura. Vamos a arrastrar este guión sobre él y podemos hacer que este avance cuatro capas, así como así. Ahora, para hacernos la vida más fácil, podemos simplemente arrastrar este código, script a cada uno de estos nuevos sprites, agregamos así así Luego pasando a nuestro primer conjunto de árboles, podemos avanzar cinco capas. Ahora, para nuestro botón de inicio, queremos seguir adelante, seis capas. Por último, nuestra línea de árbol de fondo, podemos hacer que avance siete capas. Bien, entonces eso se ve bastante bien. Ahora tenemos que hacer que realmente funcione porque te darás cuenta si haces clic en el botón de reproducción, bueno, tenemos una fusión rara de nuestro juego sucediendo en nuestra pantalla de inicio. Nuestra primera prioridad es conseguir el inicio resuelto. Básicamente lo que queremos es que nuestro juego comience cuando hacemos clic en este botón, es decir, esta pantalla de inicio y los árboles deben esconderse y nuestro jugador y los obstáculos deberían aparecer. Ahora, en lugar de usar un mouse if hacia abajo y tocar sprite, como hemos hecho antes, podemos usar este bloque aquí cuando se hace clic en el sprite Bien. Ahora, cuando hacemos clic en el botón, queremos transmitir un mensaje y el mensaje que queremos es Iniciar juego. Arrastre en este bloque cuando se haga clic sobre el sprite, luego el mensaje de difusión? Podemos crear un nuevo mensaje llamado Iniciar juego. Ahora con eso hecho, asegurémonos de que nuestros otros sprites respondan En primer lugar, con nuestros antecedentes, podemos desconectar esta música del clic on flag y más bien hacer que juegue con el mensaje de difusión cuando reciba start game. De esta manera, nuestro sonido ambiental siempre está sonando, pero nuestra música solo comienza cuando realmente comienza el juego. Derecha. Tengo un mini reto para ti. ¿Estás listo? Lo que queremos que suceda es nuestra animación que gira entre estos dos fondos se reproduzca cuando hagamos clic en la bandera. Entonces cuando hacemos clic en el botón de inicio, queremos detener la animación y cambiar al fondo en blanco. ¿Puedes hacer que funcione? Aquí tienes una propina. Idalmente deberías usar funciones para crear esto. Pausa el video y dale a este tipo. Bien. ¿Cómo te fue? puede ser un poco más difícil de lo que pensabas. Bien hecho si lo conseguiste. Lo primero es lo primero. Necesitamos crear una función. Llamaremos a esta animación de fondo. Aquí, necesitamos agregar una entrada y podemos llamar a este juego start y darle bien. Ahora necesitamos definir esta función. Trayendo en este clásico para siempre y bloqueo, luego agarrando a un operador de iguales, y aquí podemos comprobar si los juegos empiezan igual a true Ahora si lo es, queremos cambiar a nuestro primer telón de fondo. Pero si no lo es, queremos que se reproduzca nuestra animación. Para ello, podemos agarrar dos telones de fondo de interruptor y luego pegar un peso en el medio, y luego un peso al final También cámbielo para iniciar la pantalla uno y dos. Entonces todo lo que tenemos que hacer es agarrar otro cuando se hace clic en flag, traer este bloque para llamar a nuestra función, y luego establecer la entrada en false Entonces podemos arrastrar otro cuando reciba bloque así, configurarlo para iniciar el juego, luego traer esta llamada de función y configurarlo verdadero. Pero ahora, me acabo dar cuenta de que esto realmente no tiene sentido porque llamar animación de fondo con false inicia la animación mientras la llama con verdaderos fines, pero ignoraremos ese descuido por ahora. Al hacer clic en reproducir. Como puedes ver nuestras obras de animación. Al hacer clic en inicio, se va y empieza nuestra música. Ahora con todo eso hecho, pasemos a nuestros sprites de árbol Este será un poco más fácil. En primer lugar, arrastrando en un clic de bandera when. Aquí solo podemos mostrar el sprite. Después arrastrando en el bloque cuando recibí y configurándolo para iniciar juego, podemos ocultar el sprite Por último, necesitamos crear animación. Ahora para esto, podemos simplemente agarrar un bucle para siempre y un bucle repetido. Dentro del bucle de repetición, podríamos tener un cambio x por cinco y luego esperar 0.5 segundos. Entonces podemos simplemente duplicar esto y esta vez configurarlo en menos cinco. Por último, al inicio de nuestro guión, pongamos la posición x a cero y fijemos la y en su posición actual. Ahora bien, para nuestro otro sprite de árbol, porque es lo mismo, podemos simplemente arrastrar ambos scripts a él así Lo único que sí tenemos que hacer es cambiar la posición y. Aquí podemos simplemente fijarlo a su posición actual. Al hacer clic en reproducir. Como puedes ver, tenemos una linda animación con los árboles haciendo clic en inicio. El desaparecer. Ahora bien, claramente, hay un problema de que nuestro sprite y árboles siguen funcionando. Abordemos eso. En primer lugar, pasando a nuestro sprite de jugador, podemos simplemente arrastrar en una piel sobre esta bandera en la que se hizo clic y luego arrastrar cuando reciba, configurarlo para iniciar el juego, y luego arrastrar en un bloque de show Ahora podemos simplemente arrastrar esto cuando recibí bloque en nuestro sprite de árbol, nuestros sprites de píxeles de nieve y nuestro sprite de puntaje Primero, moviéndonos a nuestro sprite de árbol, aquí podemos arrastrar el guión a nuestro W I received start game y pegarlo en el clic when flag Después moviéndonos a nuestro pixel de nieve, podemos hacer exactamente lo mismo aquí. Cambiando eso y moviendo la piel, así como así. Con el segundo sprite de nieve, también podemos hacer lo mismo cambiar y movernos Por último, con nuestra puntuación. Aquí podemos simplemente arrastrar este script de llamada de función de configuración a nuestro W I receive start game Last, puedes arrastrar en una escondite sobre la bandera W pulsada Al hacer clic en reproducir. Como pueden ver, eso se ve bastante bien. Cuando hacemos clic en Inicio, bueno, hay algunos problemas. De todos modos, nos ocuparemos de todo esto en la siguiente lección donde terminaremos este juego Pero te animo a darle una oportunidad y tratar de ver si puedes arreglar estos pequeños problemas finales por tu cuenta. 58. El toque final: refinamientos y revelaciones: Bueno, ahora es la gran final. Es hora de terminar lo que empezamos. Esta es la fase final de desarrollo. Es donde miramos a través de todo nuestro código, probamos nuestro juego un montón de veces, aseguramos de que todo esté perfecto antes del lanzamiento. Pero lo primero es lo primero, tenemos un problema cuando hacemos clic en Inicio, que es como todos estos sprites no se dispersan Vamos a arreglarlo uno por uno. En primer lugar, con nuestro botón de inicio, todo lo que tenemos que hacer es arrastrar el bloque cuando reciba, cambiarlo para iniciar el juego y luego arrastrar en un bloque de ocultar. A continuación, arrastre hasta la bandera W, haga clic en. Probando esto y haciendo clic. Inicio, podemos ver que funciona. Ahora pasando a nuestro sprite de árbol aquí es donde cometimos un error anteriormente cuando arrastramos este bloque de show recibo inicio bloque de juego En realidad, no necesitamos esto ya esto sucede automáticamente en nuestro otro script, así que solo podemos eliminarlo. Ahora podemos literalmente hacer lo mismo con los otros sprites. En primer lugar, nuestro pixel de nieve. Solo quita el show. Entonces el segundo pixel de nieve, haz lo mismo. Por último, con nuestra partitura, también podemos eliminar el espectáculo. Juego de patadas. Después golpeando inicio. Como puede ver, nuestro problema se ha solucionado. Ahora, hay una animación más que quiero agregar a nuestra pantalla de inicio, y es para nuestro botón de inicio. Aquí quiero que el botón para acercar y alejar. Básicamente va a ser un código muy similar a nuestro sprite de árbol Pasando a él, podemos simplemente arrastrar una bandera se hizo clic para siempre para repetir bloques Y dos cambian de tamaño por bloques, que podemos pegar en cada uno de estos. Para el primero, podemos fijarlo 0.2 y los dos últimos -0.2 Lo último que tenemos que hacer es establecer el tamaño a su tamaño actual, que es 25. Entonces solo trae un bloque de ir a bloquear para asegurarse de que se mantenga en posición. Eso es todo. Golpeando play, como puedes ver, tenemos una pequeña animación agradable y haciendo clic en iniciar. Bueno, eso funciona bien. Ahora, una cosa extra que se puede mejorar son nuestros árboles de obstáculos. Si has jugado el juego el tiempo suficiente, puedes ver que los árboles simplemente aparecen en una formación de líneas, que no se ve muy natural. Pasando a nuestro sprite de árbol, todo lo que tienes que hacer es duplicar el script aquí, así Pero ahora, si tuviéramos que jugarlo, estos árboles engendrarían exactamente al mismo tiempo, lo que sería aún más natural Queremos cierta variabilidad. Para arreglar esto, necesitamos usar un poco de matemáticas y sé lo mucho que amas tus matemáticas. Lo que podemos hacer es eliminar esta variable aquí, y luego pasar a los operadores y agarrar algunos bloques aquí, que son esto más un pick random, un bloque times y un bloque de división. Entonces podemos duplicar nuestra variable spawn dos veces. Ahora que tenemos todas las piezas, necesitamos conectarlas tasa de desove más pick random, luego los tiempos bloquean en la primera entrada Luego inserte este bloque de división en esta entrada, y luego las variables de engendro en cada una de estas entradas Ahora, con todo eso conectado, para la primera entrada, podemos escribir dos y negativo uno para el segundo. Repasemos rápidamente por esto para que entiendas lo que estamos haciendo aquí. Cuando comienza el juego, continuamente creamos clones. Ahora, para que el cono se sienta más natural y en lugar de esperar siempre la misma cantidad de tiempo entre clones, agregamos algo de aleatoriedad Determinamos el tiempo de espera de la siguiente manera. En primer lugar, tomar la tasa de desove establecida. Ejemplo 0.5 segundos. En segundo lugar, elegir aleatoriamente un valor entre la mitad de la tasa de desove, restarlo de sí mismo, haciéndola negativa y la tasa de desove completa En tercer lugar, agregue este valor aleatorio a la tasa de generación. Por ejemplo, si la tasa de desove es 0.5, el tiempo de espera puede estar en cualquier lugar entre 0.25 y 0.5 segundos. La variación aleatoria asegura que los conos no aparezcan demasiado predecible y le da un miedo mucho más natural No obstante, lo único que podemos necesitar en este momento es nuestra velocidad de desove porque ahora tenemos dos conjuntos de obstáculos Para ello, podemos bajar la tasa de desove inicial aumentando este número aquí o cambiando cuánto disminuye por aquí Bien. Ahora, hay otro problema que quizás hayas captado. Si eliminas esta declaración de peso, verás cómo a veces los árboles aparecen uno frente al otro. ¿Cómo solucionamos esto? Todo lo que tenemos que hacer es agarrar un bloque de capa ir a y un bloque de capa de movimiento. Entonces bajo el guión aquí, cuando empiezo como clon, queríamos ir a retroceder una capa, y luego adelantarnos, digamos 35 capas. Hacer esto asegura que nuestros árboles se coloquen correctamente, y también que nuestro jugador esté detrás de nuestro árbol. Podemos probarlo. Si tienes buen ojo, notarás que los árboles están apilados correctamente y también nuestro jugador se escurre detrás de nuestros árboles Entonces en esta etapa, hemos llegado a un momento muy importante. Siga con nosotros. Realmente lo hago. Tienes que seguirnos. Solo tómate un momento. Pon uno de tus brazos en el aire. Vamos. Asegúrate de que lo estás haciendo. Pon un brazo en el aire. Ahora, baja lo más lejos que puedas detrás de ti. ¿Estás haciendo eso? Bueno. Ahora, toca en algún lugar en la mitad de tu espalda. Excelente. Acabas de estirarte. Pero lo más importante, te has dado una merecida palmadita en la espalda. Bien hecho. Tu juego está completo y llegar hasta aquí significa que eres uno de nuestros mejores estudiantes y demuestra que tienes la persistencia de un programador real. Bien hecho. Te ha ido muy bien en atraparte. Creo que es hora de que te sientes relájate y disfrutes de lo que has creado. ¿Por qué no desafías a tus amigos y familiares a jugar tu juego? Oye, si vas a agregar una mecánica secreta que hace que el juego sea más difícil cuando jugaron, quién soy yo para juzgar, es tu juego. Es tu persistencia y perseverancia que te ha traído aquí un trabajo fantástico y bien hecho 59. Introducción al curso de HTML: Hola, soy Craig ya. Es Josh Yo. Sí, y vamos a traerte a través de nuestro curso de introducción a HTML cinco. Curso muy emocionante. El objetivo de este curso es enseñarte los conceptos básicos de HTML cinco, qué se trata y cómo puedes llegar a ser realmente un codificador de HTML y configurar tu primer sitio web Vamos a tener una visión general rápida de lo que vamos a cubrir. Vamos a en esta primera sección, comenzar en nuestra primera sección es una introducción al HTML, cómo funciona, cómo se arma, editor Brown que puedes usar todos los básicos. Deja que te pongas cómodo. Es muy importante. Cuando cantas a la comida, quieres estar cómodo Entonces empezaremos a ver el formato de las imágenes y cómo podemos cambiar los tamaños, cómo podemos agregar imágenes. Luego, equipado con eso, está casi listo para armar sus primeras páginas web en nuestro sitio web. Nuestra tercera sección va a analizar esencialmente armar todo esto y crear su primer sitio web. Entonces estaremos mirando mesas, fondos y más. Esto va a ser básicamente cómo hacer que tu sitio web vea bien y ordenado y no tener todo solo por ahí, poniendo un fondo un poco como la habitación de Josh a veces. No lo quieres todo por ahí. O sea, si pudieras organizar tu vida en tu habitación de manera muy parecida a un sitio web HTML, quiero decir, podría verse muy ordenado. Esa es esa sección. Entonces, bueno, botones, dimensionamiento de enlaces y mucho más. Nos vamos a involucrar un poco más. Veremos cómo puedes vincular páginas, crear botones, cambiar el tamaño de las imágenes, etcétera No, solo para aclararlo, este es un curso introductorio. No vas a estar al final de esto como, yo soy un maestro. Soy el Jedi de todos los desarrolladores de programación de páginas web. La idea es que es presentarte lo básico. Pero al final de esto, ¿no te sentirás cómodo trabajando con HTML? Y una vez que te sientes cómodo trabajando con él, hay tantas opciones para ir más allá, ya que todos exploramos en esta lección y otras después. Entonces debes tener una pregunta, y la pregunta obvia que está en tu mente es sí, eso es exactamente. ¿Qué es HTML cinco? ¿Por qué son cinco? ¿Por qué no son cuatro, tres, dos, uno? ¿Por qué tiene un número? ¿De qué se trata? Esa es una muy buena pregunta, y, por supuesto. Si fuiste un aprendiz activo y vamos a alentarlo en este curso Si fueras un aprendiz activo, en realidad irías y Google. Te reto. Vamos. Me atrevo a hacer una pausa ahora y ir a buscarlo en Google. Bien, entonces, ¿qué averiguaste? Bueno, ya lo descubriste, ¿no? Ese HTML cinco en realidad se compone esencialmente de tres partes. Es la parte HTML, el CSS, que significa cascada ¿Lo buscabas? Hojas de estilo. Y JS, ¿qué significa? JavaScript. Bien, entonces estas son las tres partes que conforman HTML cinco. HTML es, de hecho, un entorno. Entonces HTML esencialmente es lo que permite que sus sitios web hablen entre sí para comprender lo que realmente está sucediendo. Lo veremos en un momento. Entonces junto a eso, hay un CSS, que dije es una hoja de estilo en cascada CSS, Josh, ¿de qué se trata todo eso? Entonces CSS es básicamente como bien, con HTML, puedes hacer tu sitio web se vea realmente bien solo con HTML. Y luego con CSS, básicamente, así es como pones muchos pequeños efectos y estilos y animaciones y todo ese tipo de cosas que solo hacen que tu sitio web se vea aún más hermoso. Entonces HTML es el esqueleto entonces CSS es la piel. Es la piel la que lo repasa. Y luego, claro, si quieres que tenga movimiento tener corazón, tener el corazón latiendo que está bombeando ahí dentro eso le está dando vida, última instancia, necesitas JS, que es JavaScript. Y aquí es realmente donde estás empezando a codificar cosas que van a hacer el procesamiento que se sienta detrás y dentro del esqueleto y la piel. Entonces eso es HTML. HTML five está compuesto por HTML, CSS y JavaScript. Pero en este curso, no vamos a estar mirando CSS y JavaScript. Vamos a estar viendo HTML porque ahí es donde empieza todo. Esa es la base. Así que muy rápido para explicarte cómo funciona esto. HTML es esencialmente código. Es código que se encuentra en una página, como se ve aquí, y realmente es código de computadora. Es un código que permite que una computadora entienda lo que dice otra, y este código se pasa alrededor, y ese código luego se envía a un navegador. Y dentro del navegador, interpreta este código, que es lo que vamos a estar aprendiendo, y lo muestra de cierta manera Esencialmente, todo lo que es HTML es una serie de códigos, lenguaje de programación que un navegador puede interpretar y luego saber mostrar las cosas. Por ejemplo, va a decir, quiero una foto. Quiero que la foto esté por aquí. Quiero algo de texto y quiero que el texto esté por aquí. Todo eso está escrito en este código, que es HTML, lenguaje de marcado de hipertexto, y luego cualquier navegador que estés usando, ya sea Chrome o Explorer o Safari o lo que sea, interpretará ese código y lo mostrará Vamos a estar aprendiendo sobre HTML y cómo podemos crear sitios web básicos. Primero mira eso, eso es bastante agotador. ¿Qué dices, Josh? Se ve muy confuso. Y probablemente lo hayas encontrado en diferentes etapas. Si en algún momento, mira el código fuente detrás de una página web, esto es lo que hay detrás de las páginas web. Se ve agotador, como, guau, lo que está pasando ahí Pero vamos a ver en un momento, realidad no es tan difícil. Una vez que entiendes los conceptos básicos de cómo funciona HTML, en realidad es bastante fácil y estás a punto de empoderarte para convertirte en un codificador HTML Aquí hay un ejemplo de un segmento de código HTML. De nuevo, parece, guau, lo que está pasando aquí. Realmente es bastante sencillo. Esencialmente, todo lo que está compuesto por ese código HTML es una serie de etiquetas. Verás que hay una etiqueta, una etiqueta es algo que ocurre entre esos pequeños corchetes, esos pequeños corchetes diagonales. Aquí tenemos una etiqueta llamada cabeza. Ahora para cada etiqueta o para la mayoría de ellas, por cada etiqueta de apertura, habrá una etiqueta de cierre. Una etiqueta de cierre va precedida de una diagonal hacia adelante. Puedes ver aquí tenemos un slash delantero, cabeza y cabeza es la etiqueta de apertura Si miras a tu alrededor, deberías poder ver algunas otras etiquetas de apertura y cierre. Ahí tenemos uno que no parece tan obvio, y ahí podemos ver la etiqueta de cierre. Pero nuevamente, esa es nuestra etiqueta A. Ahí está abierto, a pesar de que hay algunos otros pequeños componentes, no te preocupes por el momento, pero ahí está el cierre. ¿Ves alguna otra? Sí, hay una etiqueta H uno, el cierre, el abierto, no, no, no, no, no, no, no vaya. Esencialmente, de eso se trata HTML. Se trata de código, código que se compone de etiquetas, y estas cosas son interpretadas por nuestro navegador. Lo que vas a estar aprendiendo es escribir este código. Entonces eso es todo. Eso es lo que vamos a estar cubriendo este curso. HTML, introducción a HTML. Esperamos que estés emocionado. Estamos emocionados. Sí. Nos vemos del otro lado. Todo bien. Nos vemos ahí, prepara tu cerebro, te calientan los dedos y aprendamos sobre HTML. 60. Editor de textos de Sublime: Derecha. Entonces, lo que vamos a hacer desde el principio es que vamos a tener que estar descargando se llama Sublime Text Editor. Ahora, te vamos a mostrar cómo hacer eso y vamos a estar trabajando con Sublime Text Editor. Pero quiero mostrarles por qué vamos a estar usando esto como nuestro editor de texto para HTML. Ahora, voy a pegar el HTML. inmediato, cuando lo pegue te darás cuenta, hay colores y hay sangría etcétera Cuando trabajas en un editor de texto como Sublime, hace que el trabajo y la disposición de tu HTML sean muy fáciles de ver. Si hago clic en la tabla de palabras ahí, inmediatamente ves que está resaltado donde está el otro extremo de su etiqueta. No te preocupes por los detalles en este momento. Quieres mostrarte eso es lo que se ve un editor de texto especializado que editor de texto especializado que ha sido diseñado para HTML. comparación con si trabajaste en algún editor de texto normal como Text Edit, si notas ahora lo pego ahí, no hay codificación de colores en comparación con lo que teníamos en Sublime. Si hago clic en una etiqueta de apertura como Head, no sabrías que esa es la etiqueta de cierre de ahí, etcétera Hay muchos beneficios de trabajar en un editor de texto que ha sido diseñado específicamente para HTML. Eso es lo que queremos hacer. Tenemos que conseguir esto. Entonces, desde el principio, tienes que ir y descargarlo. Entonces así es como lo haces. Bien, entonces si te estás preguntando cómo descargar este editor de texto, hay muchos editores de texto, muchos, hay en línea, hay muchos hay corchetes, sublínea tantos Sublínea una bonita. Mucha gente lo usa. Básicamente, tienes sublínea Texto tres y sublínea Texto dos y uno Pero tres han estado en Beta desde hace años, así que solo vamos a usar. Dos. Sí. Así que entra en Google y busca Descargar sublínea Texto dos Sí, si solo pones Sublime text o lo que quieras o Sublime text también, eso debería hacerlo por ti. Bien, entonces ahí lo ves Sublime TestErNTSA entonces tenemos todos estos operativos Así que si eres gente de Mac como nosotros, vas a ir a Pero si eres una persona de Windows, eso es genial. Viento nos gusta Windows. Nos encanta Windows. Amamos a todos. Eres una persona Linux, lo que sea. Simplemente escoge tu versión y la descargarás. Es bastante simple. Básicamente simplemente harás clic en el enlace de la versión que quieras y luego descargarás ese archivo. En cuanto a nosotros, sería, es un archivo DMG, y lo descargaríamos a tus Bien, entonces ya hemos descargado esto. Entonces, cuando lo abras, solo verás una nueva pestaña vacía y sin título que tenemos ahí Entonces esto es básicamente esto es lo que obtienes cuando lo abres, no mucho. Estás trabajando en una pizarra en blanco. Ahora, recuerda lo que estamos haciendo en este curso, estamos viendo cómo construir un sitio web desde cero y, um mientras hay herramientas especiales que pueden intentar hacerlo por ti aprendiendo el HTML, lo que estás haciendo es que estás aprendiendo el lenguaje de tuercas que hay detrás de la web. Se ve un poco intimidante porque te enfrentas a esta pantalla grande, oscura y aterradora que no tiene nada en ella, pero vas a aprender que pronto, aunque haya mucho texto en ella, entiendes lo que eso significa Bien, así que lo primero que hacemos solo para comenzar con nuestro HTML tienes que guardar tu proyecto porque obviamente HTML es una cosa, tienes CSS. Así que cuando lo guardamos, simplemente golpeamos Comando S y podremos ir a un escritorio. Incluso podemos hacer una nueva carpeta para una web. Sí, obviamente, todos tus archivos que vas a estar creando son pequeños archivos HTML separados. Bien. Cada uno de estos va a ser necesario Va a requerir un nombre y te estamos sugiriendo que los guardes todos en una carpeta. Simplemente lo llamaremos nuestro sitio web y luego aseguraremos de que tenga un HTML de punto al final. Así es como sabe lo que estás editando y cómo se va a formatear cuando estemos editando y todo ese tipo de cosas. Cuando lo guardamos obviamente y lo abrimos, Google sabe que este es un sitio HTML. Además, es una buena idea cuando estos van a ser nombres de archivo en última instancia. Si vas a usar un nombre como este, es una buena idea en lugar de usar espacios, que serán reemplazados por pequeños personajes divertidos, es escribirlo como una palabra o poner pequeños guiones Ahí tenemos un sitio web dot HTML diciéndole que se trata de un archivo HTML. Bien, entonces ahora lo guardamos. Se puede ver instantáneamente en la parte superior ahí, tiene nuestro sitio web dot HTML. Este es realmente un entorno bastante sencillo. Entonces en cualquier etapa, archivo, archivo nuevo, puedes crear otro. Puedes cambiarle el nombre e incluso puedes tener varias pestañas abiertas si quieres y lo veremos más adelante. Pero básicamente, este es el entorno donde vas a estar creando tu sitio web y escribiendo tu código HTML. ¿Sabes qué hacer? Salir ahí fuera, ve y descarga Sublime Text dos o tal vez tres si es totalmente de la versión Beta, lo que quieras. Son muy iguales, y vas a necesitar eso para continuar. No te atrevas a ver nada más hasta que hayas hecho eso, goo hazlo. Bien, nos vemos en la siguiente. 61. El esqueleto HTML: Bienvenido de nuevo. Sólo tengo una pregunta. Una pregunta para ti. ¿Descargaste este texto Sublime? Porque si no paraste ahora mismo, vuelve porque de eso se trataba la lección anterior. Si quieres participar, este curso, recuerda que este curso se trata de estar activo. Se trata de estar involucrado. ¿Qué dices, Josh? Sí. Todo sobre estar activo. Porque así es como aprendes. Entonces, si no has descargado el Editor de texto, pulsa pausa ahora. Ahí estaba mi pausa, y vuelves a descargar. Pero asumo que ya lo has hecho. Entonces ahora tenemos nuestro Sublime Text Editor, y como dijimos, es mucho mejor que tener solo un negocio normal de editor de texto yendo a dar formato a las cosas. Ahora podemos hacer cosas geniales. Y lo que queremos mostrarte es el proceso, ¿no? Queremos mostrar el proceso. ¿Cuál es el proceso básico que implica? ¿Cómo vamos a empezar a recibir algún texto en nuestra página ahora mismo? Es así que básicamente, hay dos partes en esto. Recuerda lo que estás haciendo, estás creando código HTML, que es el código fuente que se encuentra detrás de las páginas web. Eso tiene que guardarse en un archivo, y luego ese archivo se abrirá dentro de un navegador donde pueda mostrarse. El navegador es el intérprete del archivo. Entiende lo que significa el código fuente. Por lo que este código fuente es interpretado por Chrome o Safari o cualquier navegador que estés usando. Entonces es dar un ejemplo Hola. ¿Cómo estás? Usted es lo que ahora hemos escrito en el archivo D. Fantástico. Bien, entonces ya sabes, ya que hemos guardado este proyecto en particular bajo HTML web. Ahora bien, si vamos a este Este archivo, sí, podemos decir abrir y luego abrir con como nos gusta Chrome porque algunas cosas como Safari o Internet Explorer no se mostrarán cuando nos avancemos más, verás muchas cosas que Chrome hará que otras que hayas puesto en un determinado trozo de código y luego Safari e Internet Explorer no mostrarán ese tipo de cosas. Sí, todo eso fastidia. Lo que siempre debes recordar hacer si no lo has hecho si has hecho todos estos cambios y sigues teniendo el mismo error, es como, no es hacer esto, no es poner la nueva frase. Si solo decimos comando y golpeamos S, notarás que por aquí, tiene el comando guardar S. Ahora cuando refresquemos nuestra pestaña, y así como un pequeño consejo hinty para ti, te darás cuenta cuando escribas algo alto, no se guarda Se puede ver que tiene un poco.en ella ahí eso indica que aún no estás salvado. Obviamente, si cruzo por aquí y me refresco para ver el archivo, no tiene la nueva parte que acabo de agregar. Tan importante, cuando escribas algo aquí, guarda, así que voy a darle al Comando S. Aviso, ya no es un puntito indicando que ahora está guardado. Si vuelvo aquí de nuevo, ahora se está reflejando. Lo tengo. Es un proceso muy sencillo. Escribe tu código aquí, presionas guardar y luego lo abres en el navegador. Pero cada vez que estás en el navegador, necesitas volver a cargarlo para que vuelva a echar un vistazo al archivo Bien, entonces una cosa que también notaremos es con espaciado, como digamos. Sí, pongámoslo un espacio. Hagamos que se vea mejor. Bien, entonces vamos a saludar y luego la siguiente persona dice hola. Un pequeño par de espacios de línea ahí. Si hacemos esto, no es realmente necesario. Hola. Sí, extiéndalo. Lo extenderemos. ¿Qué tal una especie de hacerlo así que esté muy bien extendido, hola hola. Y luego así tira de nuestra página y luego, ya sabes, no sé, un par de signos de exclamación Eso se ve genial. Así que guarda esos comandos. Bien, ahora te das cuenta cuando estábamos recién hechos página. Sí, ¿qué es? No lo ha hecho. Parece basura Sí, es basura. Es decir, lo escribimos Mira cómo lo escribimos. Fue hermoso. Fue como, eso está en la primera línea. Es bastante obvio. Eso está en la línea cuatro. Entonces no está funcionando. Las cosas se estropearon, Joshua Bien, entonces con Sublime text, no es mirar si tienes un montón de espacios y cuánto lo estás espaciando y todo eso. Obviamente, si tienes un espacio en él va a poner el único espacio para tus oraciones, pero no va a organizarlo así. Para eso, tienes que poner el tuyo propio, tenemos estos espacios sin brackets. Es un poco de código que le pones para decirle lo que está pasando. Le dices a la página web la cantidad de espacios que sí, así que la conclusión, esto no es lo que se llama un WizzzyWigra ¿Sabes lo que significa eso? Wizywig. Joshua, ¿qué es Whizzie Vamos, diles. Es lo que ves es qué. Entonces ese es Wizzywig Así que recuerda, en realidad eres un codificador. Cuando trabajas en HTML, estás construyendo código así no solo lo pones así y piensas cuando voy al otro lado, solo va a tomarlo todo como aparece en una línea. Entonces lo que tenemos que hacer es que realmente necesitamos poner los códigos en los que van a explicar al navegador en caso de Chrome cómo va a mostrar esto como una página. Y ahí es donde entran los conceptos básicos del HTML y el uso de algo llamado tags. Bien. Una etiqueta muy fundamental. Esto no es para meter los espacios, pero luego cubriremos todas esas cosas. Básicamente cada página de HMI que tengas tiene esto. Una vez que hayas guardado tu proyecto como h dot whatever sit HTML, si solo abres, este atajo no funcionará. Si vamos HTML y luego presionamos el botón de tabulación, notarás que saca todo por ti. Tienes la cabeza. No hace falta que te preocupes por lo que todo esto. Sí, vamos a ir a explicarte todo esto. Tu cuerpo. Básicamente llamamos a esto el esqueleto. Tienes una cabeza y una así es. Entonces antes hasta ahora, no tenías cabeza en el cuerpo, solo haces esto y tienes una cabeza en el cuerpo. Sí. Entonces este es tu esqueleto para HTML y luego vamos a llenar esto para rellenar esto en el código de nuestro sitio web. Absolutamente. Entonces básicamente, de nuevo, por eso estamos usando Sublime porque ¿qué está haciendo Sublime por ti? Sublime te está dando la estructura. Entonces fue muy sencillo. Sólo te vamos a mostrar una vez más. Entonces no es HTML. Estamos haciendo código HTML, así que escribas HTML, y luego golpeas el blanco. ¿Qué dijimos? ¿Estabas escuchando? Tab. En cuanto tabules, vamos a usar esto una y otra vez, no vas a olvidar esto. Inmediatamente te da la estructura básica para una página HTML. Muy rápido, solo quiero mostrarte la estructura. Siempre comienza con una etiqueta HTML de apertura. Todos estos se llaman etiquetas. las cosas que ocurren entre los dos pequeños apoyos se les llama etiquetas Comienza con una apertura y luego justo al final es una final. Como dijimos en nuestra sesión anterior, cuando haga clic en ésta, verán ambos en ahora resaltados. La etiqueta de apertura está justo entre las llaves. La etiqueta de cierre siempre tiene una barra diagonal hacia adelante, y luego el código Te ha dado HTML open, HTML close. Vamos a ver los detalles de estos otros más tarde, cabeza abierta en la parte superior ahí, la cabeza cerca justo debajo de ella. Título abierto, cierre de título, cuerpo abierto, cierre de cuerpo. Básicamente te está dando como dijo Josué, ¿día? Esqueleto esqueleto. Básicamente, con HDMI, todo lo que vamos a hacer es construir el esqueleto en este curso, que es nuestro curso para principiantes. Vamos a estar construyendo el esqueleto, que es básicamente la mayor parte de lo que estás viendo en todos los sitios web. Entonces te metes en CSS, lo que hace que se vea un poco más agradable. Eso es lo que llamas la piel, y luego tienes JavaScript, ¿qué es? Es como un corazón bombeando ahí es donde se vuelve realmente complicado. Sí, pero paso a paso. Un tiempo. Una vez que hayas dominado esto, el esqueleto, otro curso, puedes ver cómo vamos a hacer la piel Entonces si realmente quieres darle corazón a esta cosa y hacer que esta cosa funcione, que es todo el procesamiento y la lógica, así que eso es cosas reales de codificación, ese es el JavaScript. De eso se trata HTML cinco. HTML five está compuesto por HTML, CSS y JavaScript. Vas a estar aprendiendo en este curso todo sobre el HTML o la parte HTML, lo cual es muy divertido. Tienes la oportunidad de crear un pequeño sitio web básico y vas a estar tan orgulloso como un dobladillo ruso en un mercado chino. Bien. No creo que esa gallina estaría muy orgullosa. Entonces, en la siguiente lección, cubriremos lo que vamos a hacer en la cabeza y el cuerpo y todo eso. Así que ve y dobla esto, haz tu pequeño HTML, presiona el botón de tabulación. Derecha. Obtener esto en. Sólo quiero mostrarte una cosita mientras estamos aquí es si ahora empezamos a jugar con estas cosas, y recuerda cuando te mostramos antes, no pasa nada interesante de ese lado. Una vez que empezamos a usar códigos para hacer cosas interesantes, y otra vez, no te preocupes por ello, pero esto es un hola, ¿cómo estás? Y ahora he puesto esto en un código de encabezado, y ahora lo estoy guardando. Entonces estoy usando códigos para mostrar o para decirle al navegador cómo mostrar eso. Entonces voy, Cruz, nos refrescamos. Y, se ha ido bonito y grande. Por lo que de inmediato le está aplicando algún nivel de formático. Bien, así que eso es lo que está haciendo HTML. HTML le está diciendo cómo mostrar el código que hay aquí. Entonces, ¿tu turno? Sube ahí, has descargado tu Sublime Text Editor. Solo juega un poco porque en nuestras próximas lecciones, vamos a echar un vistazo y empezar a mirar estas diferentes etiquetas, qué significan, cómo las usas a medida que comenzamos a construir tu primer sitio web. 62. Etiquetas HTML: Bienvenida de nuevo. Estamos en nuestro Sublime Text Editor, y si sigues las instrucciones de la lección anterior, no solo habrías descargado el editor de texto, habrías visto algunos de los conceptos básicos ya que escribimos código aquí Este es nuestro código fuente, código fuente HTML, y luego pasamos a nuestro navegador en el otro lado donde puede ver ese código fuente interpretado y mostrado en la página del navegador. Entonces, lo que queremos ver ahora son solo algunos de los conceptos básicos en torno a las etiquetas y cómo funciona el etiquetado Ahora bien, si recuerdas, esto es HTML, la etiqueta más importante o la primera etiqueta que tienes que tener es ¿qué? Así es. HTML. Simplemente escribes HTML, y luego presionas tab, el botón tab, e inmediatamente produce lo que nos referimos como el esqueleto. Si recuerdas suficiente lección previa, dijimos que este es nuestro esqueleto. Se compone de estas etiquetas HTML, apertura HTML y etiqueta cierre HTML, y varias otras. Vamos a echar un pequeño vistazo alrededor de algunos de estos tanques y explicar brevemente los tanques que tenemos aquí. Entonces vamos a ver algunos tanques que te permiten hacer algún formateo básico solo para que tengas una idea un poco de cómo funciona esto. Bien, para empezar, como sabes, tenemos cabeza y tenemos nuestro cuerpo. Entonces la cabeza, generalmente, todo lo que pones ahí realmente es tu título para tu sitio web, lo que sea, si es que hay algo. O sea, si vas y miras en este momento, nuestro sitio web es todo lo que tiene es el título que está sentado aquí dentro la pestaña es lo que lo llamamos sitio web punto HTML. Eso no es muy emocionante. Entonces, si vamos dentro del título real, verás que podemos nombrar esa pestaña específica. Entonces como sabes, si vas en Youtube o Google, instantáneamente sabes dónde está porque dice lo que sea Youtube o Google. Ahora cuando guardamos esto y volvemos a refrescarlo, vemos un sitio web genial que hice. Así que fíjate que eso es diferente. Ahí está el nombre HTML real, nuestro sitio web, no HTML, pero este aquí es el título, que obviamente es mucho más útil. También es útil. Este título para tus buscadores. Entonces, cuando empiezan a buscar cosas en torno a cómo se llama tu sitio web, esto ayuda cuando se trata de que el buscador sea más fácil capaz de identificarte. Hay otras cosas que pueden pasar por debajo de la cabeza. Por lo general, son metadatos sobre tu sitio. Metadatos significa datos sobre los datos. Son otras cosas que pueden explicar tu sitio. No vamos a mirarlo en este momento. Por el momento, todo lo que realmente te interesa es el título. Eso es lo único que tienes que poner dentro de esta primera parte, que es la cabeza. Eso nos lleva a la siguiente parte, que ahora es nuestro cuerpo. Bien, entonces esto es que podemos nombrar un sitio o lo que sea y todas las cosas que tenemos en el sitio, ya sabes, páginas que tienen mucho contenido y todo ese tipo de cosas. Entonces iremos primero a través. Si acabamos de decir hola, nos daremos cuenta cuando digamos esto, claro, se ven hermosos. Se va a quedar muy pequeño. Muy poco interesante Podemos repasar estos diferentes para que podamos repasar H uno. Pestaña de cabeza. Bien. Entonces ahora qué son estos, estos son H uno, H dos, H tres y etcétera, vamos a echar un vistazo Estos son tipos de encabezado. Entonces básicamente está diciendo, Bien, me gustaría poner un trozo de texto y quiero que sea encabezado tipo uno. Entonces podemos teclear. Sí, llamémoslo encabezado uno para que en realidad puedas ver un ejemplo de lo que se ve. Sólo haremos uno más, así que haremos H dos por ahora. Pestaña Hi tab. Llamemos a éste ahora cabeza de dos. Ahora vamos a ver que estas son etiquetas especiales que han sido formateadas. Y HTML los reconoce. De inmediato, ya ves lo que ha pasado. encabezado uno es una etiqueta grande, así que estás obteniendo un encabezado grande y encabezado dos es un poco más pequeño. Bien, entonces con HTML, va todo el camino hasta H six, lo cual está bien, vamos a darle una oportunidad a ese. H six, hit tab, y vamos a teclear H cabeza de seis y guardarla. Vaya al navegador L, actualice, vuelva a cargarlo. Y ahí tenemos a un pequeño tipo minky minky . Bien. Entonces más cosas que tenemos más allá de cabecera es si vamos aquí y solo escribimos B, tocamos eso suena para brillante, apuesto. Bien, entonces es Sahl Bolt. Si queremos hacer algunos pernos de texto, así que si solo escribimos bola. B B B negrita. Negrita. Sé audaz. Aquí vamos. Bien, entonces volveremos a escribir algo al lado de él no vamos a poner esto en ninguna etiqueta. Sólo verás la diferencia, nosotros decimos eso, refrescarla. Podemos ver Bien, así que nota dos cosas que son importantes si tienes ojitos muy notorios. La primera es, notarás que esta está en negrita y esa no en negrita. Así es exactamente como lo dijimos aquí. Esta se sienta dentro de las etiquetas, B, y cierra B. Esta no. Pero podrías haber esperado que esto estuviera en la siguiente línea. Observe aquí, no está en la siguiente línea. Bien, entiendo. Recuerda, lo mencionamos en una sesión anterior, luego te mostraremos cómo poner las cosas en líneas separadas. Pero esto no es un layout. El hecho de que incluso pudiera meter otra línea ahí, podría meter algunos espacios frente a eso, guardarlo, cruzar por aquí. ¿Cómo crees que va a quedar cuando golpee refrescar? Quiero tomar una conjetura. ¿Qué crees que va a quedar? Acabo de cambiarlo. Lo moví por otra línea. Lo he movido al otro lado. En realidad, voy a moverlo justo al otro lado. Ahora bien, en realidad debería venir directamente después de eso, pero unas filas más tarde. Bien, ahorra. ¿Qué aspecto va a tener? Exactamente lo mismo. Nada cambió. Notarás que nada cambia, aunque lo guardé y lo refresqué porque este no es un espacio de formato Es lo que yo lo mencioné. No es un ambiente de whizzywig . Así que eso no hace absolutamente ninguna diferencia. Todo el formateo lo hacen las etiquetas. Las etiquetas son muy importantes. Y de hecho, solo quiero tener una idea de cuántas, muchas, muchas etiquetas hay, si presionas el soporte de apertura, inmediatamente aparecerá todas las etiquetas. Y el error carga y carga y cargas y cargas de etiquetas. Y así obviamente puedes elegir, y estábamos mirando la etiqueta en negrita, y puedes ver las diferentes cabezas de etiquetas. Podría elegir eso así así. Entonces esa es otra forma de hacerlo, y elegirá una etiqueta para ti. Entonces ahí tenemos una cabeza de cuatro y guarda eso, regresa, echa un vistazo, y tenemos una cabeza de cuatro. Bien, entonces ojalá hayas aprendido mucho sobre las etiquetas y el cuerpo y donde pones todo este tipo de cosas y vas a explorar, pruébalo tú mismo, revisas muchas de las etiquetas. Te darás cuenta. Muchos de ellos no harán nada a menos que hagas algo muy específico. Entonces puedes probar estas etiquetas h1b, visa o cambiar directamente a texto Hacen que tu sitio web se vea diferente. Ve a jugar, diviértete, mira lo que también te metes. Es como vas a aprender nuestro animamos a cometer errores cuando estás haciendo cosas porque, ya sabes, todos cometemos errores, y está bien. Entonces, a lo mejor estás buscando hacer una etiqueta audaz o algo así y haces eso y dices: Bien, esto va a ser audaz y ahorras, y es muy emocionante porque esa última cosa va a ser en negrita, y te pasa a cruzar y echar un vistazo y está en negrita, pero no por las razones que pensaste porque si miras con cuidado, no has cerrado la etiqueta audaz aquí, y lo que va a pasar es que todo lo que viene después, la tienda va a ser embaldada aunque creas que está terminada Ahora, por eso es muy importante ver que tu etiqueta está abierta y cerrada, y esa etiqueta ahí no se ha cerrado. Entonces debería tener un cierre a delanteros B y cerrar, y eso es correcto. Diviértete, lío, haz lo tuyo. En definitiva, se trata de divertirse, hacer tomas, lo que sea. Bien, ve a hacerlo. 63. Conclusión y ejercicio: Bien, entonces en esta primera sección, hemos estado aprendiendo sobre los fundamentos de este entorno. Hemos estado aprendiendo sobre Sublime Text Editor. Hemos aprendido sobre los conceptos básicos del HTML, cómo es realmente como un pequeño esqueleto que te ayuda a construir tu sitio web. Usamos código fuente que se compone de ¿cómo se llaman estas cosas? Etiqueta. Eso es. Se llaman etiquetas, y cada etiqueta tiene una apertura y un cierre. Puedes ver la diferencia porque tiene un poco de slash hacia adelante para mostrarte el cierre Hemos visto cómo tienes un abridor HTML y más cercano. Entonces tienes tu sección de encabezado, que es esta parte, que realmente no necesitas hacer mucho además de tal vez poner un título, si quieres indicar tu título. Tienes tu sección corporal que está entre el cuerpo y el cuerpo cercano. Pero ahora es tu turno de probar un poco. Recuerdas que siempre guardas cuando cruzas y miras, es tu turno de intentarlo. Esto es lo que nos gustaría que hicieras. Lo que me gustaría que hicieras es pongamos esto como H dos es ¿qué? ¿Qué? ¿Qué opinas? Si realmente puedes pensar el ¿Qué debemos elegir? AA. L. Bien, hay una gran. ¿Quién sabe qué es la etiqueta? ¿Qué crees que hace la etiqueta LR? Bien, entonces, ¿qué me gustaría que hicieras? Y Joshua y yo pensamos que esto es una gran cosita porque cuando veas la etiqueta LR y la pruebes, la entenderás y es bastante genial. No te lo vamos a decir. Es hora de que aprendas intentando por ti mismo. Entonces lo que quiero que hagas es muy sencillo, muy sencillo. Es la etiqueta de IA. Quieres saber lo que hace. Entonces has oído hablar de Google. Excelente. Lo que nos gustaría que hicieras, no lo voy a hacer es lo que es la etiqueta AI HTML? Bien, quiero que vayas y lo busques en Google, leas sobre ello, así obtienes un poco de comprensión porque hay algunas cosas divertidas que puedes hacer con él que tal vez no entiendas si solo lo haces de inmediato. Y luego una vez que hayas hecho eso, pruébalo. Nos gustaría que agregaras una etiqueta de IA a tu sitio web. Entonces, lo tengo. ¿Qué crees que hace la etiqueta AI? Ve a Google, haz una pequeña búsqueda en Google de él, mira lo que se te ocurre, lee eso para que estés siendo activo en tu aprendizaje. Y luego cuando hayas hecho eso, ve, ah, vuelve y mételo. Prueba una etiqueta de IA. Pero léelo primero para que veas lo que hace, para que veas cómo puedes cambiarlo de una etiqueta Ai sencilla haciendo algo para convertirlo en algo ligeramente diferente, pero vas a tener que ir y averiguarlo por ti mismo. Entonces esa es tu tarea para esto primero te permita jugar un poco, acostumbrarte al ambiente, y poner algún H uno, algunos H dos, algunas negritas, si quieres, y jugar un poco de la etiqueta AR también Ve a divertirte, a aprender, a cometer errores. Pero así es como vas a aprender y aquí si tienes alguna duda, si no entiendes nada, siéntete libre de hacer un comentario en la sección de comentarios y haremos todo lo posible para ayudarte. Ve y diviértete, haz el viaje de aprendizaje. 64. Aparecer en la sección: Bien hecho. Termina esa sección, pero se pone aún mejor en la siguiente sección. En la siguiente sección, vamos a ver cómo hacer que se vea bien. ¿Cómo puedes agregar un fondo interesante detrás de tu sitio web? ¿Qué pasa con un logotipo? No solo te vamos a mostrar cómo insertar un logotipo, incluso te mostraremos lugares a los que puedes ir para diseñar un logotipo sin costo alguno. Entonces la siguiente sección es realmente emocionante. Vamos a hacer que este sitio web luzca fantástico. Vamos a llevarlo al siguiente nivel. Vamos a hacer que tu sitio web empiece a convertirse en algo profesional. Entonces, ¿a qué esperas? Llegar a la siguiente lección. Te estamos esperando ahí. 65. Párrafos y descansos: Bienvenido a la segunda parte del curso ICML, ira con Craig. Josh. Entonces, Josh, ¿cuál es el plan para esta parte del curso? ¿Qué vamos a estar viendo? Bien, entonces en este, vamos a estar viendo cómo hacer una oración, un párrafo, y básicamente cómo podemos hacerla agradable y ordenada y lo que sea, vamos a tomar algunas citas ahora y solo vamos a ver cómo va a quedar con etiquetas. Sí, vamos a explorar algunas etiquetas más, y vamos a la derecha, así que vimos antes que no puedes simplemente meter cosas y esperar que todo vaya a funcionar. Tienes que usar realmente las etiquetas HTML si quieres que las cosas pasen. Vamos a estar trabajando en nuestro pequeño bloc de notas, lo hayas llamado. Acabamos de llamarlo nuestro sitio web. Creo que la idea es que tenemos algunas citas geniales sobre educación. Nos gustaría crear una pequeña página web que tenga citas sobre lo genial que es la educación. ¿Cómo empezamos? ¿Te acuerdas? Estamos en texto Sublime. ¿Qué hacemos para empezar? Le pegamos a la H, porque esta es una página HTML y no le pegas no tiene Bien. Entonces tienes una ficha en la palabra f. Sólo arriba. Bueno, solo estaba entusiasmado. HTML. Bien. Y luego le das a tabulador y luego ahí lo tenemos. Bien. Así que no puedes ser totalmente vago, solo presiona H HTML, y tienes lo básico y estás listo para rockear. Entonces, ¿qué pasa bajo Título? Bien, entonces un Título, como sabemos. Entonces, ¿qué estamos haciendo? ¿Cuál es este sitio web que va a ser? Esto va a ser citas sobre Educación. Educación. Cotizaciones. Parece algo razonable. Bien, entonces ahora vamos a deambular hacia el interior del cuerpo Bien, entonces queremos poner algunas citas aquí. Tenemos algunos. ¿ Te lo puedes creer? Los tenemos ahí solo esperándonos. Tenemos tres citas realmente geniales. Aquí está uno agradable de nuestro amigo Albert. Entonces vamos a usar esa. Ahora bien, si simplemente lo metemos así, eso no va a ser bueno. Ya sabes, eso no va a salir bien. De hecho, podemos salvarla. Por el momento, parecerá que está bien, pero no hay formato. Cuando tratamos de meter otro en, va a resultar malo. Entonces ahora, si tratamos de meter otro en ustedes verán aquí. Sí, y eso no va a funcionar. Tomemos nuestra segunda cita central, esta de nuestro amigo Nelson. Parece que hemos puesto la demanda. Sí, queremos uno en cada línea. Quiero decir, es importante tratar de mantener las cosas vagamente ordenadas aquí porque solo te muestra lo que está pasando Sabrás algo realmente tabulado para que pueda ver qué hay entre mi etiqueta de apertura corporal y el cierre Yo creo, bueno, eso va a ser genial. Guárdala, atropella, pégale. Y nada malo, feo. Todo está en una línea. ¿Por qué? Porque el navegador Chrome está interpretando el HTML Por lo que dice el HTML, todo esto es solo una frase larga. Así que tenemos que usar nuestras etiquetas. ¿Y qué estamos haciendo aquí? Se trata de párrafos. Se trata de un párrafo. Bien, entonces tenemos esta etiqueta especial llamada la etiqueta P, que es el párrafo. Le pegaste a P y luego te dieron una Tab. Sí. Ahora con el párrafo, básicamente todo lo que hay dentro de esto, como todas las palabras y esas cosas, se quedarán juntas en una oración. Así que nada puede entrar entre palabras aleatorias que son código no pueden aparecer aleatoriamente en el medio. Entonces todo lo que está en el párrafo se mantiene unido muy pulcramente. Bien. Entonces vamos a mover esa etiqueta de párrafo de cierre para que esté del otro lado de nuestra cita de Albert Einstein, y eso va a ser todo como uno, queremos volver a hacerlo porque tenemos una segunda cita ahí, P y le damos a tabulador y tomamos la etiqueta de cierre, que es el párrafo P hacia adelante, pegado al Ahora tenemos dos de ellos. Si ahora nos refrescamos, ahí vamos. Eso se ve mucho mejor. Creo que tuvimos una tercera. Bien podríamos pegar el tercero al ver que estábamos respecto porque hay otra cita realmente genial. Aquí hay uno de Benny. Benny Frank. Tiene una cita muy bonita, cual disfruto particularmente porque se trata de decirme y olvido enseñarme involucrarme y aprendo. Eso es lo que estamos tratando de hacer en este curso. Queremos involucrarte. Lo que voy a hacer es que voy a darle a P. Tab, y estoy en una pasta. Y ahí está en el medio, así que ahora tenemos tres citas geniales. Y si hacemos un refresco, ahí los tenemos. La educación es lo que queda después de que uno haya olvidado lo que se ha aprendido en la escuela, dijo el famoso Albert Einstein Y voy a entregar a Josué, quien ahora va a decir la segunda cita en voz de Nelson Mandela No voy a hacerlo. Si la Educación es el arma más perfecta, que puedes usar para cambiar el mundo. No creo que haya un muy buen consejo. ¿Qué tiene Benjamín Benjar? Dime, y me olvido. Enséñame, y recuerdo, involúcrame, y aprendo. ¿Cómo lo hice? Y no creo que sean muy buenos. Creo que Albert sería un poco más alemán. Educación ya es lo que queda después de qué? Uno ha olvidado lo que uno ha aprendido en tu escuela ya. Bien. Bien, entonces no estamos haciendo una cosa de actores de voz. Sólo queremos ver cuáles son las citas. Entonces funcionan de esa manera. Se ve muy limpio por allá. Y si has explorado más de las etiquetas, ya sabes, existe esta etiqueta BR Sí, porque lo que sería genial, Josh. Porque por el momento, si solo regresas aquí, como el de Benji, dime y me olvido y me enseño y recuerdo que todos serían geniales si esos fueran todos en líneas separadas, tal vez Creo que una BR va a ser la que hay al final, se puede ver que hay bastantes. Entonces, ¿no podría decirte qué? ¿Y qué pasa con solo hacerlo? ¿Por qué no hacemos eso? Y acabamos de golpear a Enter entre ellos así, y eso es bastante genial. Y luego simplemente nos quedamos ahí y luego se ve así. ¿Qué tal eso? Sí. Bien. Oye, así es genial. Yo lo he guardado. Vamos a través, y no pasa nada. ¿Por qué? Bien, entonces si queremos ponerlos en diferentes líneas, tenemos esta etiqueta especial llamada BR, así que significa break. Es un salto de línea. Entonces ahora tenemos ahí una pequeña etiqueta BR. Vamos a poner otro ahí. Entonces al final de estas líneas, queremos que sea un descanso. Cada vez que pones un BR. Entonces lo que sí sugiero es mostrarle cómo le gustaría que se viera. Yo hice que pareciera que cada uno estaba en su propia línea, pero tienes que usar el BR. Ahí lo tenemos. Ahora tienes un salto de línea. Dime y me olvido de BR, rompe. Enséñame recuerdo BR y me involucré cuando aprendí BR, y así ahora se está formateando como queríamos. Entonces es un simple. Se trata de usar las etiquetas. Aquí hemos mirado dos etiquetas. Sí. Tenemos la BR, la P, y obviamente, tenemos un esqueleto. Sí, aquí, lo tenemos todo sentado en el esqueleto. Ahora hemos logrado crear una cosita agradable de citas. Incluso sin los espacios, obviamente podemos poner estos BR en estos otros porque si tuvieras que ver una cotización normalmente no la ves en una línea, la verías así Especialmente W quieres que tus pequeñas citas se vean más bonitas, Romperlo. Romperlo. También qué aviso hemos usado realmente, aunque se trata de un párrafo, como dijo antes Joshua, está la parte inicial del párrafo y la parte de cierre. Se pueden hacer que las BRs rompan etiquetas en el medio, por lo que eso se aplicará a ese párrafo Entonces aquí lo tenemos. Un párrafo. Si realmente quieres dejarlo claro, puedes hacerlo. Pero nuevamente, esto no le hará nada al formateo. Simplemente podría ayudar a tu legibilidad de tu código. Es importante tratar de mantener su código legible, de uso y denso. Si vas a tener un párrafo, ponlo para que sea fácil de ver, hazlo para que te sea legible. No va a impactar, como saben, no va impactar al pop final, pero al menos se puede ver lo que está pasando. Sí, exactamente. Si tuviéramos que ir tu arma más poderosa y tuviéramos que poner una BR al azar, BR y eso lo hacemos. Verás, realmente no sabemos cómo va a resultar esto. Ponemos otra BR aquí. Y ahora cuando guardemos esto, realmente no sabemos que va a salir, así que tendríamos que refrescar esto. Ahora solo puedes ver entonces, en lugar de hacer eso, como haces tus espacios bajos, vas aquí. Ahora podemos ver aquí mismo cómo va a quedar nuestra frase, va a ser algo así. Obviamente, todos van a estar enganchados al borde. Ahora cuando esté buscando mi código, estaré como, Bien, aquí es donde pongo mi B, ahí es donde pongo mi ser. Entonces es una buena idea. Entonces lo que estamos diciendo es que la etiqueta que estás usando aquí va a impactar cómo finalmente aparece. Pero trata de exponerlo como quieres que aparezca, y luego podrás ver que tienes donde están tus etiquetas. Entonces podemos ver cómo las etiquetas de párrafo, podemos ver cómo dos etiquetas de ruptura. Como verás, realmente no importa si pones la etiqueta del freno al final o al principio, es solo una etiqueta. Cuando le pega, va a hacer un descanso ahí. Entonces no es demasiado importante. Verás en esa primera, tenemos las etiquetas de freno con ese aspecto, el inicio de la línea no hace diferencia. Significa antes de la palabra que, y Nelson, va a haber un descanso, y eso va a estar en la siguiente línea. Oh, hay algunos conceptos básicos en torno a la creación de un pequeño sitio. Así que ahora hemos configurado nuestro pequeño y divertido sitio web con algunas citas en él. Demasiado fácil. ¿Crees que podrían averiguar cómo poner una rúbrica ahí? Sí, eso creo. ¿Crees que sí? Creo que ustedes, C. Yo creo que ustedes. ¿Y una rúbrica? Solo queremos un encabezamiento en la parte superior aquí allá dice increíbles citas de educación. ¿Cómo vamos a hacer eso? Vamos, piénsalo un poco. Nos das un poco de pensamiento. No te lo vamos a decir. Si no recuerdas, vuelve a esa sección anterior. Queremos poner una rúbrica aquí. ¿Cómo lo harías? Bien, ve a por ello. Que se diviertan un poco. 66. Estilos y listas: La educación es lo que queda después de que uno haya olvidado lo que se ha aprendido en la escuela. Sí. ¿Sí, Joshua? Sí. Sí. Sí. Sí. Bien, bien. Bien, entonces, ¿qué hemos hecho hasta ahora Hemos estado armando un sitio poco interesante de fascat con algunas citas de educación, pero creo que podemos hacer esta sara Sí, definitivamente se puede hacer este spa. ¿Qué crees que estamos necesitando aquí? Entonces formateando. Sí, creo que tenemos que cambiarlo un poco solo para que se vean como citas, no solo como. Ahí es un poco aburrido. Entonces tal vez consideremos qué tipo de esta parte aquí, la cita real. Si ponemos eso en cursiva, ¿ podríamos hacerlo? Sí. Bien, entonces consigamos las citas en cursiva Bien, entonces para hacer cursiva, todo lo que vamos a hacer es asegurarnos de que pones un espacio, luego ponemos nuestro yo y luego lo tabulamos Y ya verás que tenemos I. Yo para I. Tal. Sí. Entonces. Eso es bastante fácil. I en cursiva. Bien, así que pongamos el, no todo el asunto. Solo pongamos las citas en cursiva. Y creo que deberíamos ver cómo se ve eso. Sí, así. Sí, eso es muy bueno. Bueno, ¿qué hay de mí? Yo soy Nelson y Mandla. También quiero tener las cursivas para mi abrigo. Quiero ver cómo cambiaste el mundo. Bien, sí. Sí, pero ¿y yo qué? Yo soy Benjamín Franklin. También quiero cursiva para mi cuarto de galón. Sí, así podemos poner decir. Sí, vamos, hombre, sigue con eso. Todos ellos. Sí, todos queremos tener citas en cursiva Um, bien. Vamos, X. O Benjamín. O nada. Ahora podemos O para éste, no tenemos ningún descanso, así podemos mirar lo que queda después. ¿Qué queda después? Poner un descanso. Ya, eso es bueno. A veces me gusta tener un descanso. Sí, entonces pon pon otro descanso ahí, yate. Y Muy guapa. Dices esto. Bien, vamos a echar un vistazo. Bien, entonces se ve un poco mejor. Oh, Benjamín Franklin, su nombre está en cursiva. Ooh Bien, pon esto demasiado temprano, demasiado tarde. que veas lo importante que es también tratar de ver a dónde van tus etiquetas. Y obviamente, no es tan difícil. Rápidamente se ve, derecho. Entonces ahora solo tenemos las citas. Pongamos el nombre de Albert Einstein en la siguiente línea. Verás, de momento, su nombre está en la misma línea. Entonces, ¿qué necesitamos ahí? Necesitamos otra BR. Bien, así que hit entra pasa a la siguiente línea, para que veas ahí es donde va a ir y luego poner el BR. Entonces ahora deberíamos estar luciendo bastante calientes y geniales. Aquí vamos. Ahí vamos. Bien. Hablemos en fresco. Pero ahora tengo otra idea. ¿No quieres ideas? Mm hmm. Tú lo haces. O suenas como si estuvieras absolutamente fascinado por mi otra idea Tengo mi idea. Está bien. No, tengo dos buenas ideas. El primero es, pongamos algunas cosas en negrita, también. Podemos ser los nombres y las negritas. Vamos con los nombres porque puede hacerlos destacar porque todavía se están perdiendo un poco ahí. Bien. Así que vamos a usar cursiva y negrita y se rompe y se puede ver como todos estos empiezan a acumularse. Entonces tenemos esta pequeña sección. Vamos B es la etiqueta B. Algunas de las etiquetas son realmente obvias. I para cursiva, B para negrita. Nuevamente, abriendo negrita, donde quieres que vaya, la etiqueta final en negrita. Pero todo este tiempo, fíjate que P, la etiqueta de párrafo es lo que encapsula todo el párrafo Nosotros lo dijimos al inicio que el párrafo es toda la pieza. Dentro de él, puedes tener descansos, puedes tener negrita, cursiva y muchos otros Ahora vamos a poner en negrita cada uno de los nombres de nuestros señores. Bien, entonces señores, prepárense para ser audaces. Nosotros vamos aquí, lo salvamos. Nos refrescamos, y ahora te das cuenta. Sí. Esa es la mirada. Dan dulce, dulce, dulce, mascota. Sí, así podemos negrita cuando queramos. Sí. A tope. Buena idea. Sí, pero, B. B. Creo que podríamos superar uno mejor que esto ¿Diablos es eso? ¿Te diré qué? Tengo algunas citas geniales. Y se va. Tengo algo genial, tenemos renuncias rien up se cierra Um, películas Quiero decir, si te lo preguntara, Joshua, ya sabes, si te preguntara, ¿cuál dirías que es tu mejor película que trata sobre el aprendizaje de la educación y ese tipo de cosas? Las mejores películas. Sí, bueno, sólo dame una. Estás bien. Uh, tantos, tantos. Tantos, muchos. Hay bastantes. Yo gracioso no he visto la Libertad como la conozco, bastante buena. Bien, esa es una genial. Entonces, digamos que lo que queremos hacer ahora es que queremos, como, poner una lista de películas educativas. Entonces vamos a decir, lo que tal vez diga Ah top como sea que lo deletree películas educativas. Derecha. Ahora, podríamos hacer todo lo atrevido y todo, pero eso no va a lo vamos a saltarlo como una H dos. No tenemos demasiado grandes, no demasiado miramos los encabezados antes, H dos es un tipo de encabezado. Entonces aquí vamos a usar un encabezado de segundo nivel, así que no es demasiado dramáticamente bolsa. Echemos un vistazo a cómo se ve eso ahí. Bien, eso no está tan mal. Quiero decir, lo que podríamos hacer es demostrar que realmente recordamos el hecho de que la línea 19 no tenga nada en ella no significa que la línea 19 no tenga nada en ella. Podríamos poner un descanso ahí si quisiéramos, lo que solo nos daría un poco de espacio entre, ya sabes, ahí vamos. Entonces eso es bajar uno. Bien, entonces, ¿ cuál era esa que estabas diciendo? Escritores de Libertad. Escritores de Libertad. Entonces ahora, si lo pongo así, ¿qué va a pasar? Probablemente no va a salir tan bien, ¿verdad? No. Bien, está ahí, pero eso no es bueno. que queremos, como, Bueno, pensemos en algunas otras películas, y vamos a conseguir tal vez nuestras tres mejores. ¿Qué tal nuestros tres primeros? Los tres primeros. Ustedes ahí afuera, están vigilando. ¿Cuáles son tus tres mejores películas educativas? ¿Qué es eso, señor? Lo siento, señor. ¿Qué Amor? Oh, lo siento, lo sé. Aquí diciendo: Oh, Oh, tous señor con amor. Sí, sí, sí, esa es una gran. Bien, entonces um tous señor ¿Con amor? Sí, Tse con Amor. Bien, hermosa. Francés. En realidad no es una película francesa. Bien, M Mo Craven. ¿Quieres saber cuál es el mío? Mhm Esta es la película que Rock the World. Esta es la película. Además de películas educativas, esta es súper genial. Ir D Sí. Ir da. ¿Lo reconoces? La famosa línea Carpe Dame de la película Dead Poets Society. Oh, sí. Esa fue una famosa película de Robin Williams. Sociedad de Poetas Muertos. Derecha. Fantástico. Bien, entonces esos son un horror. No es un horror. Ahí es donde está como esta famosa escena y está viendo esta fotografía en la pared cuando sabes, es de hace como 200 años, 180 y todos los niños están muertos, obviamente. Esto es y a medida que se inclinan cerca se inclinan cerca ya que todos se inclinan cerca, él va. Viga. Y se dan la vuelta y miran al maestro y piensan que está loco, pero qué significa Copy Dame, Aprovecha el momento Dice señores, esa gente está empujando las margaritas. Vías que la vida por delante de ti puede marcar la diferencia. Bien, estamos siendo desviados, sí. Pero aquí vamos. Bien. Son feas. Joshua, ¿qué está pasando? ¿Qué está pasando? Obviamente, no hemos puesto ninguna etiqueta para que podamos usar frenos y esas cosas, pero en realidad los queremos como pequeñas viñetas, ¿no? Sí. Bien. Entonces te enseñé honestamente a buscar en esta lista. ¿Qué lista? ¿Qué son los Is? Sí. ¿Tú hiciste eso? Dijiste ve y mira lo que es LI. Es una lista. ¿Lo hiciste? Espero que lo hayas hecho. Bien. Entonces aquí van a usar la etiqueta LI? Sí. Entonces, ¿de qué se trata esto, Josh? ¿Qué es lo que esperábamos que va a pasar? Oh sobre uno mismo, es solo básicamente un elemento de lista. Entonces si tienes algo en yo, va a ser como, Bien, ese es un elemento de cierto tipo de lista. Así que tenemos todos esos. Bien, entonces tenemos tres en esta lista, cruzamos y echamos un vistazo. Bien, creo que tienen una pequeña lista de viñetas. Sí. Entonces sabemos que todos son parte de algún tipo de lista. No es una lista específica. Por eso ves ahora solo tenemos solo el s. Lo que realmente querías hacer es poner O, que significa lista ordenada. Lista desordenada. Sí, lo haremos. Lo que realmente queríamos hacer es ponernos a Nosotros, lo que significa lista desordenada, que es nuestra viñeta Y esto va a esto significa que todas estas palabras de aquí están destinadas a estar juntas. Todos estos son parte de nuestra lista desordenada. Es como con nuestro párrafo abriendo y cerrando para un párrafo que dice que ese es el comienzo y ese es el N. Lo mismo te aplica con una lista desordenada, UL Ahí está el inicio y ahí está el N. Significa que todos estos pertenecen a esa lista desordenada Hay dos partes en esto. Ally es cada elemento de la lista. UL dice que es una lista desordenada. Ve y toma unas cuadritas, ya verás que sabe que todas estas cuelgan juntas. Solo hay sangría correctamente porque sabe que esta es una lista. Pero ¿sabes qué? Para mí, algunas de esas, esas son las tres mejores películas educativas, pero no son solo puntos. De hecho quiero decir, en realidad, en mi opinión, este es mi no sé cuál es tu favorito, pero realmente no importa porque voy a ser yo el que escriba ahora, y creo que es lo mejor, pero no quiero que solo aparezca en la parte superior. Quiero que sea uno, dos, tres. Entonces, ¿cuál es el problema con eso? Bien, entonces U lista desordenada. Si solo hacemos una lista Oh, ordenada, ahora no. Tan simple como eso. Ahora va a ser una lista ordenada, así que así que hemos cambiado UL a OL, desordenada a lista ordenada, y y pot society, número uno, la roca ahí tenemos en nuestras tres mejores películas educativas Carpve consiguió un buen oyente. No tengo que empujarla demasiado lista. Eso se ve bastante genial. Sí, así se puede ver que es muy pequeña comparada con esa fuente. Entonces, obviamente, si quieres, podríamos cambiar todas las tallas. Te dejaré hacer eso. Puedes mirar a través de todos los encabezados, los H tres, puedes intentar hacerlo audaz solo para que sea agradable y Exactamente. Se. Bien, así que hemos hecho algunas cosas realmente interesantes al mirar nuestra codificación. Nos hemos involucrado bastante y desarrollado ahora. Puedes ver que estamos usando múltiples tipos de etiquetas, y te toca a ti tener un pequeño intento. Por qué y ver si puedes configurar un pequeño sitio divertido o una pequeña página como esa con algo que sea importante para ti, tal vez citas de educación o citas recetas o citas de películas o citas de vida, lo que quieras, sobre para ti. 67. Tablas: el secreto detrás de la disposición HTML: Correcto, entonces estás rockeando como una coda HTML. ¿Qué opinas? ¿Ya son como ninjas ? Todavía no, pero. A ellos les gustan los micro ninjas. Como cerca de ninjas. Pero ahora, estoy viendo esto. Se ve genial. Se ve genial. Pero, ¿qué opinas, Josh? Oh, necesita estilo. Necesita más. Sí, ¿sabes qué sería genial? Tenemos esto como grande enorme. Parece que aquí hay un oso polar perdido en una tormenta de nieve Hay todo un oso polar perdido en lo de la tormenta de nieve que va por aquí Sería más genial, a lo mejor si estos fueran así, luego uno al lado, el siguiente. Todos ustedes están en una línea. Sí, así que las pequeñas citas en un bloque así. Pero ahora, si volvemos aquí, tiene sentido, tenemos párrafos, tenemos la P y la P. Pero quiero decir, ¿cómo lo vamos a conseguir para que vaya uno al lado del otro? Necesitamos algo más, algo que nos permita poner los tres uno al lado del otro. Estamos buscando mesas. Mesas, bebé. Otra llamada de lista sobre la mesa. Sí. Mesas. ¿Deberíamos hacer mesas? Sí. Vamos a darle la vuelta a las tornas. Haremos mesas. Entonces, ¿cómo hacemos las mesas? Mesas es muy sencillo. Muy sencillo. Al igual que hicimos con las listas, como ustedes saben, tenemos nuestro OL, después hemos puesto todas nuestras listas y luego hacemos otro OL con mesas, bastante hacemos lo mismo. Es como una cosa compuesta. Lista ordenada, tenía lista de pedidos y Ais múltiples partes a ella. Esto va a contar todo lo que hay en las mesas. Entonces tenemos la etiqueta de apertura y las mesas terminan ahí mismo. Entonces lo puse ahí. Nuevamente, lo que me parece, como dije antes, es bastante útil si solo usas un poco de tabulación solo para que veas exactamente lo que está pasando Te ayudará a realizar un seguimiento porque de lo contrario, lo que puede suceder a medida que tu HTML se hace cada vez más grande, puedes empezar a confundirte un poco en cuanto a lo que está pasando. Usa un poco de tabulación y ya puedes ver, puedo ver con bastante claridad, eso está todo dentro de mi mesa Derecha. ¿Qué necesitamos a continuación? Es un elemento de mesa. Pero eso no está terminado, ¿verdad? No. Tenemos un TR que es tratar tarántula Nosotros tenemos TRs y tú tienes TD. TR es tu fila de tabla, tienes un montón de filas y luego tienes tus filas de tabla son así que solo necesitamos esencialmente una tabla de filas, estoy asumiendo porque eso sería en una columna. Estos van a estar todos en la sentada de la segunda columna. Es una tabla de una fila, pero con múltiples columnas en esa tabla. Sí. Ponemos un TR al principio y luego tomamos esto justo aquí y vamos a poner esto al final. Esto es porque sólo tenemos una fila, por eso estamos poniendo al final. Así que aquí atrás, ponemos eso ahí mismo. Entonces, en nuestra fila, tenemos una mesa. De nuevo, lo que vamos a hacer rápido, sólo voy a hacer un poco de sangría aquí para que podamos hacer un seguimiento Entonces, esencialmente, lo que tenemos es una mesa, y esta tabla tiene una fila. Ahora, podrías poner más filas y veremos una etapa posterior, pero sería tan simple como poner otro TR y tendrías otra fila. Pero por el momento no necesitamos eso. Sólo vamos a hacer una tabla de una fila. Sí. Entonces ahora para hacerlo cada uno de esos es una columna en la tabla. Sí. Entonces tenemos nuestro TD. TD es todos nuestros datos dentro de la derecha. Bien, entonces los TD básicamente representan los datos de tu tabla. Entonces cada elemento que va a estar en la fila es un TD. Entonces tenemos tres citas. Entonces cada uno de estos. El primero de Albert es un TD y verás que tiene un TD de apertura y un TD de cierre. Siguiente, TD. Y así fue Nelson Mandela Education. Hombre usado. Hombre, estoy apostando. Quiero decir que la educación es Benjamin Franklin, y él quiere su propio TD, también. Ahí tienes un TR, y eso no está bien. Oh, eso no está bien para mí. Yo soy Benji ¿Por qué no me dan TD? Sí, vamos, voy a necesitar ir a TD. Benji va a conseguir su propio TD. Ahí va. Y ahí mismo lo conseguimos. Todo el mundo tiene un TD. Refrescaré a ese bebé Rocking, Rocking Parece que estamos cubriendo mucha más pantalla y no estamos desperdiciando tanto. Bien, entonces las tablas son un elemento secreto que se utilizan, no como cabría esperar. Normalmente esperas que Arth pueda tener mesas, vas a ver líneas y puedes hacerlo Se pueden crear tablas que tengan todos los pequeños contornos, etcétera Pero las tablas en realidad se usan más a menudo como elemento de diseño porque te permiten poner las cosas una al lado de la otra. Como veremos nuestra siguiente lección, tal vez, por ejemplo, sería genial tener algo justo por encima un encabezado o una imagen por encima de esos o lo que sea. Entonces las mesas son el secreto. Te contamos esto entre ustedes y nosotros. Mesas. Dables. Mesas. Sí, mesas. Todos son lo secreto del estilo que no mucha gente conoce. Entonces así es como puede arreglar, señor. Entonces, ¿qué opinas, Josh? Se ve bien. No estamos desperdiciando tanto espacio. Obviamente, tenemos más opciones con mesas. Puedes hacer esta investigación. Podemos poner en columnas que básicamente espacian tus mesas. Pero por ahora, esto se ve bien. Obviamente, eso se está poniendo más meollo arenoso con nuestras mesas Entonces creo que nuestras mesas se ven geniales. ve bastante bien. Las tablas son muy importante cuando estás haciendo sitios web. Sí. Entonces en nuestra siguiente lección, porque vas a querer revisar esta siguiente lección, tenemos que tomar la mesa, podemos extenderla un poco más, vamos a agregar otra fila. Entonces vamos a poner algo realmente especial, pero solo calificaste para hacerlo si sales y lo intentas por ti mismo. Vamos. Salga y crea para ti mismo una mesita , juega con ella, mira cómo funciona. Muy sencillo. Debe tener una etiqueta de mesa de apertura, etiqueta de mesa de cierre. Entonces, ¿cuántas filas quieres? Bueno, comenzando con una fila, etiqueta de apertura, cierre, y luego para cada elemento en ella, se tiene un TD de apertura y un cierre para datos de tabla. Tan simple como eso. Salga y diviértase un poco. 68. Agregar imagen: Bienvenido de nuevo. Nuestro pequeño sitio web está llegando, luciendo súper genial. Pero podemos hacer que se vea mejor. Sí, podemos. Desafío. Sí. ¿Crees? Sí, creo que podemos hacer que se vea mejor. ¿Te convenciste? Sí, sólo para agregar eso. Ese Choi V. ¿Eso es lo que vas a decir? Oh. Bien, lo que sea. Pero quiero empezar como una cosita. Tenemos estas pequeñas cosas geniales y columnas para ver cómo esas quizás serían un poco más agradables en el centro Ahora bien, centrar es algo bastante útil solo para hacer por cualquier razón, si quieres centrar un trozo de texto o lo que sea vamos a centrar cosas que están en las columnas Recuerda, tenemos nuestra fila, y en esa fila, tenemos elementos de datos, que esencialmente nuestras columnas. Aquí está el primero, y ese es un párrafo que se compone entre la apertura y el cierre P. Ahora bien, lo que podemos hacer es usar la etiqueta central. Es realmente bastante simple. Adivina qué es. Simplemente escribe la palabra centro, y es la etiqueta central, y luego puedes simplemente copiarla y ponerla entre nuestras ps de apertura y cierre así que obviamente, lo que tenemos que hacer es que tenemos que volver a hacer eso para cada uno de ellos. Vamos a meter la etiqueta central. Entonces nuevamente, solo puedes hacer centro y hacerlo así queremos que cada uno de ellos esté centrado. Entonces hay un pequeño atajo genial que podemos ver más tarde que puede ayudarte a hacer esto un poco más fácil. Por el momento solo mantenemos una cosa a la vez, así que etiqueta central, abriendo y cerrando. Bien, así que echemos un vistazo cruzando. Aquí vamos. ¿Qué debería pasar? Tres, dos, uno. Bang. Bien, tú una especie de buena idea. Ahora se han centrado en cada una de esas columnas. Cierto, así que no es fan no prohibir no está mal. Pero sabes que le da mucho más ordenado. Oh, esto es hermoso, pero ¿sabes qué lo haría más hermoso? De una imagen. Oh, si, si, si, como este Youtube. Sabes, esto es genial. ¿Qué opinas? Sí. Tienes tu texto, luego arriba de él, tenemos nuestras imágenes. Sí, entonces tienes el texto debajo de una imagen. Entonces, si tuviéramos un diseño así, teníamos nuestro texto o nuestra imagen. Entonces tal vez sea un poco aburrido por el momento. Necesitamos a Sire V. ¿Quién es este? El contratante V. ¿De quién es esto? El hoi V. ¿Es esa la palabra correcta? Mi no lo sé. Lo que sea. Sabes, solo necesito que se vea así. ¿Cuál es la palabra que busco? ¿Qué somos? Necesitamos esa, como, imagen es aburrida. Sólo son los techs. Entonces lo que sería genial, Josh, es que si tuviéramos, como, una foto de Albert Ya Ermste Nelson Nelson Mandela Benjamín, señores, Franklin. Por encima de cada uno de estos. Entonces creo que podemos hacer esa roca. Entonces, ¿qué vamos a hacer? Así que vamos a tener que encontrar esas imágenes. Vamos a tener que encontrar esas imágenes. Bien, entonces eso es lo primero que vamos a hacer. Así que vayamos y diríjamos a nuestro amigo Google. Vamos a ir específicamente a la búsqueda de imágenes de Google porque ese es el lugar más fácil para ir y buscar imágenes. Y quien fue nuestro primer compañero que teníamos por allá, Albert. Albert Einstein. Entonces, si queremos obtener una imagen de Albert, lo que puedes hacer es un pequeño consejo aquí. En lugar de obtener una enorme imagen gigantesca que va a tardar mucho en cargarse en tu sitio y causar todo tipo de problemas, puedes controlar múltiples elementos aquí Entonces, cuando hayas hecho clic en herramientas, verás un pequeño menú desplegable y te dará algunas opciones Y puedes elegir cualquier talla grande, mediana. Incluso puedes elegir un tamaño de icono, que obviamente va a ser agradable y pequeño. Así que vamos a por eso. Todo bien. A ver, hay una pequeña foto interesante de Elbert Te gusta con estas pequeñas lenguas sobresalen aquí, Elbert Derecha. Entonces, cuando encontraste una imagen que te guste, lo que necesitas hacer es obtener la dirección de la imagen donde se almacena esta imagen, ¿bien? Entonces haces clic derecho y eliges Copiar tarro de imagen. Sí. Dirección de imagen, sí. Sí. Dirección de imagen. Sí, así que vamos a necesitar esa dirección porque ahí es donde está alojada la imagen. Tu imagen tiene que ser alojada en alguna parte. Es muy importante. Entonces, o necesitas subir tu imagen a un lugar donde puedas alojarla. Entonces, por ejemplo, podrías alojarlo en Google Drive, Dropbox, donde quieras si estás pagando por algún hosting. Pero en última instancia, tiene que ser señalarlo. Ahora, podrías alojarlo localmente en tu propio sitio web, pero luego solo funcionaría en tu computadora. Pero una vez que has publicado en la web, gente no puede acceder a tu disco duro local. Por lo que necesita ser alojado en línea. Entonces de todos modos, solo estamos usando estos, solo estamos apuntando a esta imagen que está almacenada en el sitio web de alguien. Y vamos a Nipacrosia. Ahora bien, lo que tenemos que hacer, ¿Josué es qué? Necesitamos más filas. Sí, creo que metemos otra fila, así que vamos a poner una fila por encima de ella. ¿Cuántas filas vamos en este momento? Tenemos una fila. A, tenemos una fila. Se puede ver empezando por ahí. Entonces vamos a poner en otro. TR. Entonces estamos listos para poner en otra fila ahí, hacer algunas pequeñas especificaciones. Entonces, ¿ahora qué viene después? Tenemos que poner TDs. Bien, entonces vamos a poner en nuestros TDs, que van a ser nuestros datos, así que esencialmente podemos terminar con tres de estos Entonces vamos a tener uno de estos para eso va a ocurrir por encima de cada una de las filas de abajo, habrá una para cada una. Bien, nos instalamos bien. Ahora nos quedamos en blanco si lo miramos en esta etapa y guardamos eso va a quedar increíble, nada va a gustarle. Podrías haber notado que simplemente saltó un poco porque realidad es una fila en blanco sentada ahí, pero nada en ella. Bien, ¿qué sigue? ¿Cómo insertamos una imagen? Eso es lo que quiero. Ahora con la imagen, aquí es donde llegamos a lo que la mayoría de los sitios web tienen son imágenes, y en realidad es bastante fácil. Si solo tecleamos IMG y le pulsas Tab, esto va a autocompletar Siempre hay que darle a la pestaña. Pt. Como puedes ver si hacemos esto, puedes ver la sugerencia IMG le pegó. Sí, va a tener eso. Más fácil de hacer, solo ve IMG, haz clic en pestaña y verás que Auto cae, SRC es igual, y tiene este Esperando algo. Ahora, SRC es la fuente Eso quiere saber dónde está almacenada la imagen. Eso es lo que estábamos diciendo hace un momento. Hay que informarle en cuanto a dónde se almacena la imagen. Tiene que guardarse en alguna parte. Ahora obviamente, va a ser una página web en línea. La imagen tiene que ser almacenada en línea. Entonces por el momento, los que estamos agarrando están almacenados en el sitio de alguien, básicamente va a poner eso ahí Sí. Entonces ahora si pegamos, este es el enlace a la imagen. Entonces ese es un enlace al sitio web de alguien donde está esa imagen, y ahí vamos. Ahí está Albert lengua fuera. Sólo un pequeño punto. Ten mucho cuidado es que la fuente tiene que apuntar a una imagen, no a otra página HTML o algo así. Observe al final, esto necesita ser una imagen, un JPEG, PNG, algún tipo de archivo de imagen porque si no lo haces bien, no vas a obtener la imagen. Sí. De hecho, si cruzamos con quién tenemos a continuación, Nelson. Vamos a buscar a Nelson. ¿Nelson? Pues tú. Bien, así que seguimos buscando los tamaños de los iconos. ¿Cuál queremos? Esa es una. Éste. Se puede utilizar. Yo puedo usar esa. Ahora, de nuevo, ahora mira de cerca, fomente el ojo estoy haciendo un click derecho. Ahora bien, lo que estamos haciendo aquí es que no estoy copiando una dirección de Link. Eso es diferente. Estoy copiando la dirección de la imagen porque una dirección de Link, déjame mostrarte si copié eso y solo sube y pegarlo para que veas cómo se ve. Es una cosa larga que se ve así. No hay punto PNG, no hay punto JPEG. Bien, no vamos a hacer eso. Estamos copiando una dirección de imagen. En realidad quiero la dirección exacta donde se nota la imagen. Ahí está. Verás, termina con un JPEG. Entonces eso es lo que queremos la dirección de la imagen. Entonces, Josh, ¿qué vamos a hacer ahora? Pegar. Entonces G tabot. Y pegar. Bien, entonces ese es nuestro segundo , y luego lo conseguimos uno más. Tenemos que encontrar al viejo Benji. Sí. Ben hombre? ¿Dónde estás? Oh, vamos a ver. Este se ve bien. Como verás, fue en un día lateral porque tenemos trozas en un tamaño específico de estafa Todos ellos serán 256 por 256. Ya te darás cuenta, guarda esta imagen guardada. Copia imagen vestido. Oh. Eso lo guardamos. Lo metemos aquí. Mételo adentro. Stick Benji Benji ir Ahí vas. Benji está adentro Ahora, te das cuenta cuando refresquemos nuestra pestaña verás que todas son del mismo tamaño como si no las tuviéramos así, no serían del mismo tamaño. Sí. Quiero decir, eso puede hacer que se vea un poco feo. Digamos, elegimos específicamente tamaños de iconos que lo hicieron agradable. Déjame mostrarte si tengo que ir a decir grande. Aquí es cuando vamos a encontrar alguna otra talla para el buen viejo Benji, y ahí está Benji Ahora ya ves que es camino de regreso. Eso es 2744 por 189. Ahora bien, en realidad no querría una imagen tan grande. Realmente va a hacer cosas que sean un poco más pequeñas. Pero además del tamaño, lo que va a pasar es si tuviera que tomar esa dirección de imagen y ponerla y sustituyamos lo que tenemos aquí para Benji por la nueva Vamos a reemplazar ese poquito, sacarlo y pegar el nuevo en. Echa un vistazo a lo que sucede. ¿Qué tan hermoso va a ser esto? Qué bonito o va a ser o no. Bien, a ver lo que ha pasado. Esa es realmente grande. Está tardando mucho tiempo incluso en cargarse. No se ve bien. No es del mismo tamaño. Vamos, Z eso. Antes de hacer eso, tenemos otra opción. Y otra opción. Entonces quieres esta imagen, pero Se de vuelta. Es bonito y blanco y negro. Pero es posible que no siempre obtengas las imágenes exactamente del mismo tamaño. Sí. Así que solo vamos con Así que en realidad puedes especificar el ancho de tu imagen. Entonces va a escalar tu imagen a un cierto ancho. Entonces decimos ancho igual, luego invertí mas, y, y diremos 266. Creo que eso es lo que fueron los otros. Así que vamos a echarle un vistazo. A Benji, trabaja con nosotros Benji Trabaja con nosotros Benji. Trabaja con nosotros Benji Sigue siendo muy grande para cargar. Bien, entonces él es el ancho correcto w, pero obviamente, la altura sería diferente. Sí, porque teníamos una plaza. Si tuviéramos que establecer también la altura, sería muy cuadrado. Un banjie largo. Sí. Pero puedes ver que tiene las mismas dimensiones que Ok, así que eso se ve bastante genial. Para que puedas alterar y jugar con los elementos de ancho de las cosas. Entonces puedes agregarlo al final y alterar el ancho de cualquiera de estos manualmente. Y obviamente, hay que jugar con la altura, etcétera. Así que idealmente, si estás tratando de que todo se vea igual, vas a tener que tratar de encontrar las imágenes iguales. O obviamente puedes descargar las imágenes y recortarlas tú mismo. Oh, ahí tenemos tres de ellos. Tenemos esto que no se ve muy mal. Sí. Sí, tenemos a Albert y Nelson y Benjamin. Entonces, lo que hemos hecho sin que la gente lo sepa. Tenemos dos filas aquí sentadas con tres columnas controlando esto, y tenemos imágenes. Creo que eso se ve bastante bien. Sí. Es decir, una historia empieza a parecerse a un sitio web. Sí, creo que en realidad parece que tenemos una cita. ¿Qué pasa con nuestra gente? Sé lo que necesitamos. Sólo una última cosa. Solo necesitamos un encabezado en la parte superior. Sí. ¿Qué dices? Yo digo. Dices. ¡Oh! Entonces, ¿qué usaríamos? Vamos a usar el H uno. H una cabecera. Podemos decir algo sobre las citas. Cotizaciones de educación. Sí. Citas de educación que rocían mi Mundo. Bien. Eso lo guardamos. Así que lo guardamos. Y aquí vamos. Educación cruzan a Rock my world. Ahora, de nuevo, el Benji es un poco lento en subir. La razón por la que Benji tarda en subir es ¿qué? Es que la imagen es realmente grande. Ese es también el problema de tener que elegir una imagen muy grande. ¿Ves? Sí, no estoy contento con Benji. Voy a regresar y cambiar a Benji a otro tipo. Voy a decir Benji, esos me gustan o en realidad incluso puedes decir exactamente. Esa es la otra opción. Podrías elegir una imagen que sea de un tamaño específico. Ya sabes, pero yo estaba contento con nuestro Benji que específicamente era de buen tamaño Ben no te dejaste llevar demasiado. Entonces yo soy hombre se ve bastante miserable ahí. Sí. Pero en fin, mantengámoslo aquí. Hay un bonito 2561. Copia la dirección de la imagen. Puedes mantener el tamaño adentro si quieres. Dice 266, así que probablemente lo va a estirar ligeramente. Pero vamos a meterlo ahí. Pon esa. Creo que eso va a ser mejor. Y podemos ver cómo estamos mirando y sacudiendo nuestro mundo. Sí, sí, se ve mejor. Tenemos Benji bengi, fantástico. Ahí lo tenemos. Podemos alterar el tamaño de esto. Podemos alterar el tamaño de todos ellos. Si los quisiéramos todos un poco más pequeños, sería lo más fácil posible. Es una manera fácil decir decidimos que queríamos todos estos Josué un poco más pequeños dijimos que los queremos todos no sé, 220 y queremos pegar ese 220 en todos ellos. Porque queremos repetirlo, así que me pregunto si cada uno con 220. Sé que podemos copiar y pegar. Sí, manera fácil de repetirlo pero digamos, no tenemos nada de eso. Estamos empezando así. Mantenemos el mando, te darás cuenta ahí. Nosotros, solo mantienes presionado el comando. Entonces ya ves que tenemos dos maldiciones. Al hacer clic mientras mantienes el comando. Mientras haces clic, debes mantener presionado el comando. Hacemos clic en darle otro cursor. Tenemos tres maldiciones parpadeantes. Sí. Ahora si tecleamos decimos lo que es y luego podemos ahorrar 200 o algo así. 200. Lo que sea. Eso lo guardamos y ahora cuando nos refrescamos. Está aquí. Ahí vamos. Un poco más aquí. Oh. Derecha. Eso es fantástico. Entonces esa fue una pequeña técnica muy genial. Entonces, si quieres que se haga algo en múltiples lugares, puedes tener tres cosas. Simplemente mantén presionado el comando y haces clic en todos los lugares que quieras que suceda. Derecha. Entonces ahí vamos. Esto debería quedar bastante impresionante. Tenemos un pequeño sitio web genial entrando ahora. Tenemos ataques a la cabeza, tenemos tablas, y luego tenemos imágenes, tú tienes formato. Tienes listas. Tienes cosas fantásticas pasando. Tan bien hecho en esta etapa. ¿Sabes qué? Creo que esta gente merece un respiro. Salga a tomar una taza de café. Ir a correr. Creo que tenemos que salir a correr. Bien, vamos a correr. Ve a tomar una taza de café. Te veremos de nuevo en el otro lado. 69. Entre bastidores: fuente de la página: Bien, lo estamos meciendo aquí. Como dice la cosa, la educación cita una roca mi mundo. Entonces a estas alturas, tú al final de nuestra sección, y ojalá te hayas dado cuenta de algunos de los conceptos básicos. Entonces lo que queremos hacer en esta cosa de conclusión es mostrarte algo realmente genial y darte un reto. Joshua, ¿están a la altura? Sí. Ah. Tú calculas, sí, ellos pueden hacerlo. Bien, él tiene confianza en ti. No estoy muy seguro. Entonces veamos qué puedes hacer. Entonces, en primer lugar, solo queremos mostrarte algo realmente genial. Como ya sabrás, tu sitio es este código HTML básicamente es interpretado por Chrome o tu navegador y te muestra la página. Ahora, lo que puedes hacer es ir y ver el código fuente a cualquier página. No importa cuál, lo usaremos como mi en simplemente haciendo clic derecho abajo en la parte inferior aquí en Chrome, verás pocas fuentes de página. Ahora si estás usando otro navegador, invariablemente, va a estar en una de las opciones donde puedas ver, por ejemplo, puedes llegar a las mismas cosas bajo Ver desarrollador Dependiendo del navegador que estés usando, habrá algún lugar donde puedas ver la fuente de la página. Estoy haciendo clic derecho y puedo hacer clic Ver la fuente de la página, y aquí vamos. Vamos a ver qué existe dentro de ese código. Ahí vamos. Ese es nuestro código. Eso es exactamente lo que escribimos. Se ve exactamente igual que teníamos antes. Ese es el código real donde lo estábamos desarrollando en Sublime, y aquí está. Entonces básicamente es tomar este código e interpretarlo como esa página web Todos nuestros códigos, nuestros enlaces, todo aquí ahora que antes te parecía locura Yo ahora tiene sentido. Tiene sentido, nena. Entonces, ¿qué más tenemos aquí, Josh? Bien, entonces otra opción con chrome, tienes esta inspeccionar, así que básicamente te lleva a esto donde ves si vamos aquí, eso es lo que sea que el cuerpo tenga un margen corporal, todo ese tipo de cosas. En lugar de eso, puedes seleccionar una cosa específica. Digamos si seleccionamos esto. Se puede inspeccionar eso y ver qué fue lo que se compuso así que ahora se ve aquí, esto se hace en una etiqueta B. Algo interesante es que en realidad puedes cambiar esto vamos. ¿Y qué tal vamos a convertirlo en una etiqueta U. A Ahí vamos. Si lo cambiamos así, ahora ya verás. Lo cambié de negrita a línea. Bien, entonces obviamente solo lo está cambiando en términos de una pantalla, pero está mostrando que puedes saltar inmediatamente a una pieza o algo así y decir, bueno, ¿dónde está el código HTML para esta pieza en particular? Qué aspecto tiene e incluso cambiarlo. Sí. Entonces ahora puedes ver obviamente esto no va a afectar el sitio web a nadie más. Sí, es simplemente una forma en la que puedes ver lo que está pasando. Sí. Si refrescas, esto se va a haber ido. Entonces podrías volver a hacer ese cambio a tu código fuente original. Sí. Eso es algo muy interesante de lo que puedes conocer. Algo chulo que puedes hacer con Chrome. Bien, entonces ahí lo tenemos. Eso es muy genial. Ese es nuestro sitio. Y si quieres cerrar eso, vas a volver a como era originalmente. Nada ha cambiado. Entonces has aprendido algunas cosas geniales y mecedoras Ustedes consideran que están a la altura. Creo que estás preparado para armar un código como este Bien, bien, así que aquí está la cosa. Si aún no lo has hecho, tu tarea es crear un sitio de balanceo como el que tienes aquí con un par de imágenes debajo de eso usando una tabla, algo de texto, haciendo uso de una combinación de H uno, H dos y lo que sea la cabeza que te guste y algo del formato y algo que se vea formateado así Es muy importante que hagas esto porque vamos a estar reuniendo todo esto en nuestra siguiente sección donde vamos a intentar construir algo que sea un sitio de varias páginas. Queremos que estés seguro de que sabes cómo hacer esto. Armarlo y como un pequeño desafío agregado, vea si puede averiguar cómo puede ajustar el ancho de estas columnas. Recuerda que esta es una mesa. Esta es una fila y tenemos los datos de nuestra tabla sentados en cada una de las filas como tenemos aquí, nuestros diversos datos de tabla. ¿Hay alguna manera que puedas usar con alguien o alguna pista? Que podamos esparcir estos. Entonces, tienes que encontrar una etiqueta o no es una etiqueta. En realidad es una adición a la etiqueta TD que bien, funciona con la etiqueta TD y nuestras etiquetas TR que pueden ajustar el ancho. No va a ser muy difícil averiguar cuál el ancho y el ancho de columna y todos esos, puedes averiguarlo. Entonces mira si puedes averiguarlo, configurar algo similar a esto, y mira si puedes incluso jugar un poco con el ancho Bien, entonces ese es tu reto. Te voy a contar a la altura. Y eso es con lo que queremos dejarte. Y de aquí en adelante, vamos a tomar el ritmo y hacer algo súper emocionante en la siguiente sección a medida que lo juntamos todo. 70. ¡Es increíble lo que veremos en la siguiente sección!: Correcto, lo estás haciendo fantástico, pero lo que viene después es aún mejor. En la siguiente sección, te vamos a mostrar cómo construir realmente tu página web, cómo usar cosas como listas, tablas e imágenes. Vas a transformar tu sitio web. Vas a empezar a llegar a la esencia de lo que trata un sitio web de poner tus propias imágenes, el secreto de las tablas y cómo puedes poner listas y ordenar cosas. Así que queremos verte del otro lado porque se va a poner aún más emocionante a medida que vamos subiendo el aprendizaje. Nos vemos en la siguiente lección. 71. Elección de un sitio web y tema: Bienvenido a nuestra siguiente sección. A estas alturas, deberías estar bien versado. Tu cerebro debería estar en marcha, y ojalá tus dedos estén flojos y diestros porque has estado probando toda la codificación HTML que hemos estado aprendiendo Así que ahora queremos tomar tus habilidades y ver si podemos juntarlas todas en algo genial y divertido. Entonces ya construimos nuestro sitio web, que es nuestra pequeña cosa divertida de las citas de educación que rocían mi mundo. Pero ahora es el momento de tomar esto por completo y probar algo diferente. Entonces, ¿sabes en qué estaba pensando? Sí. ¿Cómo sabes lo que estaba pensando? Porque Google Ks. Google lo sabe. Google solo te da esa sensación a veces, ya sabes, pastel de amor. Entonces me encontré con algo. ¿O te cruzaste con esto? Creo que diría que los dos nos topamos con ello. Este tipo de cosas. ¿Qué tenemos aquí? ¿Qué pasa? Este es básicamente un sitio web de un montón de recetas. Puedes ir y yo estaría como, animar este pastel de chocolate. Falta pastel de chocolate. Si vamos aquí, veremos que tienen una imagen. Eso se ve bien. Con este pastel y título. Sí, esta gente a la que le gusta demasiado el pastel. Y luego tiene alguna información al costado. Entonces tiene algunas instrucciones. Todos los detalles sobre el pastel. Sí. Entonces es básicamente un sitio relativamente simple. Tiene un montón de imágenes y obviamente el diseño, puedes decidir cómo lo quieres. Pero básicamente, estoy viendo esta parte aquí. Tiene un montón de pequeñas imágenes. Cada uno de ellos es un pastel en el que puedes hacer click y te va a mostrar algunos. Bien, entonces nos centraremos en tratar de hacer una de estas pequeñas cosas de tabuleta aquí. Sí, una vez que has hecho uno, quiero decir, básicamente es lo mismo una y otra vez. Es lo mismo. Entonces obviamente, como sabes lo que hicimos con nuestras citas, tenemos todas estas pequeñas imágenes, puedes ver con esto. En lugar de tener una cotización, tienen cualquier pastel de chocolate, y lo tienen todo en una mesa. Ya sabes como dijimos, mesa mesa, fila fila, fila fila fila. Sí, así que es básicamente como una mesa, igual que lo hemos hecho nosotros. Veamos si podemos configurar algo como esto, algo delicioso, algo súper dulce y hacer nuestro propio sitio web de pasteles. Suena bien. Bien, así que ese es nuestro plan. Nuestro plan es para la sección. Lo siento por esto. Si tienes hambre, este es tu momento. Voy a salir a buscarte un pastel y te lo meteré en la garganta porque esto va a ser duro, muy duro porque vamos a estar haciendo tu delicioso sitio web de pasteles. Así que prepárate, prepárate mentalmente, físicamente, emocionalmente y todo lo demás mientras nos preparamos para una sabrosa experiencia de pastel en línea. 72. Cómo crear un logotipo: Se ve estéril. Pero sin miedo. Se ve Barren parece que no hay nada ahí, porque en realidad, aquí no hay nada, y queremos terminar algo así Mm. Bien, entonces es un sitio web bastante involucrado en el sentido de que sí tiene otros aspectos como correos electrónicos y nombres. Pero los conceptos básicos son en realidad bastante simples, y eso es en lo que nos vamos a centrar en este curso introductorio en HTML. Así que lo básico está aquí arriba, tenemos una especie de encabezado. Y entonces si miras aquí, sí tenemos algún tipo de mesa con imágenes en ella. Entonces, Josh, ¿qué vamos a hacer para empezar? Porque esto no parece uno H. No, no. A ver, si lo repasamos con nuestro ratón, ya se puede ver. Sí, puedes destacar eso. Entonces eso es en realidad texto, pero entonces esto no. Esto de aquí no es ex y esta imagen y si entras a inspeccionar rápidamente descubrirás que no es texto. Así que obviamente han creado. Tienen un pequeño logo. Entonces eso es lo que queremos hacer. Queremos ir a crear un logo que vamos a poner en la parte superior y luego poner una mesa para algunas imágenes. Así que vamos a empezar con lo básico. Bien. En primer lugar, queremos ahorrar. Creo que hay un tranvía para nosotros. Entonces abrimos una nueva pestaña. Ya entramos. Vamos. Entonces ahora entramos. Bien, ¿así que vamos a llamar a esto? Bien. Lo mejor. Sitio para tartas. No te acuerdas. Tenemos que poner el punto HTML. No lo olvides. No olvides el HTML de punto. L, L. Ya lo tienes. Entonces ahora lo sé. Sabe que esto no va a ser un CSS. O algo más, loco. Derecha. Entonces, ¿qué hacemos a continuación? ¿Te acuerdas? HTML tab y B Ahí tenemos magia. Todo aparece. Entonces ya está diciendo, ¿cuál es el título del sitio? Creo que deberíamos ponerlo aquí. El mejor. Entonces eso va a aparecer en la parte superior, recuerda, Mejor sitio de pasteles. Sí. Bien, así que eso es bastante simple. Entonces por el momento eso no es nada demasiado grande, pero lo que vamos a querer hacer cuando se trata del logo, tal vez volvamos a eso. Vamos a configurar rápidamente la estructura para nuestra mesa que va a poner, tener las fotos del pastel. Sí. Bien, así que eso va a ir. Si miramos esto, obviamente, no hace falta que lo copie particularmente, pero es bastante agradable. Tienen tres por tres, y nosotros solo haremos uno, dos, tres abajo, así que son nueve en total. Puedo hacer tantos como quieras, haz eso, empezamos con nuestra mesa. Etiqueta de mesa. Sí. Y luego dentro, tenemos tenemos tres juegos de TR Entonces tenemos que hacer filas. ¿Bien? Así que tenemos nuestras filas, y así va a haber una, y puedes quedarte todos ahí para hacer nuestras tres filas rápidamente. Ni tu mesa y otra, ¿no? Sí. Las filas. Derecha. Entonces tres filas, y luego dentro de cada fila. Tenemos tres TD, que es nuestra tabla que es básicamente nuestra columna Entonces va a haber tres columnas dentro de cada fila. Sí. Bien, demasiado fácil, hay otra columna, y hay otra columna. Sí. Entonces, básicamente, podríamos simplemente copiar eso. Sí, y sólo pegarlo. Y lo vamos a meter dentro de cada una de nuestras filas. Sí. Demasiado fácil. Bien, entonces vamos a meter eso ahí dentro. Y necesitamos uno más justo por aquí. Y la vida va a ser simplemente perfecta. Pequeña configuración perfecta. Lo que tenemos es que una mesa va a ver empezando por ahí, terminando ahí, y tenemos la fila uno, fila dos y la fila tres. Dentro de cada fila, vamos a tener tres columnas. Sí, eso va a ser agradable y fácil, tres por tres. Bien, entonces vamos a guardarlo en caso de que vamos a echarle un vistazo. No va a haber demasiado para ver, pero vamos abrirnos en nuestro navegador. Así que mi mejor sitio de pasteles. Sí, y abrimos esa miga. Ahí va ella. Ella no es absolutamente nada ahí. Bien, entonces obviamente, no se puede ver la mesa. Todo lo que puedes ver es que hemos dado un nombre. Si recuerdas, podríamos ir a ver la fuente de la página, y luego verías que hay de todo. Pero no hay nada en las columnas en el asado ni nada por el momento. Pero eso es genial. Tenemos lo básico de lo que queremos. Derecha. Así que vamos a, um, podríamos usar H one. Sí. ¿Te acuerdas de eso? Podríamos usar H one, pero podríamos simplemente poner como parte del cuerpo solo para darte un poco de sabor de lo que probarían. Oh, eso es increíble. Podríamos haber hecho esto y decir el mejor pastel st, que es, ya sabes, no está mal. Yo no lo llamaría el mejor sitio de pasteles. Sí, esos no van a ser los mejores pasteles, pero ahí tenemos los mejores pasteles. Sabes, quiero decir, está bien, pero quiero decir, esto es más genial. Por aquí, ya sabes, tienen como que parece un. ¿Qué dirías? Tiene eso como Choi V. Ya sabes, ¿cómo pondrías eso Tiene que se ve mejor que el nuestro. Sí, sí, se ve mejor que eso. A mí me encanta. Entonces lo que tenemos que hacer es que quieras tener tu propio logo. Rápidamente te mostramos que esto es extra, sin costo extra por esto, nada. Puedes hacer tu propio logo. No tienes que ir a buscar alguna persona cara. Hay muchas maneras de hacer esto. Te vamos a mostrar rápidamente cómo en lugar de tener el mejor sitio de pasteles, puedes crear tu propio logotipo. Aquí hay solo un sitio web. Literalmente podrías hacer esto. usar PowerPoint para hacer tu propio logo, haz lo que quieras. La conclusión es que tienes que terminar con una imagen. Y así solo vamos a mostrarte rápidamente logo design.org gratis, cómo podrías hacerlo rápidamente aquí Bien, para que podamos ver que tenemos todas estas cosas. Simplemente crea mi logo. Sí, he estado en crear logo para nuestro sitio de patadas, solo vamos y hacemos clic en crear Logo en logo gratis design.org, y solo piensa por un tiempo, ya que todos los elfos inteligentes que están dentro del sistema se están reuniendo Bien. ¿Qué queremos elegir? Uno, vamos a ver. ¿Es cakey? No sé qué es el pastel. Eso parece pizzaish. No. A ver. Estos pasteles millones de temas. Oh, mi. Incluso hay comida y bebida. Hay comida y bebida 169 comida y bebida una. Oh, veamos si puedes encontrar una Burger, esta le gusta. Hay como cakey Eso ya está bastante cerca. Sí. Entonces este no deberías? Bien. Así que simplemente haces clic en él, y ahí lo trae a través. Y ahora podemos decir, Oh, qué pastel fácil ¿Cómo llamamos? El mejor arte de pasteles que realmente no tenemos. Bien, entonces nos vamos a llamar a nosotros mismos los Mejores pasteles. Los mejores pasteles. Los mejores pasteles. Es muy original. Todo está hecho, puedes mover las cosas, puedes dejarla caer ligeramente. Puedes cambiar las imágenes, moverlas. No vamos a tocar demasiado. No es un curso de edición. Esto es solo mostrarte cómo puedes hacerlo . Un pequeño y encantador ir. Eso es hermoso. Puedes agregar más formas. Esto se puede resolver. Esto no tienes que ser un científico cohete para hacer esto. Sí, parece bastante sencillo. Tenemos a nuestro pequeño. ¿Eres feliz o los colores? ¿Feliz? Sí, todo lo que no tenemos que ser demasiado quisquillosos en esto Puedo ver que hay muchos elementos en esto. Bien, así que sólo lo vamos a dejar así. Como ves, tenemos una opción de ahorro bajo. Bien, entonces esta es la esencia de todo esto. Al final del día, sea lo que sea que estés usando cualquier diseñador, incluso si estás usando PowerPoint, necesitas guardarlo en un archivo JPEG o en un archivo PNG. Mi dinero, dinero, pero no, no, se necesita dinero si vas a tomar las bajas Rs 200 por 200, probablemente esté bien, solo por un pequeño logo para nosotros. Bien, entonces. Bien, así que una vez que hayas corrido el guantelete y hayas puesto tu correo electrónico, ojalá te vayan a enviar un enlace a donde puedas obtener tu logo gratis Entonces vamos a ir a echar un vistazo y ver si podemos encontrar eso del otro lado, agarra nuestro logo. Bien, para que veas ahí está. Yo nos mando un correo electrónico con nuestro pequeño logo, hay un aspecto tan cool. Y así ya por fin podemos descargarla y obtener la imagen que tanto requerimos desesperadamente para nuestro sitio web Derecha. Entonces ahora tenemos que guardar esto en un lugar adecuado donde se almacene todo lo demás. Así que sólo vamos a dejarlo aquí con todos los demás archivos. Es bueno mantener todo en un solo lugar. Y así ahora está guardado en esa carpeta. Entonces vamos en esa carpeta, vamos a ver que tenemos nuestros diversos sitios, y también tenemos un pequeño archivo PNG, y ahí está. Así que tenemos nuestros logotipos poco logo de baja res, pero está ahí, y ahora podemos usarlo en nuestro sitio web. El punto es que puedes crear un logo como sea tu um en este ejemplo, hemos usado diseño de logo gratis. Hay muchas de estas cosas. Simplemente lo buscabas en Google. Encuentra uno que más te convenga. Como decíamos, solo ve y crea uno en alguna edición. Incluso puedes crear uno en PowerPoint, Keynote, etcétera. Ahí está nuestro logo. Lo que sigue es que queremos que se inserte ese logo, en lugar de esta aburrida H una cosa aquí, eso no es tan interesante. Josh, llévatelo. Consigamos que eso se inserte como un logotipo de imagen. Bien, así que en realidad podemos poner esto en la cabeza porque es un logotipo, eso es una cosa que también puedes hacer. Vamos IMG tabularlo en. Ahora tiene un espacio para la imagen. Ahora bien, si solo agarramos un logo aquí, mira. Así que en realidad no estamos usando un logotipo en línea. Ahora recuerda, si tuvieras que publicar este sitio web en línea, mientras que este sitio web va a funcionar localmente, si tienes que publicar en línea, esa imagen tendría que ser almacenada online en alguna parte. Voy a refrescar eso. Tenemos nuestro pequeño logo. Entonces hay un logo. Eso se ve mucho mejor. Todo lo que Josh ha hecho es agarrar la imagen que se almacena localmente en esa misma carpeta que el mejor HTML de Cakes. Otra forma también de obtener esta imagen. Si hubiéramos renombrado esto, no obtendríamos la imagen Nosotros solo vamos aquí, podemos decir abrir Worth Now si decimos openw Chrome, verás que nos muestra Dropbox usa Craig Blewett Si volvemos a decir eso, dándote el camino completo hacia él. Sí. Esta es también otra forma de ir Comando C, sustituir esto por eso y ahora decimos esto, vuelve ahí. Va a ser la sentada. Sí. Bien. Entonces la primera vez que lo metemos sin el camino, lo que va a hacer es que solo va a buscar en la carpeta actual. Se va a buscar en la carpeta donde mejor pastel HTML. Si renombramos esto, si acabamos de decir, o si había otra carpeta, no la va a encontrar. Pastel. Ahora bien, si lo tuviéramos así, vamos, ahorra. Refresca eso. Va a ser malo, va a ser malo. No hay nada. Sí, así que podríamos actualizar el nombre. Entonces, si volvemos a encontrarlo, abrimos esto de nuevo con cromo. Se puede obtener de nuevo el camino completo. En realidad es mejor en lugar de tener un nombre aleatorio como el que teníamos allí antes. Qué es ese 967, eso es ridículo. Para darle un nombre que sea vagamente comprensible. Cuando lees tu código, ya sabes, bien, esa es mi imagen de pastel, logo de pastel o algo así, dale un nombre que sea sensato, y obviamente ahora, deberías poder verlo aparecer una vez más dentro de nuestro sitio web. Bien, así que eso es bastante simple. Así que hemos cubierto lo básico. Tenemos nuestro mejor sitio de pasteles en funcionamiento. Tenemos un título. Tenemos un pequeño logo ahí, y hemos montado la mesa. Entonces estamos listos. Estamos listos para asumirlo. Bien, entonces ya sabes lo que tienes que hacer. Ve a comer un pedazo de pastel y configura tu esqueleto básico para tu mejor sitio web de pasteles. 73. Obtén imágenes gratuitas (legales) para tu sitio web: Entonces el esqueleto está en su lugar. El logo está en su lugar, pero necesitamos más. Entonces tenemos la estructura de nuestra mesita. Pero lo que necesitamos, Josué, ¿qué es? Necesitamos imágenes. Necesitamos los pasteles. O sea, eso no es que tiene un logo muy chulo, los mejores pasteles, pero necesitamos los pasteles. Necesitamos las imágenes. Ahora, obviamente, si hay un lado real en que vendas pasteles o hagas algo así, te voy a sugerir que tomes fotos de tus propios pasteles. Pero en aras de no tener tiempo para hornear nueve pasteles diferentes, te vamos a mostrar una pista muy furtiva Ahora, no quieres simplemente continuar puedes ir a images.google.com y buscar pasteles Pero ahora, ve a tener cuidado, hay cosas con derechos de autor por ahí, sí, sí Entonces, para encontrar algunas imágenes realmente geniales, y puedes usar esto para todo tipo de imágenes, puedes ir a pixabay.com Aquí puede obtener imágenes gratis de realty. Es simplemente hermoso. Puedes dejarlos caer. compartidos por nuestra generosa comunidad, uno y 0.1 millones de imágenes. Entonces es súper fantástico. Aquí hay tantas imágenes geniales. Vamos. ¿Qué vas a buscar? Uh. Pasteles, Pasteles, Pasteles, tartas. Ese es el tamaño de los pasteles. Los pasteles son buenos. Igual que buscar imágenes de Google. Lo que puedes hacer es que aquí hay una especificación. Puedes elegir que solo quieras fotos, etcétera. Incluso puedes elegir que quieres fondos transparentes, e incluso puedes empezar a decir, Bueno, querías cierto tipo de tamaño. Ahí está. Y aquí, tenemos mucho pastel. Lo que vamos a necesitar hacer es elegir un pastel de aspecto delicioso. Entonces Joshua dime cuando veas tu cinta. Sí, así que vamos a pasar del topless. Bien. Hermoso. Así que de nuevo, todo lo que tienes que hacer es abrir nuevas pestañas porque vas a tener bastantes. Bien, entonces vamos a abrir un par de pasteles en diferentes tablillas para que podamos rápidamente vamos a necesitar finalmente nueve pasteles. Pero solo te mostraremos haciendo uno o dos solo para que te hagas la idea, y puedas averiguar el resto. Delicioso. Apenas a través. Bien, entonces tiene una fila de pastel, así que vamos a tener esa, esa. Y, hombre, esto se ve bien. Bien, entonces lo que tendríamos que hacer ahora es ¿qué vamos a hacer? Voy a tener que descargarla. Vamos a tener que descargarlos. Nuevamente, hay dos formas en las que podríamos hacer esto. Podríamos vincularnos directamente a esta imagen, copiar la dirección de la imagen o como te mostramos anteriormente, podrías descargarla. El problema de simplemente vincular directamente a la imagen que se almacena en línea en el sitio de otra persona, si la borran, vas a tener un problema en tu sitio web. Descargarlo significa que tienes control sobre él, pero también significa que si quieres publicar tu sitio web, vas a tener que poner esa imagen en línea en alguna parte. Vamos a descargar estas imágenes. Sólo vamos a salvarlos. Puedes elegir Guardar como, o incluso mejor si eliges descargar gratis, en realidad puedes elegir el tamaño. ¿A qué debemos ir? ¿Debería simplemente ir con las imágenes más pequeñas? A lo mejor. Sí, bueno, quiero decir, la conclusión es que no vamos a necesitar imágenes realmente grandes porque sólo vamos a pegarlas. Quiero decir, puedes. Depende de ti. Lo que quieras hacer con las imágenes. El s hit descargar y va a descargar esa imagen. Voy a darles algún tipo de nombres sensatos, pastel uno. Obviamente, les darías un nombre más inteligente que eso y nosotros vamos a hacer lo mismo con todos nuestros pasteles. Vamos a descargar el pastel dos. Y llama a eso pastel, también. Y te estás dando la idea de esta etapa. Y es descargar pastel número tres esa resolución. Y entonces tendrías que hacer esto para todos tus pasteles o tendrías que tener tus propias imágenes. Pero PixAR lugar genial para conseguirte algunas imágenes. Entonces ahí lo tenemos. Ahora tenemos tres imágenes descargadas, y vamos a necesitar ponerlas en nuestra mesa. Josh. ¿Qué opinas? Tiene que ser bastante simple. Sí, así que ahí tenemos todas nuestras imágenes. Podemos ver decente Delicioso, delicioso. Nuevamente, ten cuidado con el tamaño de las imágenes. Este es un tamaño decente. Es de tamaño medio para la web. No quieres que sea de riesgo demasiado alto porque entonces va a ser más lento de cargar. Pero obviamente, también quieres que se vea vagamente decente en una bonita imagen de tipo pantalla escrita, laptop o computadora Bien, entonces ahora podemos copiar esto. Deja que te asegures de obtener el JPEG ahora copiamos esto. Vamos. S. Ahora ponemos imagen en nuestra mesa así IMG. Ahora ponemos nuestro pequeño enlace ahí, ahora tiene k punto j peg, guarda esto para ver cómo se ve nuestro sitio web hasta ahora. Es muy grande. Es una gran madre de pastel. De verdad se llega a ver el detalle de eso. Entonces, podemos juguetear con el tamaño de lets ahora, pero pongamos en nuestro pastel Bueno, primero ponte creo, luego podemos cambiar el ancho. Entonces volvemos a encontrarla. En realidad, conocemos los nombres. Podemos discutir esto. Mantenga presionado el comando y verá que va a haber dos maldiciones parpadeando así Ahora cuando vamos IMG, hacen todo al mismo tiempo ¿Ves así? Ahora podemos ir pastel. Ni siquiera tenemos que simplemente venir vi solo tenemos que cambiar eso a cuatro pastel. Tenemos uno, dos y tres. Dos. Y uno. Vamos a tomar hacia atrás. Sí, lo que sea. De todos modos, ahora decimos que esto va a quedar muy cosita, pero podemos. Bien. Chatea ahora. Derecha. Entonces como pueden ver, sí tenemos nuestros tres pasteles. Están sentados en una fila, una mesa, pero son enormes entreas Bien, entonces ahora usando nuestro pequeño consejo, comando. Vamos, mando. Mantenga presionado, vamos, mientras da clic. Ahora ya podemos irnos. Podemos cambiar el ancho igual. ¿Qué debemos hacer? Bueno, algo así como que lo hagamos. Vamos a probar 200. 200, 26 oh no, 200. Me gustaría tener 200. Cien 201. Bien, 201. Decir eso. Es bueno. Experimento. Oh, creo que eso es demasiado pequeño. Quieres un poco más grande. 307. Ciento ciento 707 Ne me escucha. ¿Esto es probablemente qué? Oh, te escucho la primera vez. Bien. No está mal. No está mal. No está mal. Bien, entonces ahí tenemos una fila. Tenemos una fila de tres pastelitos, no se ven muy mal. Y sí, lo que vamos a tener que bajar no te va a hacer que lo sufras, probablemente nos gustaría poner unas filas más de pastel para que se vea un poco mejor. Pero ahí lo tenemos hasta el momento. A ti para que pongas esa disposición de tu lado para ver si puedes conseguir tu página con un pequeño logo y una fila de pasteles en ella o dos o tres. Y creo que estamos acercándonos a que algo pase aquí. Así que recuerda todo el plan, todo el plan es terminar con algo así, y lo juguetearemos un poco más en la siguiente lección para que la gente pueda mirarlos, hacer clic en algo y ver una receta 74. Imágenes de fondo: Entonces los pasteles están llegando. Si echas un vistazo aquí, te darás cuenta que ahora tenemos a nueve pasteles. A tres por tres, estamos tratando de imitar esta sentada aquí. De nuevo, puedes elegir la talla. Acabamos de hacer un poco más grande porque aquí no vamos a hacer todo esto de la señal, que obviamente podrías. Solo estamos tratando de que sea más atractivo visualmente. Entonces tenemos nuestro encabezado y tenemos nuestros nueve pasteles. Entonces así es como se ve en este momento. Esencialmente, tenemos nuestra imagen de cabeza, que está en la parte superior aquí, y tenemos nuestra mesa con tres filas, fila, fila dos y fila tres, y en cada fila, tenemos tres columnas con nuestros diferentes pasteles y ellos tienen nuestros diferentes nombres. Um, pero lo que necesitamos es que esto sea un poco más interesante. ¿Qué crees que necesitamos, Josh? Creo que necesitamos los nombres de nuestros pasteles, llegar a algunas ideas de lo que vamos a llamar pasteles individuales, y también necesitamos un fondo. Sí, eso estaría bien. Empieza a lucir ordenada. Bien, entonces quieres poner un poco de texto. Quiero decir, ya ves aquí, cada uno de estos tiene algo escrito debajo del pastel, como se llama. Así que tenemos que poner un poco de texto debajo de estos pasteles, y, sí, tal vez un poco de fondo solo para agregar un poco de algo a esto. Así que vamos a conseguir algo de texto debajo de estos pasteles. Bien, entonces tenemos todas nuestras mesas preparadas para nosotros. Entonces todo lo que tenemos que hacer, como pueden ver, tenemos un TD aquí. Entonces aquí es básicamente donde tenemos una imagen de pastel y todo. Entonces dentro de ese TD, vamos a poner Algunas tomas. Entonces esta es nuestra primera. ¿Qué hace eso? ¿Parece un pastel de zanahoria o algo así? Sí, pastel de zanahoria o pastel de zanahoria húmedo. Sí. Entonces fresa. Y decir eso antes de que lo hagamos. Vamos a convertirlo en un párrafo así que solo pis. Así que eso va a asegurar que simplemente se mantenga bien juntos, así que la zanahoria húmeda patea ahora y muy fresca. Una patada de curret de Mistre. Sí, pero necesita. Parece irritante . Creo que hay que ponerla de lado ahí. ¿A qué crees que enviamos? Creo que deberíamos centrarnos. Bien, entonces centro, señor Centro solo ponemos eso así, y tomemos un squizzy en eso Bien. Veamos que debería estar centrado en la celda, si yay, ya, ya, ya ya, ya, ya, ya También necesitamos un poco de estilo para esto. Definitivamente pienso que deberíamos tener algo porque solos, digo que necesitamos H tres o algo así para esto. Un H tres en eso? Siempre cambiamos, así que empezamos con H tres. Vamos aquí. Solo tomemos eso y lo pondremos, um ahora lo guardamos, y veamos. Es un poco mejor. Sí, creo que se ve un poco mejor. Bien, entonces ves que realmente no puedes andar por ahí como quieras Para que se le pueda decir a los sars. Puedes hacer lo que quieras. Bien, así que asumiendo que eso es lo que queremos, vamos a tener que recoger algunos pequeños nombres para otros. Esto va a tener que repetirse. Así es una manera agradable y fácil de repetirlo. Entonces, saquemos esto por ahora. Solo saquemos esto. Bien. Entonces ahora podemos agarrar aquí toda esta sección, ahorrándonos mucho tiempo. Copiarlo. Vamos, mira. Sí. Y ahora, lo que le mostré esta orden de mantener pulsada. Mantenga presionado el comando. Manténganla abajo. Sigue aguantando, sigue aguantando porque vamos a poner esto en todos estos lugares. Sí, no. Y pega todo lo que golpeas pasa en todos esos espacios. Sí. Entonces ahora vamos a una pestaña para que podamos ser tabulados. Así que ahora pegamos. Pegar. Ahora podemos teclear. Obviamente, lo que escribimos ahora va a ser mismo sería lo mismo para cada uno, así que no tenemos pastel de zanahoria húmedo para todos ellos. Entonces ahora soltamos el Sí, lo guardaré ahora en cuanto no estemos manteniendo presionado el comando y hagamos clic hacia abajo, va a ser uno. Seleccionados ahora volvemos a uno. Este era nuestro pastel húmedo de zanahoria. No estoy seguro de cuáles van a ser los nombres de todos nuestros otros. Vamos a tener que idear toda una gama de nombres creativos para nuestros pasteles flick crust allí Derecha. Así que aquí se puede ver a Sposas a exceso de velocidad ungrat Tenemos todos nuestros pasteles, todo desde vainilla y chocolate hasta el pastel que sea, el pastel sorpresa, el pastel húmedo, el pastel navideño o lo que sea. Así que no está mal. Entonces lo que hemos logrado hacer es que hemos puesto en todos los detalles del pastel, ponerlos todos en Hbies en este momento Pero necesitamos un trasfondo. A los fondos, los blancos un poco aburridos. Qué tal poner esencialmente lo que es un fondo, es como una imagen que va a sentar detrás de todo esto. Pero a medida que te desplazas, se sienta ahí atrás. Entonces, ¿cómo se hace eso? Bien, entonces lo que básicamente queremos es un trasfondo. O tienes un fondo que es muy grande y voy a cubrir toda tu área, o puedes tener un fondo que es más pequeño y HTML repetirá automáticamente repetir repetir esa imagen. Tiene que ser una imagen repetible. Si vas a la Fonda, podemos ver que tenemos esta, pero eso no va a repetirse muy bien Ese será uno que simplemente se superpondrá en todo el asunto. Entonces lo usaremos más tarde, pero por el momento, esa no es una buena para el jefe de invierno. Nosotros tenemos esto. Ahora bien, esto es en realidad repetible. Eso es como la guerra. Realmente no me doy cuenta si es lo noto un poquito obviamente, hay algunos pasteles cortando, pero apenas te darás cuenta cuando se ha agrandado y ahí están los pasteles que lo cubren. Así que en realidad puedes buscar imágenes que estén hechas específicamente para este tipo de cosas. Esta imagen, me gusta el estilo de la misma, por lo que podemos agregarla. En la etiqueta corporal que tenemos aquí, que es un cuerpo, vamos a poner en segundo plano. Esto básicamente nos está diciendo en el cuerpo principal de nuestro HTML, va a haber un fondo, lo que va a ser, es simplemente fondo igual y luego tenemos un pensamiento. Si volvemos a nuestro expediente, podemos ver cuál es su nombre. A, asegúrate de obtener el PNG. Vamos, C. El nombre completo. Ahora, cuando lo pegues, guárdalo. Ahora tenemos un fondo, así que dale. Refrescalo. Bien, entonces verás que verás aunque tuvieras varias filas, esa imagen de fondo sólo va a seguir repitiéndose. Así que un poco ruidoso con muchas imágenes, así que solo ten cuidado con eso. Pero entiendes la idea. Entonces, obviamente, quieres buscar uno que esté limpio, depende del tipo de apariencia de tu sitio web. Entonces con este, probablemente buscaríamos menos. Solo queremos que la gente se vea abrumada por los pasteles. Sí, tantas opciones. Entonces, ¿cuántas opciones? Sí, así es básicamente como vamos a poner en nuestros antecedentes. Y realmente está empezando a aparecer con todas estas cosas que estamos agregando. Bien, entonces ahí lo tenemos. Tenemos nuestro sitio web. Se acerca, y ahora lo que tenemos que hacer es porque la gente ahora podría navegar por nuestro sitio web, mirar las cosas. Y recuerda este, cuando llegaste a un sitio y podías hacer clic, ya ves, medida que te mueves sobre algo, viene una manita, y es como, ah, hay algo. Quiero saber cómo se hace el apagón o se hace este apagón, pastel de chocolate, y hasta ahora va a reventar con información adicional Entonces eso es lo que nos estamos perdiendo en este momento, ya sabes, aquí no pasa nada. Todo lo que hemos hecho hasta ahora es mostrarte cómo crear un sitio web de una página. ¿Cómo se crea un sitio web real que consta de más de una página? Eso viene a continuación. Antes de hacerlo, ya sabes lo que tienes que hacer, conseguir tu sitio web, conseguir algunos pasteles, conseguir tus imágenes coladas ahí, en algunas descripciones, tirar un fondo si te gusta el fondo, y sigue la historia para que estés y sigue la historia para que estés participando y te veremos del otro lado 75. Wow: un adelanto de la siguiente sección: Guau. Ya casi estás ahí. Una sección más para ir, y en la siguiente sección, vamos a estar ampliando tu sitio web. Un sitio web no es solo una página. Son varias páginas. Entonces, ¿cómo se crean páginas adicionales, hipervínculos y bonus, incrustando videos de Youtube en su Entonces la siguiente sección es PAT. Es emocionante, y es donde finalmente todo se une, y te conviertes en un increíble desarrollador web HTML. Así que no te quedes ahí mirándome. otro lado está un video, el siguiente video, donde realmente se pone emocionante. Nos vemos ahí. 76. Cómo hacer una segunda página: Guau. Ya casi estás ahí. Una sección más para ir, y en la siguiente sección, vamos a estar ampliando tu sitio web. Un sitio web no es solo una página. Son varias páginas. Entonces, ¿cómo se crean páginas adicionales, hipervínculos y bonus, incrustando videos de Youtube en su Entonces la siguiente sección es PAT. Es emocionante, y es donde finalmente todo se une, y te conviertes en un increíble desarrollador web HTML. Así que no te quedes ahí mirándome. otro lado está un video, el siguiente video, donde realmente se pone emocionante. Nos vemos ahí. 77. Un truco de espaciado astuto: Su. Se ve húmedo, se ve delicioso. Tenemos nuestras dos páginas, pero sí, eso no es del todo bueno. Entonces este un poco ordenado en esto arriba un poco antes de que te enseñemos cómo vincular las dos páginas juntas. Así que tenemos que mover este a través un poco a su posición aquí, y luego tenemos que agregar algo, que apuesto que va a ser un qué? Una receta? Sí, una receta, y eso va a ir aquí en una mesita que nos va a ayudar a hacer eso. Entonces, lo primero es, ¿cómo en el mundo vamos a mover eso por ahí? Bien. Entonces no hay muchas maneras de hacerlo en HTML. Sí. Entonces, si estamos usando CSS. Sí, entonces tienes muchas más opciones. Este no es un curso CSS. Hay formas muy complicadas de hacer un HTML. Deberían hacer nuestro curso CSS, y luego el curso de JavaScript. Pero eso es lo siguiente. Esto es lo que tienes para acertar. Esto es HTML es lo básico. Así que tenemos que hackearlo un poco. Bien. Entonces lo que vamos a querer agregar, que es muy sencillo, pero parece un poco poco efectivo Esto va a hacer. Será T es HTML, y no queremos entrar en algunas cosas difíciles haciendo esto. Sí. Así que tenemos que mover este pastel a través, y podemos centrarlo, pero eso sólo va a centrarlo en la celda. Entonces necesitamos hacer algunos espacios, esencialmente. Entonces ya sabes si hacemos eso, no hace nada. Eso no va a hacer qua Tenemos esta cosita llamada el énfasis y NPSP, que es un espacio sin corchete. Un espacio sin soporte. Bien. Entonces ahora veamos qué pasa. Entonces lo pones en el espacio del desayuno ahorra eso. Sí, échale un vistazo. Se movió alrededor de un milímetro Sí, así que no pasa mucho. Aquí es donde vas a estar como, ¿qué? Él. Quiero copiar eso. Sí, lo pegué mucho y mucho y mucho. Entonces estás creando muchas pequeñas especias ahí. Sí, porque va a ser muy complicado de cualquier manera, aunque parezca poco efectivo Ahora es? No vamos a conseguir nada través de la pantalla así como así. Así que es una forma un poco hacky de hacerlo usando HTML. Pero sí, funciona. Ya que todo lo que hemos hecho es que ahora solo metido un montón de pequeños espacios aquí. Básicamente es solo tratar de lograrlo. Nuevamente, si quisieras poner más en solo como sea tu menú necesitas obtenerlo justo para que sea perfecto, sigue golpeándolo de nuevo Y vas a decir, eh, eso es justo en el acto. Bien. Entonces eso no está mal. Está ahí sentado. Se ve bastante genial y Dandy. Entonces ahora queremos poner en nuestra receta. Sí, vamos a ir por ese lado. Entonces vamos a necesitar otro TD necesitamos otro TD. Entonces una segunda columna ahí dentro. Vamos aquí. T le pegó al TD. Golpea la pestaña, dale. Sí. Bien, entonces realmente no conocemos las recetas de Craig fuera. lo que te refieres con una receta de Craig, usamos Asly Google. Google. Receta. Búscalo justo adentro y esto está en un pastel de quilates, podemos hacerlo en el carotake simplemente iremos así Nosotros no quiero decir, si alguno de ustedes no es una buena receta de pastel de zanahoria , nos pueden ayudar después. Pero nosotros los chicos de HTML. Comemos pastel de zanahoria. No vamos a intentar lograrlo. Vamos a poner eso, pero antes de hacerlo, hemos visto que Google también hizo esto. Tres. Todo esto de la lista lo que ordené lista. Bien. Sí, queremos una lista de pedidos. Fantástico. Y golpéelo en el espacio. Sí, dale a la pestaña. Bien. Entonces dentro, ordené la lista que queremos. Quiero enumerar artículos. Oh, ¿así que vamos a tener que poner unos cuantos como aquí? Sólo va a ser uno porque es una lista, y luego quedarse. Sí, así que solo pon eso. ¿Los artículos se metieron ahí? Bien, así que vamos a ir ahí. Nosotros solo Se ve bastante desordenado. Vamos solo estos hola, vamos, él, vamos, vamos, vamos, vamos. Esto se está poniendo realmente desordenado en este momento. Ahí vamos. Ya lo tienes. Ya lo tienes. No, yo no. Voy demasiado lejos. Bien, podemos hacer esto. Siempre lo conseguí. Ahí vamos. Tabadín. Tabain baby, Tabin Ahí vamos Se ve un poco mejor. Bien, entonces tenemos que romper esto. Entonces cada uno tiene que ser un tallo. Entonces tomemos esa orden. Entonces va a terminar. Ese termina ahí mismo. Esa es nuestra primera lista. Creamos otra lista. Yo diría que termina después de los puntos porque eso es un nueve pulgadas. Sí, porque eso también está dentro, pero vamos a pegarlos al final de cada línea o algo ahí. Oh, sí, pégala ahí. Y la segunda lista de allá. Oh, solo hagámonos un favor aquí y solo usemos un pequeño comando. Sí. Hazlo todo junto. pararé ahí al final de cada una, cerraré las listas. Sí. Entonces vamos a cerrarlo. Oh, cerca. Derecha. Así que ahora todos han sido hechos parte de nuestra lista ordenada. Echemos un vistazo a eso. Ah, eso se ve mucho mejor. Bien, entonces vamos a necesitar espaciar esto un poco porque como puedes ver, también lo que han hecho es cuando se hace demasiado tiempo, tú atrapando BR, entonces rompes la línea. Podemos ver a dónde va demasiado tiempo? Esta esponjosa. Azúcar, digo, ahí es donde lo rompemos hasta. Vamos a hasta, poner en BR Guarde eso hace un momento. No va a ser muy largo, así que ahora va a volver a poner en dos líneas después. ¿Dónde está el agua? Más allá de eso. Se puede ver que todo requiere un poco. Esto es codificación. En realidad tienes que especificar todos los pequeños detalles. Ahora, mucho, hay algunos atajos a su alrededor a medida que usas CSS, pero es muy útil para ti aprender a hacerlo todo básicamente HTML porque más adelante cuando te hagas más avanzado, necesitas entender lo básico. Sí, eso se ve bien excepto que tenemos que mover eso al otro lado. Entonces una vez que planeas vamos a tener que espaciarlo. Pero si metemos como tenemos con estos espacios aquí mismo, si lo metemos ahí, se va a confundir mucho porque ahora es como, a cuál debo ponerle un montón de espacios. Entonces en lugar de eso, vamos a agregar en otra tabla. Entonces TD otra columna. Bien. Vamos a añadir otro. Entonces eso va a tener muchos espacios en la columna. Entonces no lo vas a poder ver. Así que básicamente, todo lo que estamos haciendo es que vamos a añadir en una columna entre los dos que va a ir aquí y sólo vamos a entonces poner en un montón de espacios. Bien. Ahora ya veremos. Ahí vamos. Bien, así que en realidad tenemos una columna en blanco en el medio ahí. Puedes ajustar el tamaño de esa columna media, muchos espacios que la quieras, pero eso se ve así Tal vez, saca algunos. Vamos a ir aquí. Oh, detente. A ver si está buscando. Tan perfeccionista. Supongo. Bien, entonces ahí vamos. Eso se ve bastante bien, creo. Um, sí. Así que nos estamos acercando bastante a tener este sitio web increíblemente maestro e increíble Te voy a mostrar una cosa más que vas a hacer y eso lo haremos en el siguiente video, pero vas a tener que ser paciente para eso. Mostrarte cómo puedes agregar realmente un video a tu página. Y eso sería genial. Video de alguien haciendo el pastel, ¿qué tan genial sería eso? Y entonces todo' izquierda es vincularlo todo arriba. Así que muy cerca de ti, si puedes hacer que tu segunda página se vea un poco más agradable, agrega las imágenes, muévalas a través, tratando de alinearlas, y mira cómo funciona todo para ti Así que deja de mirar y empieza a hacer. ¿Recuerdas nuestra famosa cita? ¿Conoces esta cita que nos gustó de la educación? Sí, ¿cuánto aprendes haciendo? Bueno, sal ahí fuera y hazlo. 78. Incrustar un video de Youtube: Bien, entonces estoy oliendo a pastel fresco. Ahora, tenemos un problema. El problema es que la receta hay, um, además de estar incompleta, creo que es una receta de pastel de chocolate. Sí. Bien, pero tengo una solución. Sí. ¿Sabes qué es? No, tú no. ¿Sabes cuál es mi solución? Es una idea. Tienes una idea. Te voy a mostrar la magia. La magia. ¿Cómo adivinaste? Bien, ahí vamos. Youtube, ¿sabes lo genial que sería, como, tener un video dentro de tu página? Eso va a hacer que sea súper increíble. En realidad no es tan caliente. Ahora que entiendes los conceptos básicos del HTML, voy a mostrar cómo puedes agregar realmente un video. Así que he hecho un poco de Google o un poco de searchia para hacer un pastel de zanahoria, y se me ha ocurrido uno muy popular, 1 millón de visitas Entonces este tiene que ser increíble. Entonces, aunque mi receta de pastel de chocolate no funcione para pastel de zanahoria, está bien. Vamos a conseguir que emita pastel de zanahoria. Entonces, lo que ahora vamos a hacer queremos incrustar su video. Vienes aquí y eliges Compartir y no chit, no te vistes Ir a donde dice Embed. Y aquí van a ver código. En realidad hay un par de cosas que puedes hacer. Muestra los controles del jugador y todo tipo de cosas que van a ser incluidas en tu opción de cama. Mostrar videos sugeridos. Se podría decir, no quiero eso después. Yo sólo quiero este video. Incluso puedes comenzar en cierto punto si quieres. Pero todo lo que tienes que hacer es agarrar eso. Ahora lo reconoces . ¿Qué es eso? Eso es algún código. Eso es código HTML. No es tan complejo. No hemos hecho exactamente el código específico, pero te darás la idea porque todo el código HTML es similar. Vamos a mandar, a verlo. Y vamos a hacerlo. Vamos a volver aquí y justo al fondo aquí, veamos qué pasa. Vamos a comandar V, y vamos a simplemente pegar en ese bit de código que acabamos de encontrar. En realidad es un fragmento de código I , lo que significa que es algo que va a estar contenido dentro de un marco. Pero no hace falta que te preocupes demasiado por eso. Solo tienes que copiarlo y verás que tiene el ancho y el alto y luego tiene la fuente del video y cuál es el borde del marco y si permitir pantalla completa o no. Esas son solo algunas opciones, pero echemos un vistazo. Tan simple como eso, nos encontramos con nuestro mejor sitio de pasteles y golpeamos refrescar. Y ahí está el video. Ha aparecido en nuestra página. Ahora, obviamente, no es exactamente así como nos gustaría. lo mejor nos gustaría que fuera un poco más pequeño y que encajara aquí. Entonces la solución a eso, con este que hicimos, podemos uh agregar en un montón de espacios, y ha dado esta opción para agregar ancho y corazón. Bien, entonces ahora solo queremos que sea un poco más pequeño que eso. Si lo tuviéramos acaba de cambiar este digamos 36360. Lo que esto va a hacer es que va a hacer una imagen como un cuadrado, y queremos mantener las mismas proporciones. Lo que tenemos aquí escala proporcional. G. O sea, puedes agarrar una calculadora y resolverla tú mismo. Ahí está nuestro ancho y alto originales aquí. Si acabas de tener eso y dices que redimensionar nos da, van a ser dos oh 2.5 Si sólo ponemos en el corazón dos oh dos. Si no mantienes la proporción correcta, va a hacer que sea muy larga o muy blanda o muy rara Entonces así que aquí. Sí. Entonces ahora puedes ver que en realidad es el tamaño correcto. Sí, así que ahora se ve de la talla correcta. Sí. Pero aún necesita ser trasladado a través. Sí. Así que al igual que hicimos con este, vamos a tener que añadir en muchos espacios antes. Así que vamos a agarrar esto. Agarra algunos espacios. No hace falta que pongamos eso ahí mismo. Vamos a probar eso. Puede ahorrar. Hemos puesto refrescar esto y Oh, casi ahí. Yo sólo unos cuantos más. Vamos a sólo dos batidos de una cola de perro pequeño. Oh, mi. Ve al golfo. Bien, así que vamos a guardar eso. Digamos, ya es suficiente. Vamos a probar eso. Todo en la afinación fina. Bien. Oh, tan cerca cerca. Creo que vas a necesitar una más. Creo que es Timor. No, no, porque es un montón. Sí, es la hora. Vamos. Te lo dije, te lo dije. Sí, eso es perfecto. Es perfecto. Le has dado. Le has dado. Eso se ve muy bien. Quiero decir, podríamos sentarnos aquí y jugar. Pero entiendes la idea. Así que sí, tenemos nuestros sitios en realidad luciendo bastante geniales. Tenemos nuestra receta. Tenemos una pequeña imagen. Tenemos nuestro video. Y ahora ya verás si golpeas play. Este video ahora va a estar jugando o el mejor pastel de zanahoria de la historia. El mejor CarotkeH para lograrlo. Así que todo está sucediendo aquí en tu sitio y en realidad has hecho todo esto. Quiero decir, es bastante impresionante. Todo está incrustado en su sitio. Ahí vamos. Ve a lo largo incrusta un video en tu sitio. Te enseñamos cómo hacerlo. Simplemente toma el código de inserción y se encuentra e inserta en su sitio. Recuerda, es posible que solo necesites cambiar el ancho y la altura proporcionalmente, agregar algunos pequeños espacios y estás listo para rockear y rodar Entonces solo queda una cosa. Y eso es para vincular esta página con esa página, y luego tienes un sitio web completo. Así que a ti. Ya casi estamos ahí y tú lo estás haciendo fantástico. 79. Vinculación de páginas web: Bueno, tenemos, creo, los mejores pasteles, el mejor sitio, y todo se ve súper increíble. Entonces tenemos nuestras dos páginas, pero hay una cosa que queda porque un sitio web no es solo una página web o páginas web separadas. Necesitan estar conectados. Entonces queremos sobre un click en ese compañero de ahí, y queremos llegar a esta página. Entonces, ¿cómo lo hacemos? Volviendo al HTML. Recuerda, tenemos nuestras dos páginas. Esa es nuestra página de pastel de zanahoria. Esta es nuestra página principal, que se llamaría nuestra página principal, y queremos conectar las dos. Bien, entonces tenemos esta opción que nos da la opción de enlazar. Para enlazar páginas. Sí. Sí. Bien. Entonces por aquí, aquí es donde tenemos nuestro pastel de zanahoria húmedo. Primero te voy a mostrar esta opción de enlace. Si vas, en realidad hagámoslo justo en la parte inferior, solo para dar un ejemplo. Entonces si decimos etiqueta A, solo escribe A, ve ahí. Esto se llama etiqueta de anclaje. Te está permitiendo anclar y vincular algo a otra cosa. Sí. Entonces este va a ser el nombre de nuestro sitio web. Entonces vamos a querer vincularlo a esto decir eso. Ahora esto es lo que vemos dentro de estos pequeños dentro de los comunes en esto es lo que van a ver. Entonces, si es texto, va a ser como el pastel de zanahoria. Lo que sea. Ahora mismo no importa. Verás, esto es sólo texto. Entonces ahora si lo refrescamos, verás con texto que estará en azul. Ahora estás muy familiarizado con esos. Ves esas pequeñas cosas subrayadas, sí, ahí vamos. Cuando hiciste clic en Hey, ¿qué hizo? Yo nos llevé a esa página. Ese es tu viejo texto de hipervínculo familiar subrayado. Nos lleva a través de la nueva página. Así de sencillo es. Todo lo que fue es usar este aTag poniendo el enlace y luego cualquiera que fuera el texto Pero eso no es realmente lo que queremos hacer, Josh. Queremos vincularlo realmente a la imagen, no a algún bit aleatorio de texto al final de ahí. Entonces, esto es realmente muy fácil. Todo lo que vamos a hacer, podemos tomar eso en realidad, y luego iremos aquí, que es donde tenemos nuestra imagen. Entonces dentro de esto, vamos a poner nuestra imagen. Después de TD, solo pon eso. Podemos usar la etiqueta A. Intercambio de heno Deshazte del heno. Después imagen imagen ahí mismo. Vamos a tomar eso y lo vamos a poner dentro de la etiqueta A. Ponlo dentro. En lugar de tener el texto dentro del aTag, estamos poniendo en nuestra etiqueta de imagen dentro del Atag Sí, así que vamos a tener un poco de cosa extra. Decimos que ahora queremos refrescar. Entonces nada se ve diferente excepto como veis, cuando vamos aquí. Nada. Cuando vamos ahí, tenemos el dedo. Derecha. Dale el dedo. Ahora, cuando hacemos clic en él. Sí, nena. Somos cohetes. Casi parece, como se puede ver la misma imagen. La trae ahí. Es el ¿Cuál es la palabra para ello? Aafeitarse. Sí. Bien, pero sabes qué, en realidad. ¿Por qué no? Uh, también agrega el enlace a ese pastel húmedo de zanahoria. Por el momento, si hacen clic ahí, nada va a estar probablemente en la página equivocada. No va a pasar nada si la pateas de todos modos. Pero si haces clic aquí, no va a pasar nada. Yo estaría genial si eso también es, tal vez hipervínculo. Si quisieras hacer ambas cosas. Lo que podemos hacer es que solo tendremos que tomar esto podría poner la etiqueta A aquí también. Podrías simplemente hacer otra etiqueta A para Mistarotake. Una etiqueta, podría copiarla, pero tenemos tantas cosas en ella. Vas y lo pones dentro del ht. Se pone en una etiqueta del espacio A. Ahora todos tenemos aquí estas pequeñas palabras. Déjalos caer dentro dentro. Hecho mal, hecho muy mal. Ahí vamos. Fantástico. Sí, ahí lo tienes. Ahí lo tienes. Te meces Sí. Bien, entonces ahora cuando nos refresquemos. Ahí vamos. Ahora tenemos un hipervínculo en ambos. Entonces haces clic en cualquiera de los dos, vas a llegar a la pieza equivocada. Um eso no es inteligente. Sí, no he puesto ningún enlace desde entonces. Sí. Eso es muy inteligente. Todo lo que has hecho es que te has puesto pastel de zanahoria húmedo. Eso es brillante. Todo en los errores. Sí, ahí vamos. Y ahora te trae a través. Ahí vamos. Eso se ve fantástico. En esta etapa, básicamente tenemos un sitio web completo. Tienes todas tus imágenes. Los puedes ver, puedes incrustarlos. Tenemos antecedentes, tenemos logotipos, tenemos enlaces en los que se puede hacer clic, tenemos segundas páginas Tenemos tablas usadas para formatear, tenemos videos incrustados. Esto es fantástico. Yo sólo creo que hay una cosa más. De ninguna manera. Una cosa más de esa manera. Empiezas a sonar como cuál es su nombre de Apple, sólo hay una cosa más. No está en Vamos, Steve. No es una gran cosa aquí. Es el nuevo iPhone. ¿Qué es? ¿Qué es? De nuevo , sólo va a ser. ¿Qué es? Entonces, cuando hacemos clic en esta imagen, no queremos tener que hacer clic en el botón Atrás. Sí, como un botón esa pequeña flecha. Sí. Yo lo tengo. Bien, entonces tengo a Handy en mi fonder una pequeña flecha aquí mismo Puede que no sea el mejor, pero, ya sabes, una flecha es una flecha, así que simplemente volveremos, puedes ir a Pixel Bay, puedes encontrar flechas y lo que quieras. Entonces, lo que sea, vamos a poner esto. Va a estar cerca de la cima en alguna parte, ¿verdad? Sí, ponlo justo en la parte superior debajo del cuerpo. Sí, debajo del cuerpo, hasta podría hacerlo a la cabeza porque es algo así como que no lo sé. No lo sé. Sólo hagámoslo en el cuerpo. Hagámoslo en el cuerpo. Podemos ver cómo se ve eso. Bien, entonces nosotros también. Es una imagen, pégala, pega el nombre ahí dentro. Guárdalo. Bien, entonces esto. Es un bebé grande, podemos simplemente como, Sí, vamos a tener que pequeños en ese pueblo pequeños que eso. Eso me gusta. Es pequeño que eso. Sí. Con iguales, ¿qué debemos hacer? 30. 30 pequeños. 206. No, es que va a ser como yo. No lo es. Lo es. Va a ser, va a estar equivocado. Ya te lo dije. Se equivoca. Gracias. Gracias. Gracias. Gracias. Bien. Diré 45. Sí. Ver no quiere escuchar. Reloj 45. Sí, señor. Bien. Entonces un poco pequeña. 82. 130. Siempre quiere hacerse demasiado grande. 82 minúsculos. Sí, eso es bueno. Ahora tenemos que enlazar. No lo sé. Ahora es algo apestoso encima de mi logo, pero de todos modos No, es bueno. No, puedo. Ese logo es sólo una cosita. Puedes ver cuánto tiempo puedes pasar jugueteando con estas cosas, pero te estás haciendo Así que nos pegamos en unas pequeñas flechas, una flecha hacia atrás, pero no es sólo una imagen que queremos. También necesitamos usar la etiqueta ancla porque queremos convertirla en un hipervínculo Sí, vas a tener que ir ahí en un hipervínculo. Se va a hiperenlazar de nuevo a su página. Di eso y lo metemos ahí. Ahora, finalmente, el sitio web se ve realmente muy bien. Haga clic ahí. Ahí tenemos un acceso agradable y fácil aquí. Y cuando le pegas? Sí, atrás. Oh, una cosa más, Steve. Te reprenden Oye, eso fue fantástico. Ahora podemos ir a buscar acabamos de hacer un pastel de chocolate. Vamos a ir a buscar algunos más. La mejor parte es, pero ustedes vengan a ver esto en realidad tienen un verdadero pastel de chocolate esperándonos, una mezcla de zanahoria y todo. Creo que vamos a ir a comer eso ahora mismo. Esta es una vez que puedes tener tu pastel y comértelo. Entonces, ahí lo tenemos. Un mejor sitio web de pastel de chocolate que puedas desear. Y tienes la idea, y nunca obtuviste las habilidades, tienes la capacidad de crear tu propio sitio web. Así que ojalá hayas aprendido muchas cosas increíbles e increíbles. Es muy sencillo. Este es el inicio de un viaje increíble. Aprender a codificar, aprender a usar HTML es realmente, muy emocionante. Así que esperamos que te hayas divertido mucho salir ahí fuera. La mejor manera de aprender es jugar. Divertido, comete errores. Eso está bien. Crear cosas. Veamos cómo funcionan, pruébalo, sobre todo, compártelo con nosotros. Dinos qué quieres, qué no funciona, qué funciona, qué más te gustaría probar. También nos encantaría aprender de ti. Es un viaje de aprendizaje. Queremos estar juntos en ello contigo, y esperamos que te hayas divertido mucho. Así que sal ahí, pruébalo. 80. Caos: ¿puedes hacerlo?: Bienvenido a Canva. Lo que quiero mostrarles es cómo esta poderosa herramienta en línea, canva.com puede ser utilizada para apoyar el enfoque docente del aula activada, que es específicamente la pedagogía del caos Se podría pensar que el caos es algo malo, pero el caos es algo con lo que tenemos que lidiar todo el tiempo. Y cuando tenemos demasiada información o muy poca información o incluso información conflictiva, lo importante es poder juntar toda esa información y ponerla en algo que la lleve sucintamente a la representación visual Y una de las formas que se hace muy poderosamente es a través de lo que se llama infografía Una infografía es esencialmente una gran cantidad de información compleja que se ha condensado en representación visual, y de eso se trata esta pedagogía del caos Tratando de resumir, destilar, obtener la esencia de nuestro aprendizaje Canva es un gran sitio para hacer eso. Entonces, si te encuentras con Canva y eliges la infografía, se te presentará toda una gama de plantillas Todo lo que tienes que hacer ahora es elegir uno que creas que se ajuste a lo que quieres armar, tu resumen. A lo mejor quieres hacer una serie de puntos, así podrías elegir uno así. O si sigues bajando, verás esta la con balas, no tan interesante en términos de no ser tan gráfica, pero a lo mejor hay diez cosas que quieres recordar Qué gran manera de unirlos sucintamente a todos. Te puedes poner bastante visual , a lo mejor quieres hacerlo así. Muestra cuatro elementos que son clave para ti y así sucesivamente y va. Notarás que la mayoría de ellos tienen gratis, lo que significa que no hay costo, lo cual es una gran ventaja. Algunos de ellos sí pagas, solo cuídate de eso. Esencialmente, todo lo que necesitas hacer es elegir uno que creas, bueno, este sería genial para representar mi pensamiento. Baja, elige una infografía que te parezca, bueno, voy a usar esta como imagen visual de lo que he aprendido en este curso en particular Quiero decir, bueno, cosas que he aprendido, hay muchas de ellas y me pregunto cuál sería una gran manera para mí de representar esto. Nuevamente, con solo pensar en esto por unos minutos, tienes que intentar destilar tu aprendizaje hasta algo que tenga sentido Escojamos una de estas infografías para representar nuestro aprendizaje Por qué, este de aquí se ve divertido. Vamos a recogerlo. Vamos a seguir adelante. Es un gráfico de info gratuito. En pocas palabras, todo lo que necesitas hacer es poder hacer un poco el zoom para que lo veas con mayor claridad. Ahora puedes editar. Es tan sencillo como eso. Puedes hacer clic en cualquier elemento y editar tu aprendizaje. Si quieres cambiar la fuente o el tamaño de fuente, simplemente haz clic en él, ve a la parte superior y podrás cambiar la fuente. Puedes cambiar los colores, puedes cambiar todo tipo de cosas. Realmente es bastante sencillo. Ahora solo es cuestión de bajar tu contenido. Si quieres insertar algo en imagen, nuevo, esto también es realmente sencillo. Hay toda una gama de elementos que se pueden insertar en el lado izquierdo, verás una opción para elegir qué elementos te gustaría insertar. Puedes buscar en estos. Pueden ser iconos, líneas, ilustraciones, o simplemente podrías buscar por aquí cualquiera que sea la imagen que estés buscando. A lo mejor estás buscando HTML. inmediato, va a llegar a tener un montón de imágenes. Nuevamente, si son gratuitos, puedes usarlos. Para que tengas que pagar. A lo mejor quiero usar este de aquí. Dije: Sí, ese es exactamente el que quiero. Haga clic en él. Se coloca en la página. Ahora puedes redimensionarlo y ponerlo donde quieras. Para deshacerme de una imagen, no quiero esa, da clic en ella, presiona Eliminar y puedo poner mi imagen aquí. Cambiar el tamaño es un proceso sencillo. También puedes subir tus propias imágenes si quieres. Si buscabas o algo así, y no estabas contento con, no me gusta ninguno de esos, puedes ir y subir tu propia imagen, pero estoy contento con esto. Es gratis. Tiene que ver con CSS. Eso parece bastante bueno o podría llevarme uno de estos. Vamos a llevarnos este de aquí, y voy a usar eso. Ese es esencialmente el proceso que puedes seguir haciendo eso. Simplemente editas cada uno de los elementos y al final del mismo, podrás producir por ti mismo una representación visual encantadora de las cosas clave que aprendiste. Una vez que hayas terminado, puedes simplemente presionar Descargar y podrás descargar tu imagen. Puedes descargarla en formato PNG, JPEG o PDF, tan simple como eso. Al final del día, lo que ahora has creado es que has creado una encantadora infografía simple de lo que has aprendido Es una gran manera de destilar tu aprendizaje y recordarlo. Al final del día, ahora tienes una imagen que resume los puntos clave de lo que has aprendido A ti, toma lo que sea que estés aprendiendo, comunícate con Canva y crea por ti mismo una representación infográfica de tu Acabarás de experimentar el poder del aula activada enseñando pedagogía del caos y cómo te ayudará a recordar tu aprendizaje 81. Conclusión: Guau. Bien hecho. Has llegado al final del curso. Debes estar sintiéndote súper amplificador, súper emocionado porque si llegaste hasta aquí, te ha ido súper bien. Creo que lo has hecho muy bien. Has aprendido a hacer tu propio sitio web desde no saber nada hasta construir este increíble sitio web con dos páginas, enlaces, imágenes, y ahora puedes continuar solo. Aprendiendo a medida que avanzas. Absolutamente. Esto es solo un comienzo. Entonces, lo que has hecho hasta ahora es que has aprendido lo básico, has aprendido a tomar código HTML, armarlo. Ahora eres programador de programas y HTML. Luego construye tu primer sitio web. Puedes tener dos páginas, tres páginas, 20 páginas, lo que quieras. Es un punto de partida. Aquí es donde comienza, pero hay mucho más. Hay más que puedes aprender sobre HTML. Esperamos que te hayas dado la confianza para aprender ahí y estar atentos a nuestros otros cursos sobre HTML. Luego están los otros aspectos. ¿Recuerdas lo que dijimos que HTML cinco está compuesto de qué? HTML. CSS. ¿Y cuál es la última? Vamos. Diles. JavaScript. JavaScript, claro, eso lo sabías. Esas tres cosas son de lo que trata HTML cinco, y en breve tendremos cursos sobre esas que saldrán. Probablemente ya estén ahí, así que échales un vistazo. Entonces ha sido emocionante. Nos encantó tenerte. Por favor, póngase en contacto con nosotros. Queremos escuchar sus comentarios, platicar con nosotros en las discusiones. Tengo preguntas, pregúntanos y por favor danos esa reseña de Five Star. Eso queremos. Si no es Cinco Estrellas, hay algo que no te gusta. Eso no es lo que es, porque parte de nuestro viaje de aprendizaje es mejorar. Queremos hacerlo cada vez mejor, y solo podemos hacerlo con tu aporte. Por lo que valoramos tus comentarios. Valoramos estar en el curso, dile a tus amigos si lo disfrutaste. También nos encantaría verte en uno de nuestros cursos. Así que no olvides conectarte con nosotros. Hemos tenido una gran diversión. Hemos disfrutado enseñándote y todo mejor en tus viajes HTML en el futuro. Sí, adiós. Que se diviertan mucho. Sigue aprendiendo. Ver. 82. Por qué programar con Python: Hola, soy Craig. Hola, soy Sarah. Y vamos a ser tu anfitrión en este emocionante viaje donde aprendes a programar. Déjame contarte un poco sobre mí. Tengo experiencia en tecnología. Tengo un doctorado en tecnología educativa, y lo que mis verdaderas pasiones ha sido la codificación. Absolutamente me encanta. Y no había nada más emocionante que cuando mi hija también quiso meterse en la codificación. Así que estoy en mi último año de codificación en la universidad, y hasta ahora me ha encantado absolutamente. No puedo esperar para ir a hacer postgrado e informática el próximo año y continuar mi viaje de programación Realmente me ha encantado cada minuto, y tengo muchas ganas compartir este amor con todos ustedes. Sí, entonces queremos decirte ¿por qué deberías estar aprendiendo a programar? Sencillo. Fama. Se trata de la fama. Ahora bien, no estoy diciendo necesariamente que te vas a hacer famoso. Bien puede, sabemos que hay mucha gente que se ha hecho famosa con las cosas que codificaron, como personas como Mark Zuckerberg, Bill Gates, y otros Pero la fama es un acrónimo. Es sinónimo de diversión. Logro. Habilidades de supervivencia y ganancias de la edad milenaria. Entonces, echemos un vistazo rápido a esos. Tan divertido. La codificación puede ser muy divertida. Sé que la mayoría de la gente piensa que la codificación podría estar sentada en una habitación oscura, grabando en tu computadora Pero en serio, es todo lo contrario. En primer lugar, estás creando algo nuevo, algo emocionante. Casi se siente como si estuvieras contando una historia. Y al escribir tu código en tu computadora, estás haciendo que las cosas sucedan, estás creando un juego, y es simplemente una experiencia muy emocionante, y es una de las cosas más agradables que me encanta hacer. Vas a averiguar por qué es tan divertido, pero eso nos lleva a lo siguiente logro de logros es algo que a todos nos gusta, y Sarah te va a contar un poco. La programación solo te da esta increíble sensación de logro. Así que el cerebro desafiante. Definitivamente puedo estar de acuerdo con esa. La programación desafía constantemente tu cerebro. Quiero decir, mira ese cerebro. Intentas encontrar soluciones a problemas que tal vez ni siquiera existan. Así que pasas este tiempo trabajando, tratando de resolver algo. Cuando haces que ese programa funcione, cuando obtienes esa respuesta correcta, es la sensación más increíble. Entonces, en segundo lugar, estás haciendo cosas, estás creando cosas. Una vez que terminaste tu juego, tienes esta cosa física que puedes ir y mostrarle a alguien. Guau. Mira, esto es lo que hice y pueden ir a probarlo y pueden ver físicamente lo que has creado. Sabes, solo quiero entrar conmigo, me encantaría ser artista o algo así o escribir libros, y muchas veces no tenemos esas habilidades. Pero es tan agradable cuando has hecho esas cosas, has hecho esa pintura, puedes mirarla e ir, guau, y mostrársela a la gente. Bueno, ya sea que puedas hacer eso o no, eso es algo que puedes hacer con la codificación. Puedes escribir este programa que se quede atrás. Me sienta en la tienda de aplicaciones, se sienta en tu computadora. Es una increíble sensación de logro. Iba a decir, siempre está ahí, nunca desaparecerá. Por último, te ayuda a ser eficiente. Hay tantas cosas que son repetitivas en tu vida. Puede ser algo que estés haciendo en tu computadora o que necesites hacer una y otra vez. Puedes usar la codificación para hacer eso por ti. Puede ser que necesites una app para almacenar tus artículos de maquillaje o equilibrar tus libros o lo que sea que sea. La codificación te permite hacer todas estas cosas por ti mismo. Haces tus propias aplicaciones, realmente hace que tu vida sea mucho más eficiente que productiva. Pero eso nos lleva a la M. Es divertido. Eso es todo emocionante. Pero más que esto, llegas a estas habilidades de supervivencia de la era milenaria Estas son estas habilidades que necesitamos. Ahora, en el pasado, cuando vivías en la edad oscura en las cuevas, hacíamos habilidades como hacer fuegos y correr más rápido que el tigre diente de sable Ahora necesitamos diferentes habilidades para sobrevivir. Necesitamos habilidades, y estas son habilidades que han sido identificadas como críticas si queremos que nos vaya bien en nuestro mundo moderno. Habilidades como ser certero, saber resolver problemas, estar preparado para tomar riesgos, una habilidad vital en este mundo moderno, ser creativo, ser productivo, aprender a trabajar juntos y colaborar. Una muy importante, la persistencia, no rendirse porque demasiadas personas se dan por vencidas demasiado rápido, siendo curiosas, y luego también pensando lógicamente, cada una de esas habilidades de la era milenaria se desarrolla en A medida que aprendes a codificar, aprendes a volverte persistente, creativo, lógico, todas estas habilidades increíblemente importantes. No solo aprendes a codificar y producir código y producir programas, aprendes estas habilidades que te colocarán en un buen lugar para cualquiera que sea tu carrera y lo que estés haciendo en la vida en el siglo XXI. Entonces eso nos lleva a la E, que es. Ganancias. Las ganancias son de importancia crítica porque a todos nos gustan las ganancias. En cuanto a las ganancias, lo primero es que las oportunidades de empleo están fuera de la tabla. Conseguir trabajos para codificadores es probablemente una de las cosas más fáciles Si eres un código, si sabes desarrollarte, es una de las oportunidades más buscadas. Pero no es sólo eso, si eres una especie de personas, no quiero esas ocho hasta las 6:00 P.M. Job. Quiero trabajar por cuenta propia. No hay otra industria en la que tengas más oportunidades de trabajar por cuenta propia que como programador. Puedes estar sentado en la isla desierta o en la cafetería, escribiendo código, vendiendo aplicaciones, codificando para personas. Todo el mundo está buscando a alguien que escriba código para ellos, que escriba un programa que les ayude a oportunidades masivas. Entonces esos son ellos, tan fáciles de recordar, ¿por qué quieres codificar? Fama. Es primero. Divertido. Logro. Estas habilidades y ganancias de la edad milenaria. Entonces por eso queremos en este curso disfrutes de todo, y vas a pasar un rato fantástico. Entonces además de la fama, vas a pasar un rato maravilloso. Nos vemos del otro lado. 83. Obtener tus propias alas: Ahora que hemos descargado Python, vamos a descargar nuestro IDE. Entonces, ¿qué es un IDE? Es sinónimo de un entorno de desarrollo integrado, y lo que hace es que solo facilita un poco la codificación. Entonces esconde las cosas que realmente no necesitamos ver. Nos da un montón de funciones y otras cosas que simplemente hacen que sea mucho más simple y más fácil de codificar. Entonces para nuestro IDE, vamos a usar Wing. Hay muchos ID diferentes por ahí, y estoy seguro que a través de tu viaje de codificación, aprenderás y usarás muchos diferentes, pero para nuestras clases, vamos a estar usando Wing. Entonces necesitas ir a wingwar.com fordlash Descargas. Una vez que estés aquí, entonces vas a ir al botón Descargar e ir a Wing one oh one. Entonces ya ves que hay pocas otras opciones. Wing one oh one es solo la versión gratuita y tiene todo lo que necesitarás definitivamente mientras comienzas a codificar, pero probablemente por unos buenos meses o incluso años. Por lo que ahora te llevará automáticamente a la versión que necesites para cualquier sistema operativo que estés usando. Entonces estoy usando una Mac, así que me está dando esta opción. Sólo tienes que descargar lo que sea que tenga aquí para ti. Así que adelante y haz clic en el botón de descarga. Te va a dar algunos pasos los cuales puedes leer, pero también te voy a llevar a través de todo paso a paso. Así que una vez que se descargue aquí, sólo vamos a hacer click. Una vez que haya terminado de abrirse, va a aparecer con una ventana. Para Mac, simplemente arrastra esto aquí y comenzará el proceso de instalación. Para los usuarios de Mac, una vez que haya terminado de descargarse, sólo vamos a hacer click en las aplicaciones. Entonces tenemos que buscarlo. Ves que está por aquí y voy a hacer doble clic. Aquí, solo dices abierto. Entonces solo necesitas hacer clic en Excepto. Y ahora lo tenemos descargado. Entonces, una cosa que solo necesitas verificar es asegurarte de que lo que diga aquí sea la misma versión del pathon que acabas de descargar De lo contrario, las cosas no funcionarán. Y si no lo es, solo contáctame y te puedo ayudar. De lo contrario, hay muchos foros en línea que te explicarán lo que haces si esto no es lo mismo. Ahora tenemos Wing descargado, y estamos casi listos para comenzar a codificar. 84. Python y Wing: qué combo: Ahora estamos dentro de nuestro Wing ID, y solo voy a mostrarte algunas cosas básicas para comenzar. En primer lugar, para crear un documento, darás clic en este icono aquí arriba, y ahora esto te permite comenzar a escribir algún código. Si quieres cerrarlo o ya no lo necesitas, haces clic en la X del lado derecho aquí, y eso cerrará el documento. También puede utilizar este icono para crear varios documentos a la vez. Verás que se guardan automáticamente como generalmente sin título y un número Con la codificación, su nombre de su documento es muy importante. Entonces quieres guardarlo como algo que tenga sentido, que cubriremos más adelante. Entonces para guardar, solo tienes que hacer clic en Archivo aquí arriba y vamos a elegir Guardar como para cambiar el nombre. Siempre que estés guardando, asegúrate de que cuando cambies el nombre, no elimines también el punto PY. Si lo haces, entonces tu documento ya no podrá ejecutarse como ruta y programa, por lo que obtendrás un error. Entonces llamemos a esto y hagamos clic en Guardar. Ya ves que ha cambiado aquí arriba en la parte superior. Entonces esos son algunos conceptos básicos sobre Wing. Y a medida que vayas pasando por el curso, te convertirás en todo un experto en el uso de esta identificación. 85. Tu primer programa: Derecha. Este es el momento que has estado esperando. Porque en un par de segundos, vas a ser programador. Sé que es difícil creer que vas a ser programador literalmente en unos segundos. Entonces Sarah, hazlos programadores. Bien, entonces obviamente, escribir tu primer programa siempre es una experiencia emocionante. De hecho, tendría una cámara afuera ahora capturando este momento, el momento selfie porque esto es increíble Bien, así que vamos a meternos en ello. Entonces, una de las declaraciones más básicas en la programación es una declaración llamada declaración impresa, y es bastante autoexplicativa. Imprime. Imprime. Imprime. Entonces va a imprimir algo en tus pantallas. Para poder usarlo, todo lo que tenemos que hacer es escribir e imprimir. Y ahora queremos obviamente, imprimir algo en nuestra pantalla. Entonces vamos a imprimir algún texto. Para imprimir texto, hay que usar comillas. Ahora, notarás que SIR está escribiendo, Wing ya está reconociendo lo que son Python y los comandos. Entonces mientras escribes print, verás cambiar de color, reconoce como un comando válido ya que también se reconoce que hay dos pequeños corchetes que Saras puso ahí necesitábamos Si no hubieras guardado este archivo como DopiYT, notarás que ninguno de los colores saldrá Todo va a ser simplemente en negro. Entonces quieres asegurarte de que tus cosas sí tengan diferentes colores porque entonces ya sabes, Wing lo está reconociendo como un archivo Python. Bien, entonces el primer programa que escribirán casi todos los programadores se llama Hello World Básicamente, es impreso y luego entre comillas, Hello World. Entonces podrás ver Grand moment, drum roll. Guau, tu primer programa. Ya lo has hecho. Ahí está en la parte inferior, aquí es donde se muestran sus pantallas. Entonces te está mostrando cuál es la salida del programa. Hola mundo. Y eso ahora te convierte oficialmente en programador. Entonces, bien hecho. En este punto, puedes correr por la casa gritando, tomándote selfies, Instagram it, compartirlo. Di la palabra, eres programador. Y es tan simple como eso, simple declaración de impresión que muestra algo en tu pantalla. Con comas invertidas, debes poner lo que es ese texto Obviamente, podrías ser un poco más creativo, pero el primer programa clásico o la mayoría de los programadores es el de Hello World Bien, entonces ahora vamos a hacer esto un poco más interesante. Vamos a sumar a nuestra sentencia. Para que puedas hacer la oración el tiempo que quieras, de verdad. Entonces en vez de decir hola mundo, voy a poner mi nombre y tú puedes poner tu nombre. Entonces Hola Sarah. Y te darás cuenta de nuevo, aparece aquí. Este es nuestro camino en shell y cualquier texto o cualquier cosa que imprima usando esta declaración print va a aparecer dentro de esta Python en shell. Entonces podemos imprimir más de una línea si queremos. Tenemos nuestra primera declaración, que fue hola Sarah. Ahora digamos que queremos escribir, ¿cómo estás? Bien, ahora ya verás cuando ejecutemos nuestro programa, está impreso era Hellas luego en la siguiente línea, está impreso ¿Cómo estás imprimiendo dos estados de cuenta impresos diferentes? Entonces es tan sencillo como eso. Quiero decir, no podría ser más fácil, esencialmente, como acabamos de decir, eres programador, así que, vamos, pruébalo. Pruebe algunas declaraciones impresas. Es una forma divertida de empezar, y solo va a ser más y más divertido de aquí en adelante. 86. Estoy estancado. ¿Ahora qué?: Solo quería tocar rápidamente la programación y depuración Eso es deshacerte de los pequeños bichos bestiales que entran en tu programa y resolver problemas La programación es una especie de proceso iterativo. Significa que tienes que dar vueltas y vueltas. Cometes errores. Tienes que averiguarlo. Y eso es lo que lo hace emocionante. como un proceso de resolución de problemas. Y entonces sí hay que seguir intentándolo. Y a medida que vayamos por el curso, ya lo verán. Te daremos ejemplos donde realmente nos equivocamos a propósito para que podamos mostrarte y cómo resuelves las cosas. Ahora, vas a aprender mucho en este curso, pero garantizado, absolutamente al 100%, van a ser cosas que vas a probar que simplemente no parecen funcionar como te dijimos. La Opción entonces es llegar ahora a alguien, y lo encantador es que Google está ahí. Google. Puedes venir aquí y decir, por favor ayúdame. Google simplemente le gustará, Bien, bien. Quizá eso no te ayude. Tienes que ser un poco más específico. Simplemente puedes simplemente Google literalmente sea lo que sea. Digamos, tienes una consulta de Path sobre algo. Ahora, uno de los lugares que encontramos que es realmente bueno es StackOverflow Solo puedes Google Stackoverflow y lo encontraré. De hecho, Google te llevará directamente a Stackoverflow y te permitirá escribir una búsqueda solo en ese sitio El desbordamiento de pila es donde mucha gente inteligente comparte ideas, hace preguntas, obtiene respuestas. Por ejemplo, mencionamos anteriormente a veces cuando instalas Wing one oh one, está usando la versión incorrecta de Python solo para darte un ejemplo, self. Dije Wing one oh one, versión incorrecta de Python, y cuando apilar desbordamiento, va a llegar a muchas opciones. Aquí vamos. Configura Python 3.32 a partir de eso Dices, Oh, yo podría leer eso, y probablemente vas a encontrar tus respuestas. Entonces básicamente, todos estos diferentes sitios o enlaces que vienen preguntas que la gente ha hecho. Notarás que si buscas algo incluso en desbordamiento de pila, se han hecho casi todas las preguntas. Si tienes algún problema, hay una gran posibilidad de que alguien más haya tenido exactamente el mismo problema. Entonces con la programación, si tienes alguna pregunta, no te limites a ir a uno de estos sitios y escribir tu pregunta y esperar a que alguien te responda. Los programadores se molestan mucho si no te has metido en la investigación y en realidad no has intentado encontrar la respuesta antes de preguntarle a Sí, pero muchas de estas preguntas han surgido una y otra vez. Es decir, esto lo preguntaron hace cuatro años. Solo asegúrate de haber investigado completamente tu problema, y si realmente no puedes encontrar una solución, entonces ponla en uno de estos sitios Lo que también es muy bueno desbordamiento de Ssk Stack es que las respuestas se votan dependiendo de lo buenas que sean Entonces verás si respuesta tiene más likes o lo que sea, sube más alto. Entonces obviamente funciona para más gente. Entonces, si no encuentras la respuesta en ningún lado aquí, has buscado en todo el sitio. Realmente no lo estás haciendo bien, entonces por todos los medios, pulsa hacer una pregunta y escribe tu propia pregunta. Entonces, la línea de fondo es que vas a tener que llegar a la gente. Pero en nuestro moderno mundo de Google, con tantos expertos conectados, tienes la garantía de que vas a encontrar tu respuesta. Sea cual sea el problema que hayas tenido, puedes estar seguro de que alguien más tuvo ese mismo problema. Así que prepárate para eso. Sólo tienes que salir, buscar, y antes de que te des cuenta, vas a obtener una respuesta a tu pregunta. Eso es parte de la aventura. Ahí radica el aprendizaje. Aprender radica en cometer errores, y luego corregirlos. Y lo que es emocionante es que hay tanta gente ahí fuera. Y, por supuesto, estamos más que contentos si quieres comunicarte con nosotros, haznos una pregunta, estaremos encantados de ayudarte también. Pero a medida que avanzas, medida que te vuelves cada vez más poderoso e increíble e inteligente, vas a querer extender tus alas. El juego de palabras. Extiende tus alas y busca en la gran web respuestas a tus preguntas. 87. Resumen: Ya hemos llegado al final de la sección, y ahora todos ustedes son programadores Básicamente podríamos parar ahora y podrías irte a casa y terminar, pero creo que hay mucho más que puedes. Hay mucho más por venir y cosas mucho más emocionantes. Verás a medida que vayas mejorando y mejorando en la programación, se vuelve cada vez más emocionante y más interesante. Un resumen rápido de lo que hemos hecho en esta sección. Descargamos Python, descargamos Wing y escribimos nuestro primer programa. Hasta ahora, has aprendido un comando de Python, print, y has visto el resultado aquí abajo como similar a ese. También mencionamos cómo puedes llegar y obtener algo de ayuda. Encontrarás entornos como Wing si tienen manuales y cosas y algún tipo de eso incluso te llevan al manual de Python que siempre te puede ayudar si quieres e incluso al sitio web de Python. Mucho. También a menudo miro la documentación para cualquier idioma que estés usando. Entonces, si en realidad solo vas y miras la documentación de Python, explica bastante bien exactamente qué hace todo y cómo está destinado a usarse. Nuevamente, mucho de lo que pasa incluso desde la instalación de los módulos, hasta los tutoriales, etcétera, está aquí Entonces esa es otra opción de lo que puedes hacer para dar la vuelta. Entonces, eso es todo. Estás al final de esta primera sección. Te ha ido extremadamente bien. Puedes ir y solo tal vez descansar un par de minutos, y te veremos de nuevo del otro lado porque va a empezar a ponerse realmente emocionante a medida que avanzamos. 88. Variables: porque el cambio es bueno: Bueno, se va a poner realmente emocionante ahora porque queremos cubrir algo llamado variables. Ahora, antes de que pienses, ¿qué pasa el mundo son esas cosas? En la vida, todos necesitamos lugares para guardar cosas. Entonces, quiero decir, si tienes zapatos, quiero decir, tal vez los vas a guardar en un armario a menos que tengas muchos zapatos Si tienes comida, ya sabes, leche y queso y cosas así, vas a guardarla en un refrigerador. Si tienes un auto, lo vas a guardar en una cochera. Todas estas cosas deben almacenarse en algún lugar, y esas son contenedores útiles, y lo mismo se aplica cuando se trata de programación. Tenemos que guardar cosas porque a veces hay que recordar cosas. Entonces tal vez necesites recordar una puntuación alta en un juego o cuál es el contador y algo así. Hay tantas razones por las que necesitas recordar cosas, y esos pequeños contenedores que almacenas cosas y que quieres recordar se llaman variables. Así que echemos un vistazo a cómo implementas variables dentro de Python. Bien, entonces así es como usamos las variables. Básicamente, la sintaxis para crear una nueva variable es muy simple. Entonces digamos que quiero guardar mi nombre. Yo creo una variable llamada name, pero solo escribiendo name. Luego ponemos un igual, que se conoce como operador de asignación y lo igualamos a lo que quisiéramos nombre para almacenar. De nuevo, voy a almacenar a Sarah. Todo esto que está haciendo es que solo está tomando la palabra, Sara y ahora la está guardando dentro de la alacena Contenedor. Contenedor. Entonces en este caso, las variables muy importantes que le des a tus variables un nombre que sea significativo. Entonces por ejemplo, en realidad podríamos haber llamado a esto X. Pero más tarde, cuando empieces a trabajar con tus variables, vas a decir, ¿Qué era X? Ah, no puedo recordar. Así que siempre dale a tus variables un nombre útil. Entonces, debido a que esta variable en particular está almacenando nombre, lo hemos hecho, de hecho, podríamos incluso querer ser más específicos y llamarlo nombre de pila. Entonces simplemente está tomando el nombre de Sarah. Ahora fíjate que su nombre es comms invertidos. Es muy importante. Eso lo explicaremos en un momento, y es asignarlo a la variable Entonces también hay un par de nombres que no puedes usar como variables. En primer lugar, una cosa que no puedes hacer o un nombre no puedes hacer una variable no puedes hacer una variable, comienza con mayúscula. Esto simplemente no es sintácticamente correcto. Los programadores nunca inician la línea de código con mayúscula para casi cualquier cosa En todos esos años donde tus profesores de inglés te decían que hicieras eso, y ahí sale por la ventana. Eso es lo que nos gusta de la programación. Se mete con las reglas. Aquí, lo siguiente que no puedes hacer es comenzar con un número o cualquier símbolo. En cuanto lo haga, verán que esto realmente ha cambiado color porque ya no entiende lo que está haciendo. Entonces no se puede comenzar con un número. No se puede comenzar con un símbolo. Básicamente, lo mantienes simple, escribe tu nombre de variable, algo que tenga sentido y luego solo asignarlo a lo que quieras. Ahora, podrías, si quieres llamarlo primer nombre número uno. Está bien poner un número al final del mismo porque tal vez estés almacenando el primer nombre uno, nombre dos o algo así, está bien. Pero generalmente, mantenlo simple, mantenlo en minúsculas y mantenlo algo que tenga sentido Bien, entonces verás esa impresión si ejecuto este programa, no va a hacer nada, y eso es porque en realidad no he impreso nada. Así que ahora vamos a imprimir nuestra variable. Entonces lo que básicamente queremos hacer es que queremos imprimir el nombre Sarah, pero queremos imprimirlo usando el nombre de las variables, que es nombre de pila. Entonces para hacer eso, ahora todo lo que tienes que hacer es tocar el nombre de las variables. Entonces te darás cuenta aquí, no lo he puesto en comas invertidas ni nada Si es una variable, solo la escribes tal como es, nada alrededor de ella, y ahora cuando la ejecutemos, verás que ahora está impresa. Entonces porque es una variable todo lo que realmente se hace es imprimir lo que está almacenado dentro de aquí. Sarah dijo, es muy importante que eso no sea una coma invertida ¿Qué crees que pasaría si le pusiéramos comas invertidas? Piénsalo. ¿Qué pasaría si pusiéramos comas invertidas alrededor de esto? Ponga dos comas invertidas y ejecútela. En realidad está imprimiendo la palabra nombre de pila, igual que imprimió la palabra Serra. Ahora pienso que es justo lo que se llama una cuerda y es solo imprimir eso. Con una variable, no pones tu variable en comas invertidas porque realidad estás interesado en lo que está almacenado dentro de ella. Es un contenedor. Podemos eliminarlos y podremos imprimir el nombre que ahí está almacenado. Ahora, lo que también es bueno con las variables, y esto veremos si se vuelve poderosa es que solo podemos cambiar lo que entra en la variable. Así que ya podemos poner mi nombre aquí. Y sin cambiar esta pieza de código, notaremos en la parte inferior, cambia para imprimir mi nombre. Entonces está cambiando porque se trata simplemente de imprimir lo que se almacena dentro de la variable. Entonces así es como funcionan las variables de manera realmente simple. Una vez más, realmente puedes poner lo que quieras dentro de estas comas invertidas, pero lo que sea que esté dentro de las comas invertidas ahora se convierte en nombre de pila Entonces, si quería hacer cambios en tal vez un saludo, Ahora bien, qué va a imprimir, Craig, ¿cómo estás? Entonces puedes hacer esto todo el tiempo que quieras, pero obviamente, quieres hacer algo que tenga sentido. Ahora bien, esto ya no tiene sentido porque hemos llamado un nombre de pila y hemos dicho, Craig, ¿cómo estás? Entonces es posible que desee cambiar esto a llamarse saludo y más bien imprimir saludo. Entonces hay mucho más que vamos a hacer con las variables. Los usamos en casi todas las cosas. Probablemente sean una de las partes más importantes de la programación. Noto que lo he cambiado a saludo. ¿Qué crees que va a pasar ahora? Voy a saludar, Craig, ¿cómo estás? Y luego vamos a decir imprimir. Nombre de pila. Bien. Verás aquí abajo, Python no está contento. Básicamente te está diciendo en medio de todo esto, es decir en la línea tres. En la línea tres, verás por aquí, algo malo está pasando. Dice, tienes esta cosa donde dice imprimir primer nombre, pero no sé qué es. El nombre no está definido. Bien, entonces lo que realmente dice es que no hay ninguna variable llamada primer día. Ve, A, mira, cometí un error porque cambié el nombre de mi variable. Mi variable es en realidad saludar. Entonces si lo ejecuto ahora, ahí vamos. Otro error común que la gente sí comete es si pones esta declaración impresa, antes de la declaración de saludo, ¿qué crees que va a pasar? Nuevamente, dice que no está definido. Entonces esto podría ser confuso porque dirás que lo has definido aquí abajo. Pero la forma en que funciona Python es que lee lo que has escrito de arriba a abajo. Entonces, si has impreso saludo pero no has definido saludo antes de imprimirlo, no sabe de lo que estás hablando porque es la línea roja uno, imprime saludo y eso es todo lo que se lee. No te ha visto definir la variable saludo en la línea tres. Bien, entonces es muy importante que definas tus variables adelantado y las cargues con el contenido antes de intentar trabajar con ellas con el contenido antes de intentar trabajar con Entonces esa es básicamente tu introducción a las variables. Así que diviértete un poco. Crea algunas pequeñas variables tantas como quieras, y usa el comando print o la sentencia print, y podrás imprimir lo que hay en ellas. Vamos. Que se diviertan un poco. 89. Tipos de datos: porque no todos son iguales: Hablar de guardar cosas. Hemos hablado de variables. Ahora, mencionamos que las variables son como lugares de almacenamiento donde pones las cosas. Pero cuando lo piensas, en realidad tienes diferentes lugares donde almacenas diferentes cosas. Entonces, ya sabes, podríamos ver algunas de estas cosas en un contenedor grande como ese que almacena cajas, o supongo que podrías guardar un auto ahí, pero no guardarías tu pavo congelado para Acción de Gracias aquí, ¿verdad? Y supongo que a menos que tengas una enorme oferta de zapatos, probablemente no usarías esta tienda tus zapatos y eso iría en tu alacena Y sigue y va, si tienes libros, vas a guardar libros tal vez en algún tipo de estantería Entonces el punto es que almacenamos diferentes cosas en diferentes espacios. Los autos van a los garajes, comida va a las neveras, los cuchillos y tenedores van a los cajones, y sigue y sigue Por lo que es importante cuando llegamos a nuestra programación que nos demos cuenta de que diferentes espacios almacenan cosas diferentes. Y así nuestras variables son en realidad de diferentes tipos y se llaman tipos de datos. Entonces cuando llegamos a las variables, no todas las variables son iguales. Entonces empezamos, y miramos la única variable, que era un saludo o un nombre, y teníamos algo que almacenamos en ella. Pero en realidad necesitamos entender que obtienes diferentes tipos de variables, y es importante que lo entendamos un poco. Hay un par de diferentes tipos de variables, pero nos vamos a centrar en las variables más importantes y básicas que tiene Pan. Puedes ver aquí hay una lista de los diferentes tipos de datos, y en realidad vamos a cubrir la mayoría de estos. Pero para empezar, voy a mirar a los tres primeros. En primer lugar, voy a mirar cadenas porque en realidad ya sabes qué son las cuerdas. Entonces si volvemos a nuestro programa, ya verás, recuerda cuando te lo dije, si estás escribiendo algo que sea texto, ponlo entre comillas. Así que esto realmente crea algo llamado cadena. Entonces, básicamente, cualquier cosa que pongas entre comillas es una cadena. Entonces lo que pasa con las cuerdas es que está totalmente ignorado. Lo que sea que pongas ahí, puedes poner lo que puedas poner en símbolos especiales si quieres. Se puede poner en casi cualquier cosa. Esa es la cosa con una cuerda. A una cuerda no le importa lo que haya ahí dentro. Así que puedes volverte loco aquí dentro. Incluso puedes almacenar solo un número entre comillas, pero ahora ya no es un número. Se ve como una cadena o texto. Bien, eso es muy importante porque veremos un tipo diferente o diferente tipo de datos que te permita almacenar números. Entonces, si quisieras hacer cálculos, no almacenarías tu número como una cadena porque entonces no lo verá como un número. Bien, así que ya puedes ver aquí otro tipo de datos son los números. Por lo que los números se pueden dividir en un par de subcategorías diferentes Los más importantes que realmente necesitas conocer son los enteros y los flotadores Entonces puedes ver aquí, básicamente, si intentas resolverlo, puedes ver fácilmente que un entero es algo que no tiene decimal. Entonces básicamente, es solo uno sin puntos. Es un número entero. Cinco, siete, tres, y una lata decimal De nuevo, muchas veces no necesitas los decimales. Entonces tal vez estás haciendo un contador. Cuantas ardillas hay en mi Gard y una, dos, tres. Nuevamente, a menos que le hayas hecho algo a una de las ardillas, no deberías tener 1.1 ardillas Pero si estás haciendo un cálculo, ¿cuál es el promedio de ardillas en mi Gard? Y obviamente, ahora tal vez quieras obtener el número promedio es 3.2. Entonces ahí es cuando decidirías si estás usando un entero o no. El Python es bastante inteligente, y casi automáticamente averiguará qué tipo de datos estás tratando de usar. Entonces si ahora escribo mi número, como mi nombre de variable y quiero asignarlo al valor numérico. Puedo asignarlo a lo que quiera. Digamos que quiero ir 38. Ahora he creado una variable llamada mi número, que está almacenando un tipo de datos llamado un entero en lugar de antes donde teníamos un almacenamiento de una cadena. Ahora si quisiéramos imprimir esto y queríamos imprimir mi número. Vas a verlo solo imprime 38. Seguro que puedes adivinar. Ahora pongo si pongo comillas alrededor de este 38, en realidad imprime exactamente lo mismo. Entonces imprimiendo solo un valor. Es solo mostrarte el contenido del número. En realidad no está haciendo nada con él. Pero veremos en un momento que si no es un entero, puedes tener un problema. Ahora donde esto se vuelve importante es cuando se quiere sumar cosas o restar cosas, que en realidad veremos con más detalle más adelante Pero por ahora, solo necesitas saber si quieres escribir un entero, solo escríbalo. Si quiero hacer ahora, que sea un flotador, solo puedo poner el decimal, y esto ahora se llama flotador. Bien, entonces el último tipo de datos que vamos a ver es un tipo de datos llamado Boolean Los booleanos son básicamente una palabra elegante para verdadero o falso. Sí. Se, esto es algo genial de aprender el programa porque puedes impresionar a tus amigos y familiares. Ahora, prueba esta cosa, te lo prometo de esta manera. Vas a servir la cena esta noche. Ojalá, todavía cenes alrededor de la mesa. Y lo estás cantando alrededor de la mesa y solo platicando, platicando , y luego solo dices: Oh, perdón, ¿puedes pasarme el Booleano Me refería a la sal, y toda tu familia te va a mirar y se va, Hombre. ¿Qué hiciste? Eres tan listo. Y te lo prometo de ahí en adelante, ellos van a pensar que eres la persona. Así que impresionarlos con las grandes palabras, gran palabra para que los impresione con un booleano Entonces, ¿qué son mil millones? Sí, bueno, en realidad, de nuevo en eso, hecho recuerdo en mi primera conferencia sobre programación, mi profesor me dijo que a los programadores les encanta usar palabras confusas para cosas más simples para hacer que todos los demás piensen que estás hablando de algo que es realmente complicado y Obviamente, así que eso es básicamente lo que es la programación. Si solo aprendes las palabras más confusas, en realidad estás aprendiendo cosas que ya conoces, pero justas. Así que solo les gustan las palabras de fantasía. Exactamente. Por eso estamos tratando que esto sea accesible para todos. Sabemos que cualquiera puede hacer esto si solo te pones tu mente en ello. Así que de vuelta en T Booleanos, verdaderos o falsos. Entonces ahora vamos a escribir una variable booleana. Sí, porque mi número no tendría sentido para ser booleano Bien, la gente a menudo solo acorta el booleano a Bo. Bien, entonces como dije antes, este solo puede ser el valor verdadero o falso. No puedo escribir nada más en valor booleano. En cuanto escribo algo que no dice verdadero o falso, ya no es un valor booleano Entonces esto realmente no hace nada muy emocionante, pero verás por qué son tan importantes más adelante. Simplemente va a imprimir el valor verdadero. Pero si cambié esto a uno verdadero, ahora se va a quejar porque piensa que esto es una cadena, pero no tenemos comillas alrededor de ella. Sí, y también, como ves en la parte inferior aquí, realidad piensa que este es el nombre de una variable. Entonces, abajo, notarás que no está definido como decir que uno verdadero no está definido porque está asumiendo que esto debe ser una variable, algo en lo que has almacenado algo en otro lugar, pero no puedo encontrar. Obviamente, si hiciste esto y le pones comas invertidas a su alrededor, bueno, obviamente, ahora, a pesar de que se llama Moul, en realidad esto es solo una cadena que has creado Así que en realidad no has creado un booleano en absoluto. Y así es por eso que es importante. Incluso si haces eso, recuerda, eso todavía no va a ser un booleano. Es una cuerda. Entonces los booleanos son simplemente, como decía Sara, verdaderos o falsos Y también puedes ver un cambio de color, diciéndote que esta es una palabra reservada en Python. Entonces entonces obviamente, también puedes usar false. Otra cosa solo asegúrate de que estás haciendo es para los valores booleanos, la primera theta tiene que ser una mayúscula, entonces es cierto con una T mayúscula o falso con una F mayúscula de lo contrario, nuevo no Asegúrate de que sea el color correcto. Sí, estas son algunas de las tonterías de estos lenguajes de programación. Se ponen un poco irritantes, pero te acostumbras a ello. Mencionamos anteriormente que no comienzas tus variables con la mayúscula, pero puedes, como ves aquí, tener una letra mayúscula dentro de tu nombre de variable, lo que a veces ayuda a intentar que sea más fácil de leer. Entonces podrías tener mi nombre o mi cuerda o mi toro. Y así como lo tienes, tenemos una gran B. Así que está bien. Entonces letras minúsculas al principio, pero cuando estás asignando un valor booleano, debe ser una F mayúscula o así esos son los tres tipos de datos más importantes que necesitaremos por ahora, y ya sabes mucho más Se puede ver que hay un par más. Veremos algunos de estos más adelante, pero estos son todo lo que necesitas por ahora. 90. Operadores: Para mirar a algunos operadores. Ahora, qué operadores, ya sabes, hiciste matemáticas en la escuela, más menos. ¿Cómo se llamaba esa cosa bod Mass? Soportes de división. Sin embargo, pensabas que esas cosas no tenían valor. Por supuesto, tienen valor. Como sabes, cuando vas a sacar ese calculador y hacer ejercicio, ya sabes, cuánto propina tienes para darle a alguien o lo que sea. Estás usando operadores. Y lo mismo aplica en nuestra programación. Y hay una gama de exactamente los mismos operadores, y algunos pequeños especiales que simplemente hacen la vida un poco más fácil. Entonces tenemos plus. Muy sencillo. Si quiero tomar A más B, son 30. Es tan simple como cualquier cosa. Entiendes la resta, así que ese es solo el pequeño guión, el pequeño guión es nuestra La multiplicación en la programación no es una X. Es el asterct de la estrella Entonces ese es un símbolo que usamos para multiplicar dos valores juntos La división es una barra delantera, no una espalda. Ten cuidado con eso. Debe ser una barra hacia adelante. Eso es lo que usamos para la división. Bajando, aquí hay una pequeña especial. Es este signo de porcentaje, y es lo que se llama módulo. Es exactamente lo mismo que la división. La única diferencia es que te da como respuesta, cuál fue el resto. Por ejemplo, si tuviera cuatro divide o 5/2, y lo usé como división, obtendrías la respuesta de 5/2 va y dos veces, así que tienes dos puntos, cualquiera que sea Si hiciera un módulo y pusiera cinco y signo porcentual dos, diría, bueno, dos va a cinco dos veces, eso es dos, resto uno. Y así la respuesta sería la porción restante, sólo una. Entonces eso es lo que es el módulo. Y podemos recoger un poco más tarde donde veas que lo usas, pero por el momento no es tan importante. Exponente. Ahí es cuando algo está al poder de algo. Voy a 110 a la potencia de dos, entonces va a ser un diez starstr dos Y finalmente, tienes esta cosa que se llama división de piso, y básicamente todo lo que hace es redondear algo Entonces decimos nueve fuertes, menos forjar menos dos, en vez de darte cuatro puntos algo, es solo darte los cuatro Entonces no te está dando ninguna de las partes restantes. Te está dando un entero. Esos son los operadores básicos. Entonces estos son operadores muy geniales, y veamos cómo podemos usarlos realmente. Bien, así que comencemos con la fácil. Vamos a crear una variable que va a almacenar un número. Pero en realidad, vamos a hacer que esta variable sea un poco más interesante. No sólo vamos a almacenar cinco. Quiero almacenar cinco más dos. Entonces ahora, dentro de esta variable M num, en realidad es al principio, lo primero que va a hacer es que va a sumar cinco más dos, que es siete, y luego va a tomar el valor siete y almacenar eso en mi num. Entonces no es almacenar toda esta expresión en su lugar, lo primero que pasa cuando se ejecuta el programa, lo que hace es que se necesitan cinco más dos. Bien, eso es igual a siete, y luego va M num ahora es igual a siete. En comparación con si ponemos lo que crees que pasaría si pusiéramos dos pequeñas cadenas por ahí, comas invertidas, eso sería algo totalmente diferente Entonces en realidad estaría almacenando cinco más dos la expresión real ahí dentro. Si metemos mi num y corrimos eso, vas a ver impreso del fondo por aquí, tiene cinco más dos. Pero si lo quitamos entonces mira hacia abajo hasta la parte inferior de tu pantalla, verás que tiene siete. Así que hagamos de hecho esta declaración impresa un poco más emocionante porque digamos que estamos ejecutando este programa y lo ejecutamos y vino y imprimió siete. Eso realmente no te dice mucho. Ni siquiera te dice que lo que realmente estás tratando de resolver es cinco más dos. Entonces, para decirle realmente a la persona que está leyendo tu salida de tu programa lo que estabas tratando de hacer, lo que puedes hacer es agregar más de un elemento a tu declaración impresa. Entonces lo que ahora voy a hacer es que en realidad voy a imprimir primero una cadena que dice cinco más dos es igual a. Y luego voy a poner una coma e imprimir la variable Entonces básicamente lo que está haciendo la coma es que es que le está diciendo a Wing o Python que quieres imprimir dos cosas diferentes Póngalos juntos. Armarlos en una sola declaración impresa, ejecútelo y hábilmente tenga más sentido Sí, ya ves en la parte inferior cinco más dos es igual a siete. En realidad, este es un tipo de lo que se llama concatenación. Es donde estás poniendo dos cosas y sumarlas juntas, donde estás agregando una cuerda y algo juntos. Entonces esa es una palabra elegante. Puedes agregarlo a otras palabras elegantes que ya aprendiste. Entonces es simplemente tomar dos cosas. En este caso, es tomar una variable de cadena o más bien un número de variable de cadena, una variable entera e imprimirla junto a un trozo de texto o una realmente puede concatenar tantas cosas como quieras en esta declaración print diciendo que quiero poner algunos signos de exclamación, ahora va a imprimir la cadena, cinco más dos, luego la variable, M o más bien un número de variable de cadena, una variable entera e imprimirla junto a un trozo de texto o una realmente puede concatenar tantas cosas como quieras en esta declaración print diciendo que quiero poner algunos signos de exclamación, ahora va a imprimir la cadena, cinco más dos, luego la variable, M número, y luego otra cadena, que tiene un montón de signos de exclamación. Eso fue suma con enteros. Nuevamente, puedes agregar dos flotadores si quieres , y eso es lo mismo Además siempre va a hacer lo mismo. Se va a sumar. O obviamente esto ya no es cinco más dos porque ahora está haciendo 5.1 más 2.1. Pero de todos modos, básicamente lo que estoy tratando de decir es que puedes agregar dos entegers, puedes agregar Es solo suma, suma normal como lo haces en matemáticas. Bien. Entonces vamos a decir, resta división Todo es bastante autoexplicativo. Si ponemos un menos ahí, va a imprimir cinco menos dos. Si recuerdas cuál era el signo de división, fue este slash delantero Ahora va cinco dividir por dos. Entonces si eres realmente listo, tal vez recuerdes lo que hizo esta cosa llamada división de piso. Básicamente me llevé los cinco y solo está imprimiendo los dos. Básicamente se trata de convertir ese flotador, que debería imprimir 2.5, 5/2 Esto ahora solo imprime el entero, así que básicamente borra todo después del decimal ¿Qué pasa con ese módulo uno? Te voy a mostrar lo que hizo el módulo uno si te gusta te estamos explicando antes, imprime lo que queda. Entonces obviamente, dos va a entrar en cinco, dos veces, como mi papá explicó antes. Quedan dos o cuatro con uno. Entonces, si cambiamos esto a solo digamos ninguno, también va a imprimir uno. Excelente. Qué gran ejemplo fue ese. ¿Qué tal cinco? Bien, podemos engordar. Después del trabajo. Excelente. Cinco va a nueve, un resto, cuatro. Bien. ¿Y qué pasa con nosotros no hicimos multiplicador? Gato espera ¿recuerdas lo que suena el multiplicador? ¿Pensaste que era eso? No, no es eso. Es eso. Bien, nueve por cinco. 45. ¿ Lo arreglaste antes mirar? Ojalá lo hayan resuelto. Bien. Ahora, lo divertido con los operadores es que con tapetes, obviamente, operadores, que solo usas son con números. Pero en la programación, en realidad también puedes usarlo con cadenas. Así que vamos a crear una cadena. Hagámoslo nuestro color favorito, por ejemplo, mi color favorito es el azul. En lugar de simplemente decir azul, quiero agregarle algo. Entonces con cadenas, solo puedes agregar cadenas a cadenas y enteros a enteros o básicamente, solo puedes agregar una cadena a una cadena y solo puedes agregar un número a un número No se puede mezclar. Cuando trabajas con tipos de datos, no puedes mezclarlos. Eso no les gusta. Se ponen muy molestos. Entonces, si queremos sumar dos cadenas juntas, bueno, tienen que ser ambas cadenas. Si intentas agregar un número entero a una cadena, no va a bajar. Guau. Bien, así que ahora voy a imprimir esta cadena concatenada cadena llamada mystring Y va a simplemente imprimir esa frase. Pero lo que sí notas aquí es cuando usas esta edición, no pone en este espacio. Básicamente es simplemente tomar lo que escribiste ahí y agregar lo que escribiste ahí directamente hasta el final de lo que está antes. Una cosa que deberías una cosa que debo decirte al agregar cadenas es que ya no se llama adición, ahora se llama concatenación Esto en realidad se llama concatenar dos cadenas juntas Pero obviamente, lo que he hecho aquí, realmente no tiene sentido porque podría haber puesto todo eso dentro de la primera cadena. Digamos que quiero hacer llamémoslo Musring uno y ahora quiero llamarlo a esto Mi color favorito. Ahora en lugar de imprimir, juntando esos dos en el primero, ahora los he puesto en sus propias variables separadas, y ahora los voy a concatenar en la declaración print como les mostré antes Bien, ahora, aquí, de nuevo, notarás que no pone en ese espacio para ti. Entonces, si quieres un espacio, es bastante sencillo. Usted acaba de poner en su propio. Obviamente, un espacio es solo una cuerda con. Acabo de hacer clic en la barra espaciadora ahí y la agregué entre ellas y la volví a imprimir, y ahora la tengo en un centro de aspecto más correcto Entonces, esencialmente, lo que hemos hecho es que hemos sumado dos variables que hemos creado, MyString y MyString one, que son ambas variables de cadena, y hemos creado una pieza de texto, una pieza de cadena que estamos agregando como parte de Entonces mientras estos sean todos lo mismo, donde se va a enfadar es si empiezas a mezclar las cosas, ahora estamos tratando de agregar lo que no es una cadena a una cadena. Eso es un entero. Aquí abajo, verás error de tipo. No muy contento con lo que has hecho. Algo malo, no lo hagas. Esto no es una cadena. Debe ser una cuerda, e incluso te dice ahí. Así que mantén juntos los mismos tipos de datos y la vida será feliz. Con cadenas, todo lo que puedes hacer en realidad es sumar, lo que dijimos se llamaba concatenación No se puede restar, multiplicar o dividir porque eso realmente no tiene sentido Qué es M menos el color favorito. Eso no tiene sentido. Bien, entonces con cadenas, puedes usar suma con números, puedes volverte salvaje y usar cualquiera de esos diferentes operadores. Entonces antes de donde te mostramos aquí, tratando de agregar este número nueve a una cadena, viste que obtuvimos un error. Así que de nuevo, obviamente, bueno, tal vez no obviamente, pero si hicimos esto un número entero en su lugar o un número, llamémoslo Mt y digamos que es igual a 14. Ahora en esta declaración impresa, si ahora fuimos M Int, más cinco y decidimos imprimir eso, no nos va a dar un error porque Python se ha dado cuenta de que este valor aquí es un número. Este valor aquí con el que estamos sumando es un número, así que sí, puedo hacer esto. Pero si este cambio a mi cadena, como vimos antes, ahora se evalúa esto primero como azul, como lo hemos definido aquí arriba, y el segundo, se evalúa como entero o como número. Ahora nos lo ha dicho, ¿cómo puedo añadir una cadena a un número? Eso es imposible y nos va a dar un error. Correcto, por lo que es una breve introducción a los distintos operadores. vamos a estar usando mucho. Puedes familiarizarte bastante con ellos a medida que avanzamos. Pero como ves, no son tan difíciles. No es tan diferente a lo que hubieras aprendido solo en tus matemáticas de vuelta a la escuela Entonces eso son los operadores, y diviértanse un poco, jueguen con ellos. Y mientras mantengas a tus operadores todos al mismo tiempo, la vida será buena. 91. Cómo ser interactivo: un poco de entrada: Ahora vamos a ver algo que te permita hacer tu programación un poco más emocionante y casi un poco más personal para tu usuario. Porque por el momento, quiero decir, hemos estado usando print, pero, ya sabes, eso es como cuando todo es output. Necesitamos algunos. Entrada. Entrada. Así que sigamos adelante y miremos Input. Ya sabes, conoces a esas personas que son todas solo platicas, nunca te dan un momento. Sí, bueno, de eso se trata de lo que han sido las impresiones. Sólo habla, habla, habla. Es hora de que consigas alguna entrada. Bien, así que por suerte con Python, nos lo han hecho muy fácil. Así que mucho antes de que lo tuviéramos, vamos a poner en una declaración impresa. Imprimir, hola. Ahora podemos usar Input. Entonces nuevamente, solo tecleamos input. Y ahora, básicamente, lo que sea que pongas dentro estos soportes es en realidad lo que se va a imprimir en la pantalla. Entonces es casi como si estuvieras haciendo una pregunta. Bien, así que preguntemos al usuario cuál es su nombre. Entonces, ¿cuál es tu nombre? Sí, ¿cuál es tu nombre? Bien, entonces ahora es como dije, lo que sea que pongas aquí es la pregunta, y te da ahora este pequeño cursor parpadeante, lo que significa que puedes escribir dentro del caparazón ahora. Entonces mi nombre es Sarah. Y luego simplemente fui e imprimí lo que sea que escriba el usuario. Así que vamos a ejecutarlo de nuevo e imprimir otra cosa, cuál es tu nombre, Craig. Y simplemente se ha ido adelante e imprimió a Craig. Entonces eso no es demasiado emocionante, pero quiero decir, es tomar lo que el usuario ha escrito, y lo ha leído y ahora sabe que el nombre del usuario es Craig Sí, Path es bastante feliz. Pero no sólo queremos leer un nombre y dejar que se reimprima. De hecho queremos hacer algo con esto. Sí, tenemos que guardarlo en alguna parte. Entonces, ¿cómo se llaman esas cosas? Esas variables. Sí, exactamente. ¿Eres estas variables que son una buena razón para existir? ¿No solo para guardar zapatos y autos y turcos? Lo es, y he guardado mi nombre. He guardado esto bien, he guardado la respuesta a esta pregunta dentro de la variable, mi nombre. Entonces podría ser un poco confuso. Se pensaría que esto está almacenando todo esto Input. ¿Cuál es tu nombre? Pero mi nombre no está almacenando esto. Se trata de almacenar cualquier tipo de usuario. Entonces otra vez, ya verás, ¿cuál es tu nombre si luego voy y escribo Sarah? No va a hacer nada, pero lo que Parton realmente ha hecho es que ha tomado este valor Sarah como cadena y lo ha guardado dentro de mi nombre Entonces podríamos echar un vistazo dentro esa variable de mi nombre y tener un pequeño apretón y ver qué hay almacenado ahí dentro Entonces, usando nuestra declaración impresa, ahora queremos imprimir mi nombre. Y mira lo que en realidad está almacenando. Hagamos un nombre diferente. Molly. Bien, vamos a hacer Molly. Eso es genial. Ahora, sin cambiar el código real del programa, podemos seguir ejecutando este programa y escribiendo nuevas entradas, y esas se están almacenando. Para que puedas ver de inmediato lo que está pasando ahora. El código ya no necesita cambiar . Eso sigue siendo lo mismo. Esa variable está sosteniendo un valor, y así el usuario puede ingresar ese valor y se almacena en esa variable. Aquí es donde ahora comienza a entrar el poder de las variables porque podemos ingresar cosas en ellas, o el usuario puede ingresar valores en la variable. Entonces, digamos que estabas creando un juego y muchos juegos podrían pedirte que ingreses tu nombre. Pueden hacer que el juego te parezca un poco más personalizado. Digamos que pediste el nombre de usuario y luego quieres saludarles. Recuerda, es el hola y luego si quieres agregar algo nuevo a la declaración impresa, solo pones esa coma Ahora, ¿cuál es tu nombre? Danny, te va a decir Hola, Danny. Entonces se tomó lo que sea que ese usuario haya escrito, lo almacenó en esta variable, mi nombre y lo imprimió aquí Y recuerda, lo que sea que el usuario escriba aquí se toma como una cadena. Entonces aunque hubiera ido y mecanografiado mi nombre como ocho, dice hola ocho, pero esto no es un número. Esto es una cadena. Cualquier cosa que el usuario ingrese es tomada por Python como una cadena. Puedes divertirte tanto aquí. Quieres divertirte un poco. Quieres hacerte sentir bien. Haz esto. Simplemente haz un pequeño cambio. Y luego pulsa Ejecutar, escribe tu nombre y pulsa Enter. Oh, me siento tan fantástica. Y vas a seguir corriendo una y otra y otra vez y hacernos sentir bien. ¿No es increíble la programación? Te hace sentir bien con esto. Se puede hacer casi cualquier cosa. Bien. Entonces eso fue insumo. Un rápido vistazo a él. También es algo muy poderoso. Lo estaremos usando mucho después. Y sí, adelante, diviértete un poco más con él, prueba cosas diferentes e inicia el programa. 92. Resumen: Hecho, bien hecho. Has llegado al final de la sección. Hemos hecho mucho en esta sección. Entonces aquí tienes un pequeño resumen solo para ayudarte a recordar, empezamos con variables, y las variables son esas cosas que básicamente es un opuesto a una constante. Una constante es algo que puede cambiar. Una variable es algo que puede cambiar. Y una variable es un contenedor donde se puede almacenar algo. Entonces, si tuvieras una variable llamada mi variable y otra sección hecha, eso es básicamente solo un contenedor. Hemos almacenado ese trozo de texto o lo que se llama cadena en una variable. Y así eso fue lo primero que hicimos en la importancia de las variables. Entonces nos fijamos en los tipos de datos. Ahora bien, no todas las variables son iguales de crédito. Nosotros acabamos de decir, por ejemplo, no guardas el pavo en la alacena, no guardas el auto en tu estantería Bueno, lo mismo se aplica a las variables y tipos de datos. Entonces puedes tener una variable que sea un entero como mi edad. Bueno, ahí vamos. Cerca de 103. Ese es un tipo de datos entero. Y obtienes diferentes tipos de tipos de datos. Obtiene tipos de datos de cadena, obtiene tipos de datos booleanos y una amplia gama de tipos diferentes Entonces, al poner 103 en comas invertidas, de repente mi edad es en realidad una cadena, y miramos lo importante que era tener cuidado con tus tipos de datos, especialmente si empiezas a intentar mezclarlos No los mezcles. Entonces estamos mirando a los operadores. Operadores, todas esas pequeñas cosas que se sientan entre números o entre variables o incluso entre cadenas. Entonces podemos usar operadores para sumar cosas, para multiplicar las cosas por cosas divinas. Entonces, si hubiéramos creado una variable que es una variable entera llamada Menna dis four, podemos sumar dos variables juntas Entonces conseguimos mi edad más, mi final, 103 más cuatro, y es 107. Quizá podríamos dividirlos. Entonces recordamos que teníamos el letrero de división, Ford slash, y nos dio algo diferente, 25.75 E incluso había otros, si pudieras recordar, teníamos algunos realmente divertidos que podríamos incluir que solo te mostrarían la base de tu división y no ninguno de los restos y así sucesivamente Entonces esos eran operadores. Después seguimos adelante y miramos a Input. Queríamos que nuestros programas platicaran para que nos involucraran. Y aquí es donde empieza a entrar el poder de la programación, y aquí es donde todo esto se unió porque estas variables son contenedores que albergan cosas. Pero obviamente, no podemos tener a la persona que usa el programa entrando y cambiando en el código, las variables. Entonces queremos tener un prompt. Queremos hacerles una pregunta, y queremos que el resultado de su respuesta a esa pregunta se almacene potencialmente en una variable. Por ejemplo, si creamos una variable llamada terminada y ahora queríamos hacerles una pregunta o decirles, bien hecho. ¿Estás contento, etcétera, entonces usaríamos el comando Input Y así entonces se les incitaría a insuflar, bien hecho. ¿Estás contento, y entonces podría exhibirse. Obviamente podríamos optar por luego imprimir esa variable terminada y luego imprimiría lo que estaba almacenado dentro de esa variable. Entonces, usar Input con variables ahora abre todo un mundo de oportunidades y posibilidades. Aquí es donde la codificación realmente se vuelve emocionante. Entonces sí, ya estamos todos terminados. Ya terminamos esta sección, bien hecho. Has logrado un gran paso siguiente y ahora estás pasando a donde vamos a meternos en algunas cosas realmente, realmente emocionantes. Puedes ver que los huesos y los fundamentos de tus programas se están uniendo. Pero se trata de practicar, pruébalo por ti mismo una y otra y otra vez, haz que sea como tu segundo idioma. No olvides que hay preguntas y cuestionarios al final de la sección, asegúrate de hacerlos Obviamente, cuanto más intentes y cuanto más practiques, mejor te volverás haciendo las preguntas realmente te ayuda a recordar y probar por ti mismo las diferentes cosas que hemos estado mostrando. 93. Por qué todos necesitamos listas: Quieres mirar listas. Yo es algo con lo que todos tenemos que lidiar en la vida, ya sabes lo que es. Tenemos listas y listas, y tenemos listas sobre listas. Y sí, vamos a comprar el pan, la leche, y lo que sea que sea, los huevos. Entonces, ¿qué es una lista? Bueno, obviamente, una lista es simplemente un arreglo de artículos que tienen algún vínculo entre sí. Ahora bien, no hace lío. Quieres decir que tienen que ser los mismos huevos y la leche no son exactamente lo mismo, pero todos forman parte de una lista de compras, o puedes tener una lista de calificaciones de estudiantes o lo que sea. Entonces es algún tipo de arreglo, y normalmente porque pertenecen juntos, quiere trabajar con ellos juntos. Entonces aquí es donde las listas son realmente importantes. Entonces en lugar de tener variables separadas. Entonces quieres tener variables para almacenar los nombres de tus alumnos. Podrías tener mi nombre uno, dos, tres, cuatro, cinco, pero todos son nombres, y todos tienen que ver con nuestros alumnos. A lo mejor lo que sería mejor es si pudieras tenerlos todos en una sola lista. Y así las listas son un espacio especial donde puedes almacenar muchas cosas juntas que tienen alguna relación. Entonces eso es lo que vamos a echar un vistazo en esta sección es cómo puedes crear listas como un tipo de variable especial, y luego cómo puedes trabajar con listas porque realmente hacen la vida mucho más fácil como lo hacen para nosotros en la vida normal. Veamos las listas. 94. Creación de tu propia lista: Ahora que ya has tenido el intento de enumerar, veamos cómo podemos usarlos y dónde los usaremos realmente. Empecemos por crear una lista. Digamos, queremos almacenar una lista de todos los amigos a los que quieres invitar a una fiesta. Podríamos hacer lo que hacíamos antes y decir tal vez amigo uno como variable, y vamos a llamar esa amiga Mary y luego ir amiga dos. Pero puedes ver que esto puede empezar a ser un poco repetitivo sobre todo si tienes muchos amigos, amigos tres, amigo cuatro, y vas a seguir teniendo que agregarlos todos a tu lista así Y se va a poner un poco desordenado tener que lidiar con todas esas variables diferentes Esencialmente, todos pertenecen a una lista. Son tus amigos de la fiesta. Bien, así que vamos en lugar de seguir y seguir y escribir cinco, 20 variables diferentes, vamos a almacenarlas en un solo lugar. Entonces, para crear una lista, llamemos a esta lista amigos. Todo lo que tienes que hacer es poner estos dos corchetes. Entonces ahora en realidad tengo una lista. Es una lista vacía. No está almacenando nada, pero Python ahora ve esto como una lista. Bien, entonces en realidad es un tipo especial de datos. Entonces esto es ahora que realmente has creado, ves que es distinto de solo ser un entero o una cadena. Este es en realidad un tipo de lista con el que ahora puedes trabajar. Entonces comencemos a almacenar esos amigos en nuestra lista. Ahora, recuerden, estos son nombres, así que los vamos a almacenar todos como cadenas y para almacenar una cadena, usamos comas invertidas Ahora, para separar los diferentes nombres, usamos comas. Entonces primer nombre, Mary, próxima amiga. Bien, vamos otra vez con Fred. Pongamos mi nombre aquí. Podemos ser amigos. Bien, puedes continuar todo el tiempo que quieras. Vamos. Un nombre más. Charlie. Bien, entonces aquí hay una lista de cuatro amigos. Nuevamente, si imprimimos esto, no va a mostrar nada. Pero lo que Python ha hecho es que tomado esta lista, Mary Fred, Sarah, Charlie, y se ha guardado todo eso dentro de esta variable llamada friends. Así que ahora primero vamos imprimirlo solo para asegurarnos de que eso es lo que está haciendo. Imprime la variable amigos. Y ahí ves, se guarda como una lista. No es una cuerda. No los ha almacenado a todos como una sola oración en su interior. No, en realidad se puede ver cada una de las comas invertidas. Sí, cada uno de ellos tiene un pequeño conjunto de comas invertidas a su alrededor indicando que cada uno de ellos es una cadena individual, por lo que ve como cuatro nombres separados Bien, entonces ahora tenemos estos en una lista, pero ahora digamos que quiero enviarle una invitación a Sarah. ¿Cómo puedo decir ahora que quiero enviársela a Sarah? Entonces lo que vamos a hacer es en todos los lenguajes de programación, tenemos algo llamado indexación. Lo que eso básicamente significa es que cada elemento nuestra lista tiene un número específico asociado a él. Entonces ahora, pensarías que si tuviera que preguntarte qué número de la lista es Sara, te vas a ir, Oh, eso es fácil. María de Sarah, Fred, Sarah. Sarah tiene tres, pero te equivocarías. Mal. Las computadoras son solo un poco diferentes. Como dijimos antes. Las computadoras pueden parecer un poco confusas para las personas que no saben nada de ellas, pero en cuanto empiezas a aprender la forma en que trabajan, su idioma, realmente tiene mucho más sentido y es muy simple. Entonces, ¿qué necesitas recordar con las computadoras el conteo comienza desde cero Entonces aquí, en vez de ir uno, dos, tres, cuatro, cinco, lo que sea, vamos cero, uno, dos, tres. Entonces donde podrías haber pensado antes, Sara sería la número tres en la lista, realidad está indexada dos Digamos ahora que quiero poder imprimir ese nombre, Sarah. No quiero ninguno de los otros nombres. Yo sólo quiero a Sarah. Para sacar ese nombre, usamos lo que dije antes, la indexación. De nuevo, esto puede parecer un poco confuso, pero estamos usando corchetes nuevamente. Quizás una manera fácil de recordarlo es si quiero llamar a un número de la lista, estoy usando los mismos corchetes, pero no necesariamente significa lo mismo en absoluto. Esto significa que quieres llamar a ese número. Lo que he escrito aquí, he escrito el nombre de una lista, amigos y estoy diciendo que quiero índice dos de esa Posición índice número dos, así que cero, uno, dos, y abajo abajo aquí, ya ves, encontramos a Sarah. Entonces, si intentamos cero, queríamos a Mary, en realidad usaríamos Zerra Ahí vamos al fondo, se sacó a Mary. Bien, entonces, ¿qué pasa si ponemos cinco? Buena pregunta. Esa es una buena pregunta. Ahí vamos. No feliz. Lo verás por la parte inferior ahí. Te ha dado un error de índice. El índice de la lista está fuera de rango obviamente porque no hay una posición cinco o un valor en la posición cinco en tu lista. Y obviamente, lo mismo con los negativos. Pero en realidad se quejó de esos cinco porque sólo hay cuatro elementos diferentes en esta lista, y sólo sube al índice tres Bien, así que de nuevo, en vez de ahora tener que escribir hola, co amigo uno, hola, coma amigo dos, podemos cambiar fácilmente ese número y digamos que estás invitado. Y queríamos invitar a Charlie y no olvidar esa coma Bien. Y entonces podrías hacerlo con los demás. Y en realidad vamos a más adelante mirar algo llamado loops, lo que hace que esto sea aún más potente. Entonces, como puedes ver, lentamente, las cosas empiezan a complicarse cada vez más, ya que tus programas empiezan a alargarse cada vez más y eventualmente vas a tener programas que pueden tener miles de líneas de largo. Queremos intentar hacer un seguimiento de lo que estamos haciendo. cuando bajes en la línea 373, podrías desplazarte hacia atrás a la línea cuatro y no tener idea de lo que estabas escribiendo allí. Para ayudarnos como programadores y también ayudar a otras personas cuando puedan leer tu código o tratar de entender lo que has estado haciendo, tenemos algo llamado comentarios Todos nuestros comentarios es muy sencillo. Es un hash tag y lo que quieras. Bien, ahora este hola hashtag hola. Lo que básicamente hace Python es que ignora por completo esto. Entonces los comentarios son para ti mismo. Es para ayudarte. Python, cuando ejecuta el programa, ni siquiera ve esto. Entonces, cualquier cosa después de ese hashtag, ignora por completo. Puedes tener un espacio y decir, lo que sea. Por lo que el punto de comentar es muy importante. Como dijo Sarah. Muchos programadores piensan, Oh, sólo van a apresurarse y codificar. Pero entienda esto. Aunque alguien más no tenga que mirar tu código, si vas a mirar el código de otra persona y no lo han comentado, no tienes idea de lo que han hecho. Pero incluso tú mismo, vuelves una semana o un mes después y miras tu código y no puedes recordar por qué hiciste ciertas cosas. Por lo que es muy importante. Es un buen hábito entrar para empezar a agregar comentarios. Puedes agregar comentarios en línea. Puedes agregar comentarios en su propia línea, así que quizás quieras decir, ya sabes, el código de abajo aquí es donde estamos imprimiendo los nombres de los amigos, etcétera Realmente importante poner tantos comentarios como puedas solo para recordarte a ti mismo y los demás que están leyendo el código lo que está pasando. Es un buen hábito, acostúmbrate. Estarás muy agradecido si pones comentarios porque tienes la garantía de que volverás más tarde, y te vas a ir, ¿Qué en el mundo estaba haciendo? 95. Cómo trabajar con listas: Que sepamos crear lista, empecemos a hacer algunas cosas más complicadas y más emocionantes. Entonces ahora que tenemos esta lista llamada amigos , a lo mejor ya no queremos invitar, digamos que ya no queremos invitar a Sarah a la fiesta y queremos cambiar este valor. Queremos que sea dinámico en este momento, es una lista estática que se ha establecido en el programa. Tan dinámico significa que podemos cambiar los valores dentro de esta lista llamada amigos. Vamos a Austin. ¿Qué comando crees que vas a usar para permitir al usuario cambiar el valor que se almacena dentro de esta lista? Lo siento. ¿Qué dijiste? No, no puedo aquí. Vas a tener que callarte. Entiende que estamos a kilómetros de ti. ¿Qué dijiste? Dijaste, creo que escuché Input. Bien hecho. Eso es exactamente. Eso es. Definitivamente he estado escuchando. Bien, entonces primero antes de pedirle al usuario que ingrese el nombre, vamos a tener que decirle a nuestra lista amigos qué valor queremos cambiar. Entonces es bastante similar a lo que hacíamos antes. Usando la indexación, como decíamos, queríamos cambiar este valor, Sara, que era index, ojalá recuerdes dos. Índice dos. Sara uno, dos. Queremos cambiar ya no a Sara pero digamos, mi papá me reemplazó y queremos verificar que la lista haya cambiado realmente, así que queremos luego imprimir esa lista. Tal vez para verificar realmente que definitivamente cambió. Queremos primero imprimir cuál era la lista antes de cambiar el valor y luego imprimir cuál era la lista después de que cambiamos el valor. La primera línea que imprima va a ser la lista anterior, la segunda línea, la lista después. Ya ves que el primero fue lo que enseñamos aquí, entonces decidimos que no, ya no queremos a Sara. Cambiemos ese valor a Craig. Simplemente cambió ese valor, Sara a ser Craig. Pero tal vez queremos hacerlo más emocionante y como decíamos antes, queremos que el usuario ingrese a quién quiere que venga. Así que en vez de decidir que queremos que igual a amigo, vamos a preguntar, de nuevo, al usuario, y como tú tan hábilmente recordado antes, usamos Input Ahora sólo vamos a escribir un prompt. Esta es la parte que viene en el comercio invertido haciéndole la pregunta al usuario, escriba el nombre de un amigo. ¿Dónde va a guardarse el nombre de este amigo? Se va a almacenar en la lista en la posición dos. Para que podamos ver la lista cómo se ve en estos momentos. Mary Fred, Sarah Charlie, y vamos a probar Claire ahí vamos. Ahora, Mary, Fred Clare y Charlie. El usuario ahora realmente está ingresando un valor, pero se está almacenando en una posición dentro de la lista Recuerda, si esto cambiamos a cuatro y les pedimos que tipeen y vamos a ir lo mismo. ¿Qué crees que va a pasar? Vas a obtener un error porque no hay posición cuatro en esa lista. Tenemos 01, dos, tres, Charlie es el último en esa posición. Sólo se puede cambiar lo que ya está en la lista. Entonces esas son listas. Te estás haciendo una idea justa. Y nuevamente, se trata de una herramienta muy importante, tipo variable muy importante, en cierto sentido, que puedes usar y manipular y se vuelven muy potentes cuando miramos más adelante a los bucles porque ahora puedes correr alrededor de un bucle una lista y llenarla muy rápidamente o imprimirla. Entonces son realmente útiles, puedes divertirte mucho. Así que diviértete un poco. Juega con tus listas. Ellos son una parte importante de la organización. 96. Esta es una lista sólida: A veces en la vida, hay listas que no quieres cambiar. A lo mejor es una lista de tus personas favoritas. A lo mejor es una lista de tus restaurantes favoritos. A lo mejor es una lista de tus películas favoritas, cualquiera que sea. A veces las listas no deberían cambiar. Ahora por el momento, puedes ver que nuestra lista puede cambiar muy fácil y es muy útil, y hay muchas razones por las que queremos hacer eso. Pero, ¿y si no queremos que nuestra lista cambie independientemente? Bien, en Python, esa lista que no puede cambiar es llamada o tupla. La gente lo pronuncia de otra manera. Voy a ir con tupla. Tupla porque eso responde tupla. Sí. Más fácil de recordar. Bien, entonces esta lista inmutada es en realidad bastante fácil de cambiar de una lista cambiante Entonces para hacer de esto una tupla, todo lo que estoy haciendo es poner entre corchetes en lugar de corchetes Ahora bien, lo que esto significa, esto significa que pase lo que pase, no puedo cambiar esta lista. No puedo añadir un nombre, no puedo cambiar un nombre. Bueno, una vez que se crea, es una lista sólida. Entonces esa gente viene a la fiesta, son mejores amigos. Entonces, antes de que este programa sea exactamente el mismo que lo teníamos antes, cambiamos este nombre Sarah por el nombre que el usuario lo ingresó. Ahora vamos a intentarlo de nuevo, ejecutar el mismo programa, pero ahora usando un tupple Entonces volvamos a escribir a Clare. Y de inmediato, te va a dar un error diciendo que el objeto tupla no admite Entonces, lo que eso significa es básicamente en términos simples, la lista no se puede cambiar. Eso es lo que significa en inglés. ¿No es hermoso el objeto tupla no admite la asignación de artículos En inglés, significa que no puedes cambiar esta lista, amigo. Es una lista sólida y atascada. La razón por la que querrías hacer esto es básicamente para evitar cometer errores tontos. Entonces si hubiera tenido esto como una lista con los corchetes, pero no quería cambiarlo. Era algo que era importante. Fue algo que permaneció igual durante todo el programa, y de alguna manera cometí un error tonto y un artículo sí se cambió y ejecutas tu programa y de repente no está haciendo lo que querías hacer y no entiendes por qué. El motivo es porque se cambió algo que no estaba destinado a cambiar. Si al principio lo hubiera definido como una tupla, entonces en cuanto trato de cambiarlo algún lugar tarde en el programa, no me dejaría Tiraría esa flecha diciendo, perdón, no se puede cambiar esto. Ejemplo clásico sería que quisieras crear una lista que tuviera los meses del año. En lo que va de enero de marzo, no cambian. Siempre los mismos meses del año. Eso se crearía más que solo como una lista, sino como una tupla Y así entonces podrías imprimir fácilmente el mes 12, meses, 11, etcétera, haciendo referencia al artículo correcto en la Bien, así que eso fue tuplas, y son listas sólidas. Listas sólidas. 97. Resumen: Derecha resumen rápido de lo que hemos cubierto en esta sección. Hemos cubierto listas y por qué tienes listas y esto es muy importante para la vida. Y miramos cómo puedes crear una lista simplemente definiendo cualquiera que sea tu nombre de lista y luego entre corchetes enumerando todos los elementos que van a estar en esa lista. Puedes imprimir tu lista y acceder a la lista simplemente usando número de índice, recordarlo siempre comienza en cero, por qué necesitamos lista es cero, uno, dos y tres, y es así de simple. Y así cuando ejecutamos eso, producimos una lista de lo que hay dentro de la lista. Así que la lista es realmente genial. También miramos tuplas. Las tuplas son exactamente iguales. Todo lo que hacemos es si cambiamos de los corchetes a los corchetes de curva, de repente, esa lista no puede cambiar. En este ejemplo, todo va a seguir igual ya que no estamos tratando de cambiar nada, pero esa lista te dará un error de asignación si intentas cambiar algo en ella después. Entonces eso son listas y tuplas. Son una forma muy conveniente de almacenar cosas que son similares y necesitan ser trabajadas en grupos, como decíamos, una lista de amigos y tal vez sean meses del año o tal vez sean valores de tabla de impuestos, sea lo que sea, almacenarlos en una lista es muy poderoso. Veremos más adelante cómo puedes usarlos. Entonces esa es la lista, y te dejamos a ti la lista de todas tus necesidades y deseos y que te diviertas tanto como puedas programando en Python. 98. Es importante tomar decisiones: Decisiones, decisiones, decisiones. La vida está llena de decisiones. ¿Qué vas a estudiar? ¿Qué trabajo vas a tomar? ¿Con quién te vas a casar? ¿Qué auto vas a comprar? ¿Vas a conseguir las verduras o el chocolate? Sí, decisiones de decisión. Y las decisiones también son muy importantes a la hora de codificar, porque así es como porque así es como tantas cosas operan así más grandes que eso, es lo mismo que eso, y necesitamos tener decisiones. De hecho, un área entera, lo que se llama diagramas de flujo, a menudo se usa para tratar de definir y decidir y dejar claro cómo funciona la lógica de su programa. ¿Funciona la lámpara? No. Bueno, ¿está enchufado? No, entonces enchúfelo. Sí, está enchufado. Entonces tenemos diagramas de flujo para tratar de elaborar decisiones. Ahora, obviamente, pueden llegar a ser cada más complejos estos diagramas medida que se tienen que tomar más y más decisiones Entonces, en esta sección, queremos echar un vistazo a un comando especial, que es la declaración I y partes relacionadas con ella, la declaración IL que te ayude a trabajar a través de decisiones y te ayude a tomar decisiones en Python. Entonces ahora nuestros programas van a comenzar a subir al siguiente nivel y ponerse bastante emocionantes porque aquí es donde empezamos a ver cómo podemos usar el poder de todo lo que hemos estado haciendo, todas las declaraciones, todas las variables, o los operadores, y llevarlos al siguiente nivel usando la decisión. Así que vayamos a Python y veamos qué podemos hacer con las decisiones. 99. If: una palabra pequeña con grandes implicaciones: Entonces hemos mirado la importancia de las decisiones en la vida. Ahora para implementar esto en Python, y Python implementa decisiones y te da la capacidad de tomar decisiones usando lo que se llama la declaración if. Entonces echemos un vistazo a cómo podemos usar la declaración if para tomar decisiones útiles y decisiones interesantes dentro de Python. Si las declaraciones son una parte fundamental muy importante de la programación. Constantemente a lo largo de tu carrera de programación, encontrarás que los estarás usando mucho y realmente son muy útiles. Básicamente, lo que hacen es que te permitan decidir qué camino tomar en base a cosas anteriores que puedan haber sucedido y en base a condiciones que pueden ser verdaderas o falsas. Ojalá tenga más sentido para ti si te doy un ejemplo. La sintaxis básica de una sentencia if se ve así. Entonces comenzamos con una F. Entonces tenemos una variable que queremos verificar si esta variable es verdadera o falsa. Así que en realidad probablemente debería crear esa variable primero, así que tiene un poco más de sentido. Tenemos una variable. Hagamos de esto nuestra edad. Entonces digamos que tenemos 16. Bien. Ahora, queremos escribir un programa que nos pueda decir si esta persona puede conducir en función de su edad. Entonces en nuestro país, la edad a la que puedes conducir es de 18 años. Entonces para comprobar si mi variable de edad tiene la edad suficiente para que la persona pueda conducir, lo que vamos a hacer es que vamos a usar esta declaración I. Entonces la sintaxis es si entonces la variable que queremos comprobar, entonces ahora queremos comprobar si esta variable de mi edad es menor o igual a la unidad de límite de edad en nuestro país. Entonces como dije, ese límite de edad era de 18 años. Entonces lo que verán es que pongo en este pequeño pozo, estos pequeños símbolos de aquí. Y lo que significan estos símbolos es, si mi edad es menor de 18 años, entonces algo va a pasar. Bien, así que básicamente, hay muchos operadores condicionales diferentes que podemos usar. Entonces, lo que ves aquí es que este tipo de te muestra cuál es el camino y el símbolo y lo que significa en matemáticas porque estos símbolos deberían ser bastante familiares para ti si has hecho algún tipo de matemáticas. Básicamente calificas. Básicamente. Esta es la misma. Menos significa menos que mayor de lo que es mayor, entonces entonces realmente no tenemos esta codificación. En lugar de poner este signo igual debajo así, vamos menos o iguales entonces, igual, mayor que igual a. Entonces si quieres verificar si dos variables son iguales entre sí, no usamos un signo igual, sino que usamos doble así. A menudo ese es otro error que cometen los programadores cuando intentan aprender por primera vez Podría poner solo uno en lugar de dos. Pero repasaremos ejemplos y te daremos preguntas donde podrías usar estos para que todos se vuelvan más familiares. Entonces, por último, teníamos éste para comprobar si algo no es igual a algo. Entonces volviendo a nuestro código, continuemos. Si mi edad, que es mi variable de edad aquí arriba es menor y no igual a 18, entonces queremos imprimir algo al usuario. Entonces vamos a imprimir digamos, lo siento, no lo suficientemente mayor para conducir. Bien, así que vamos a ejecutar esto y ver qué hace hasta ahora. Bien, entonces lo que nuestro programa básicamente ha hecho es que se ha ido a esta primera línea. Se ha hecho que mi edad sea igual a 16. Entonces está probando. ¿Este valor es mi edad, que es 16, menor que igual a 18? Sí, lo es. Esto se evalúa como verdadero. Entonces está imprimiendo, lo siento, no tiene la edad suficiente para conducir. Ahora, cambiemos este valor a un número mayor que 18. Vamos a hacerlo 19. Como pueden ver, no pasa nada porque ya ha entrado el programa. Está comprobado está elicinando no así que no imprime esto y va, Ahora bien, lo que quizás hayas notado, que en realidad no mencioné al principio es esta sangría aquí En cuanto haga clic en Entrar, en esta línea. Yo me llevé a la siguiente línea, pero dejó esta sangría Ahora bien, esa sangría es realmente muy importante. Bien, entonces la sangría es sumamente importante. Como señaló Sarah, todo lo que se sangraba es parte de que la condición sea verdad Ahora mira lo que pasa si quitamos la sangría. Por el momento, si Sarah golpea a correr, veremos que sí, no va a pasar nada. Entonces bajemos esa edad para que quede por debajo de los 18. Y deberíamos imprimir esas dos líneas. Ahí lo hace. Lo siento, no tienes la edad suficiente para conducir. Algún día, lo estarás. Eso es porque esas dos líneas han sido evaluadas verdaderas y así son parte de esa condición y ambas imprimieron. Ahora, veamos qué pasa si nos movemos y nos metemos con la sangría Entonces vamos a tirar de ese segundo hacia atrás, y sigue pareciendo, Bueno, bien si mi edad es menor que igual a 18, lo que hace, debería hacer esas dos líneas. Bueno, echemos un vistazo y veamos qué pasa ahora. Bien, sigue imprimiendo las dos líneas, así que podríamos pensar, bueno, todo está bien. Ahora, ahí no hay problema. Imprimió las dos líneas tal como cabría esperar. Bien, ahora vamos a cambiar la edad para que sea mayor a 18. Entonces ahora no debería imprimir ninguna de esas líneas porque la condición no es cierta. Pero oh, no, mira ahí, está impresa esa línea. Algún día, lo estarás. Entonces lo que ha pasado es esencialmente, es verificar si la edad es menor a 18 años, y si es cierto, imprime esa línea. Lo siento, no tienes la edad suficiente. Si tiene más de 18 años, no imprimirá esa línea, pero de cualquier manera, siempre imprimirá la línea número cuatro, porque ya no hay parte de la condición if. Por eso es muy importante que uses la sangría Si no tiene sangría, no se considerará parte de la condición if Por lo que es muy importante mantener esa sangría. Otra razón por la que también quieres mantener la sangría, ayuda a que todo sea lógico A medida que tus programas se hacen cada vez más largos, hablamos antes sobre el uso de comentarios, pero también la sangría te ayuda a dar sentido a lo que está pasando Como veremos más adelante, vamos a tener ifs y más ifs y ifs y ss y se puede involucrar bastante Haciendo esto un poco más interesante, ahora vamos a imprimir algo si esta persona es mayor de 18 años. Entonces te vas a ir, si mi edad es mayor a 18. Bien, sólo vamos a imprimir. Sí. Bien, entonces todo esto ahora va a hacer es que tenemos dos declaraciones if, que básicamente esta está casi bien, está haciendo el mismo tipo de cosas que la anterior, pero excepto que ahora tenemos una condición diferente. Entonces ahora cuando programo peroratas , tengo mi edad igual a 19 Primero va a comprobarlo. ¿Bien? ¿Es menor que igual a 18? No, no lo es. Así que ignora todo este código que ha sido sangrado. Y ve a buscar el siguiente código que no esté sangría, entonces va a venir aquí ¿Es mayor que 18? Oh, sí, lo es. Entonces veamos qué pasa, obviamente va a luego imprimir esta declaración por aquí. Realmente puedes tener tantas declaraciones if como quieras, pero lo que te estaremos explicando más adelante es que esta no es realmente una forma muy eficiente codificar y hay formas mucho mejores de hacerlo en lugar de tener múltiples declaraciones if, pero lo estaremos viendo en nuestra siguiente lección. Entonces en este momento, todo lo que tienes que entender es el concepto de un si, cómo puedes tener una variable. Puedes tener un operador condicional aquí mientras miramos los diversos, y luego mientras todo esté sangrado, si eso se evalúa como verdadero, si eso se evalúa como verdadero, entonces todo lo que esté sangría debajo de él será ejecutado entonces Entonces esa es nuestra declaración if. Una declaración muy poderosa nos ayuda a tomar decisiones y ramificar en nuestro código Y veamos a dónde podemos llevar esto en la siguiente lección. 100. Si - de otro modo - por qué las alternativas son buenas: Mirando la declaración if y hemos visto cómo podemos usar múltiples declaraciones para hacer evaluaciones. Pero con solo mirar esto, hay algo sospechosamente, no al 100% aquí mismo. Mencionamos que en nuestro país, la edad de manejo es de 18 años. Ahora bien, aquí es donde existe la necesidad de lógica en tu programación. Si nos fijamos en esas dos condiciones. Si mi edad es menor o igual a 18, imprime lo siento, no tienes la edad suficiente para conducir, y entonces si mi edad es mayor a 18, sí, puedes manejar. ¿Se puede detectar cuál es el problema si la edad oficial de manejo en nuestro país es de 18 años? Sarah, ¿cuál es el problema? Ojalá, lograste detectarlo, pero básicamente todo va perfectamente bien. Pero como mi papá mencionó antes, en realidad esto es solo un error lógico. Entonces lo que realmente queríamos es que quisiéramos si mi g es menor a 80, no podemos conducir, pero si tienes 18, puedes. Entonces esto debería convertirse entonces si mi H es mayor que igual a 18. Entonces estos errores de lógica que a menudo son más complicados de encontrar. hemos mostrado si te equivocas con la sintaxis de algo, va a detectarlo. Entonces digamos, por ejemplo, nos olvidamos de poner las comas invertidas ahí, lo ejecutamos, e inmediatamente podemos ver en la parte inferior aquí, error de sintaxis, y te está diciendo que las cosas están mal Las computadoras pueden ayudarte con ese tipo de cosas. Truco es acertar tu lógica , y eso es muy importante. Eso es lo emocionante de aprender el programa es que necesitas ser lógico y entonces debes pensarlo. Veremos más adelante en la depuración cómo puedes intentar resolver algunos de estos problemas porque no siempre son tan fáciles de detectar, pero eso es parte de la diversión Bien, entonces ahora que arreglamos ese error lógico, hagamos que este programa sea un poco más genérico. Genérico. Lo que pasa con la programación es que quieres probar y la razón por la que usamos variables y cosas así es que nuestros programas casi pueden ser reutilizables y no tenemos que reescribir el mismo código una y otra vez Ahora bien, como habrás notado, sí, hemos escrito yo mag menos de 18 aquí, y luego escribimos, I mag es mayor que igual a 18 aquí. En lugar de escribirlo ahí afuera dos veces y dar las posibilidades de que de alguna manera podríamos estropearlo, si ahora dijera 19, entonces otra vez, mi lógica está equivocada. En lugar de hacer eso, más bien creemos una variable que almacene el límite de edad para conducir. Y lo bueno de esto es que ahora podemos usar esta variable y sólo tenemos que hacer un cambio en un solo lugar. Entonces vamos a establecer aquí el límite de edad para conducir en 18. Entonces en vez de ahora poner el número 18 aquí, vamos a poner en la variable. Entonces este es un uso mucho más eficiente de la codificación porque ahora tenemos una variable, que es el límite de edad, y podemos usarla varias veces. Y entonces sí, puedes conducir. Ahora podemos cambiar ese límite de edad en un solo lugar. A lo mejor tu límite de edad es de 21 o lo que sea que sea en tu país, y podemos ejecutar muy rápidamente el mismo programa y ver si funciona. Aquí el límite de edad es de 15 años. Ejecutarlo, sí. Bien. Si tienes 19 años, ciertamente puedes conducir. Bien. Entonces eso es básicamente también solo mostrarte que puedes comparar dos variables. La segunda parte aquí no tiene que ser un número. Puede ser una variable. Y luego también veremos otras cosas u otros tipos de datos que también pueden ser. Pero por ahora, vamos a ver las declaraciones se. Entonces antes mencioné que en realidad no es una buena idea escribir un montón de declaraciones if como esta porque hay una mejor manera de hacerlo. Bien. Entonces, la razón por la que queremos usar una sentencia else, que Sarah echará un vistazo en un momento es la forma en que ese programa se ejecuta de arriba a abajo de explicar que van a hacer cada línea. El único lugar donde va a hacer un salto es si una condición no es cierta. Por ejemplo, aquí, si mi edad es menor que el límite de edad, y esa condición no es cierta, saltará ese trozo de código o esas dos líneas y luego saltará a la siguiente. Ahora bien, si tienes múltiples declaraciones if como nosotros te tenemos en la línea tres, línea seis, etcétera, tu programa tiene que pasar por todo eso Puede que no parezca un gran problema. Pero a medida que obtienes programas cada vez más grandes, eso lo ralentiza. Si estás tratando de tal vez escribir un juego o escribir algo que necesite un mejor rendimiento, todo eso cuenta. Es una forma muy ineficiente de codificar. Lo que realmente queremos es que si esta condición es cierta, debe hacer eso y luego ignorar las otras partes de la condición, que se llama la parte else. Alternativamente, si esta condición no es verdadera, ignore eso y luego ejecute la parte verdadera. Eso es lo que hace una otra. En lugar de lo que te tenemos, tengo que evaluarlo, luego evaluar otro vamos a cambiar esto a una F y una y solo evaluaremos una parte de esto haciéndolo más eficiente. Demos un ejemplo de una declaración. Las declaraciones L son en realidad muy, muy simples de usar. Todo lo que necesitas saber es cómo escribir eso. Eso es una declaración. No tiene ninguna condición porque básicamente lo que más significa es, si todo lo que está por encima de esta afirmación es falso, entonces imprima esto. Es la única condición es que todas las declaraciones if por encima de ella fueran falsas. Ahora lo que queríamos hacer es nuestro primero comprobé si la edad era menor que el límite de edad, lo contrario si la edad no es menor que el límite de edad, entonces obviamente la persona debe poder conducir. Vamos a imprimir esa declaración otra vez. Imprimir Bien. Esto hará exactamente lo que teníamos antes y se ve, 19 es la edad, el límite de edad es de 15 es 19 menos de 15. No, entonces va directo a los Ls y imprime esto por aquí. Nuevamente, si cambio esto a menos del límite de edad para conducir, se comprueba eso y se dice: Oh, sí, eso es cierto, y está impreso eso. Pero lo que ha sido eficiente ahora es que no se puede ver esto, pero en realidad ni siquiera ha mirado esta parte aquí. Entonces, si bien no lo estamos viendo ni las ganancias de rendimiento aquí, así es como debes codificar. Es mucho más efectivo y estamos tratando de enseñarte buenos hábitos por adelantado Así que no uses múltiples declaraciones if si es posible que uses una sentencia se. 101. Instrucción If- elif- else: Veamos si podemos traspasar los límites un poco más y hacer casi un programa de inteligencia artificial. Bien. No va a ser del todo IA, pero digamos que queremos intentar dar algunos consejos. Entonces este va a ser tu asesor personal sobre qué hacer en las distintas temporadas. Así que escojamos las diferentes estaciones. Y así vamos a imprimir consejos dependiendo de la temporada que sea. Y para cada temporada, vamos a imprimir un consejo diferente. Entonces digamos que es invierno. Entonces invierno nuestro consejo en invierno es que te vistes con gusto. Así que no olvides vestirte con gusto si es invierno. Es un consejo realmente genial, y es algo que nunca debes olvidar. Derecha. Entonces, ¿ese es nuestro consejo de invierno? Tomemos el otro extremo. A lo mejor es verano. Entonces nuestro consejo de verano es que no te olvides del protector solar. Quieres salir y divertirte mucho, pero, ya sabes, más que ponerte un poco de protector solar si va a ser demasiado tiempo bajo el sol. Cierto, ¿qué tal los consejos de primavera? Entonces creo que la primavera es un momento hermoso para tomar fotos. Así que recuerda tu cámara. En este día y edad, siempre tenemos tu teléfono en ti. Probablemente no necesites recordar tu cámara. Pero de todos modos, recuerda tu cámara para que puedas obtener algunas buenas selecciones de las hermosas flores que están brotando por todas partes. Entonces tenemos el otoño, esa hermosa estación en la que todas las hojas están cayendo. Lo importante que hay que recordar en otoño es que no te olvides de saltar sobre las hojas. Debe hacer eso. Todos van a hacer eso bien, un gran montón de hojas y saltar arriba y abajo de ella. Este es nuestro increíble consejo que queremos darle a la gente en función de la temporada. Ahora, obviamente, si solo ejecutamos el programa así, eso es bastante inútil. Es decir, esto va a imprimir cuatro consejos, y eso no es particularmente útil. Entonces lo que queremos hacer es que necesitamos tener una variable que vamos a capturar sea cual sea la temporada. Vamos a crear una variable arriba en la parte superior y capturar lo que sea la temporada. Esta es mi temporada, y podemos fijarla a lo que sea. Entonces digamos que el primero es el verano. Entonces ahora tenemos que hacer algo donde se va a comprobar. En base a lo que se almacene en mi temporada, sólo va a imprimir uno de estos cuatro. Ahora, miramos en el ston anterior como un if else. Ahora bien, no puede simplemente comprobar el primero y decir, es verano si no es ir a imprimir lo siguiente. De hecho, necesita verificar esencialmente cuatro veces. Aquí es donde queremos presentarles la siguiente declaración, que es la otra si estado. Todas las declaraciones condicionales tienen que comenzar con una declaración if. No se puede comenzar con una declaración L. No puede comenzar con la declaración SIF que estoy a punto de mostrarle ahora Todos ellos tienen que comenzar con la I. Primero comprobemos si nuestra variable de temporada es igual a verano. Si mi temporada y recuerdo duplicar igual a es igual al verano, entonces queremos hacer algo. En primer lugar, estoy seguro que te has dado cuenta es que no estoy usando enteros aquí En realidad estoy usando cuerdas. Entonces con las declaraciones de FNL , se puede comparar, como dije antes, muchos tipos de datos diferentes Entonces aquí, lo que va a hacer es que va a comprobar si esta variable, que hemos puesto en verano es exactamente la misma que esta palabra aquí, entonces va a ser verdad. Entonces, si acabo de cambiar una letra aquí, te lo mostraré más tarde, ya no va a ser igual a esto. Entonces si esto de aquí, esta variable aquí es exactamente la misma que esta de aquí, entonces va a ser verdad. Por lo que ahora queremos imprimir esta declaración para recordarle a gente que no olvide el protector solar. Recuerda, tiene que ser sangrada. De lo contrario, no lo imprimirá. Entonces, si eso es cierto, va a ejecutar las sentencias indentadas Entonces ahora vamos a mirar a LSF. Alf, abreviado a solo ser ALF, que es la forma en que lo escribes, básicamente significa otra cosa si esta afirmación no es cierta, entonces hagamos la siguiente Lo siguiente que nos gustaría comprobar es si mi temporada es igual a Invierno. Invierno. Si es invierno, queríamos estampar este vestido con gusto. Bien. Ahora tenemos cuatro declaraciones que queremos usar o cuatro recordatorios que queremos imprimir basados en la temporada, en realidad necesitamos otro Alsaf La temporada de Alsf M es igual a primavera queríamos recordar tu cámara Entonces, por último, queríamos imprimir este para el otoño. De hecho, podría escribir otra declaración de lsf y poner esto aquí Pero cada declaración if, pero cada declaración elseif tiene que terminar con otra. Podría hacer esto de dos maneras. En primer lugar, podría simplemente poner otro Alsif como mis otros y comprobar Ls si mi temporada es igual a otoño entonces imprimir esto por aquí Pero ahora todavía tenemos que agregar eso más, pase lo que pase, porque estamos haciendo serfs Y entonces, ¿qué ponemos aquí? Quiero decir, podríamos escribir un mensaje o tal vez realmente tenga sentido. Podemos escribir. Sí, está mal. Sí, sí, sí, sí, sí. ¿Debería? Bien, entonces tenemos que tener esta otra declaración al final. Y esta afirmación ls en realidad puede ser muy útil en esta situación porque como dije antes, como dije antes, si solo una letra está apagada en esta mi variable de temporada, entonces va a venir aquí. Entonces si tuviéramos verano escrito así, va a ir, no, no es igual a eso, no es igual a eso, no igual a eso, no igual a eso, no igual a eso. Entonces, ¿qué temporada es? Entonces, quiero decir, tu usuario va a ser como, no entiendo, montan rellas acaban de poner un error tipográfico Así que vamos a hacer que sea más fácil para tu usuario entender lo que ha pasado. El resto es esencialmente una captura de todos. Así que podríamos haber usado al otro bebé. Podrías haber pensado, bueno, podríamos haberlo usado para atrapar para el otoño, pero en realidad no hubiera sido cierto porque como te mostró Sarah, si mal deletreaste el verano, hubiera dicho, No te olvides de saltar en las hojas porque esa hubiera sido la Bien. Así que necesitábamos revisar cada uno de ellos como si y otro si, y luego finalmente, demás se convierte en una trampa para todos, es decir, no, no te acertaste ninguna de las estaciones, has hecho algo mal, y así puede imprimir. No has elegido una temporada correcta. Bien, así que vamos a ejecutarlo tal como está. Y lo que nuestro programa hizo es que llegó aquí, mi temporada es igual a Sama comprobar el primer comunicado. ¿Es igual a Sama? Sí, vamos a imprimir esto. Y entonces ignora todo esto. Ni siquiera bien, no ejecuta esto en absoluto, y simplemente imprime esta declaración por aquí. Ahora, como estaba explicando antes, deletreemos mal a Summer. Ahora es comprobar que está comprobado todos estos y dijo, oh no, no es igual a ninguno de estos. Por último, imprime esta declaración, que dice, por aquí, no has elegido una temporada correcta. Obviamente si hubiéramos cambiado esto a uno de los otros, digamos primavera. Ahora va a comprobar esto, comprobar esto, y luego finalmente comprobarlo. Oh, sí, esto es cierto. Imprime, recuerda tu cámara e ignora el resto. Básicamente, lo demás es solo permitirle verificar más de una cosas de una manera más eficiente. Puedes ver que hay muchas veces en las que te gustaría hacer algo como esto. A menudo hay ocasiones en las que necesitas hacer más de una verificación condicional y no pones muchas declaraciones if porque necesitas hacer tu codefficient O usas un Fe si son solo dos, de lo contrario, usa un sef ILS hasta finalmente un s. Básicamente solo recuerda que cada declaración if necesita un else y nunca llego a sangrar también 102. Seamos lógicos: operadores booleanos: Operadores booleanos. Ahora es otra gran palabra que puedes pequeña frase que puedes lanzar por ahí. Mencionamos a Boolean antes, y realmente eso es solo una charla de computadora elegante para saber si las cosas son lógicas y ellas condicionan que puedas tener ands y ors y cosas así Entonces son muy útiles porque muchas veces en la vida, tenemos que decir, Bueno, si esto y aquello es cierto, si esto o aquello es cierto. Queremos mostrarte un ejemplo donde tal vez tengamos un club o algo así, y queremos cobrarle a la gente en función de la edad, ya sea que puedan entrar y ver las películas aquí o bailar o lo que sea Pero hay dos cosas que van a impactar el precio del boleto de entrada, una es la edad y la otra es si eres miembro. Entonces, sea lo que sea que eso signifique , basado en tu edad, si tu edad es un cierto rango, vas a conseguir un precio diferente. Obviamente, si eres miembro, que es un valor booleano true false, también va a impactar tu Así que vamos a configurar if y nuestros Alcefs, pero ya van a ver que vamos a usar más de una condición aquí y vamos a usar rangos. Entonces comencemos. Digamos que si la edad de la persona es quizá, no sé, menos los niños, menores o iguales a cinco, entonces van a ser libres. Vamos a imprimir precios gratis o lo que sea simplemente imprimir gratis. Sólo vamos a ahora básicamente entonces el siguiente es así que ese es el primero. Ahora queremos hacer una ACIA y comprobar, bueno, si la edad es a partir de los seis, entonces va a ser mayor que igual a seis. Pero si es entre seis y digamos, no sé, escojamos a adolescentes 13. Entonces ahora tenemos un rango, por lo que necesitamos verificar si son mayores que iguales a seis y menores que la edad de 13 años. Entonces, lo que notarás aquí es por cada condición que quieras verificar, tienes que escribir esta declaración completa. No puedo simplemente decir si la edad es mayor que igual a seis y luego ignorar el punto y decir, y menor o menor que 13. Tienes que reescribir todo el estado de cuenta que quieres verificar Entonces hay que escribir si tu edad es mayor a seis, y luego también quiero comprobar si la edad es menor a 30. El motivo de ello es porque esa segunda prueba, menor de 13 años, no tenemos que usar la variable edad. Podríamos haber usado algo más como te mostraremos en un momento. Entonces en este caso, en realidad hemos creado un rango, así que vamos a imprimir el precio es de $5 o lo que sea que sea. Entonces, ahora estamos comprobando un rango. Hemos usado este conector booleano, este A para verificar realmente un rango Ahora vamos a hacer otro ALCIF y decir: Bien, s si su edad es mayor o igual a 13, tenemos que capturar a los Y vamos a levantarnos, no sé cuál es la edad de pensión probablemente 60 años menos de 60 años, y esta va a ser la persona de precio completo. Por lo que el precio de impresión es de $10. Hay una ganga por entrar y ver una película en la pantalla grande de nuestro club que hemos organizado. Entonces su precio es ahora el total de $10. Derecha. Ahora, ahora queremos comprobar nuestra cuarta categoría, y nuestra cuarta categoría va a ser algo un poco especial. Entonces nuestra cuarta categoría es para nuestros pensionados. Entonces si la edad es mayor o igual a 60, esos son nuestros pensionados, van a conseguir esto a un precio súper ganga de digamos, una de las pensiones va a conseguirla Pienso en $1. Bien. Eso es fantástico. Obtienen un precio especial de $1. Este es un excelente club para visitar. Pero no son solo los pensionados, ya ves, ahora, lo que no te das cuenta es que si recuerdas, también obtienes el precio del pensionista Ahora eso es increíble. tener dos condiciones aquí. No sólo si la edad es mayor a 60, sino que todos los miembros son iguales a verdad. Esto es importante ahora porque esto es una declaración o, lo que significa que cualquiera de estos puede ser cierto. O la edad es mayor que igual a 60, en cuyo caso, va a imprimir el precio es de $1 o miembro es igual a true y luego también va a imprimir el precio es igual a $1. Fue una declaración A, entonces eso obviamente significaría que ambos tienen que ser ciertos para que imprima este precio como $1. Pero es un todo, así que cualquiera de estos puede ser cierto. Lo que también podrías haber notado es usamos algo nuevo que antes no teníamos es que comprobamos que si esta variable es igual a true, que es un valor booleano Entonces, al hacer esto, básicamente es hacer exactamente lo que tenemos en todas nuestras otras cosas. Pero en lugar de verificarlo contra un valor, es verificar si es cierto. Entonces, si el miembro es igual a verdadero, entonces haz esto. De lo contrario, si no es igual a verdad, entonces no lo hagas. Entonces básicamente, es solo verificar si es cierto o si no es cierto. Y en base a eso, o bien imprimirá esto o Sí, nota, este es un tipo especial de variables. Recuerden que hablamos, tenemos una serie de variables o enteros en este caso Esta es una variable booleana. Simplemente tiene dos valores, falso o verdadero. No lo pongas en comas invertidas. Eso lo convertiría en cadena. Esto no es una cadena. Básicamente se usa para probar verdades y falsos, que puedas ver el color de eso, cómo ha cambiado y aquí también Entonces reconoce que un booleano es un verdadero o un falso Entonces, ¿qué queda para acabar con esto? ¿Qué nos falta? Bueno, recuerda, tenemos que tener el catchall Entonces necesitaríamos una declaración para decir qué pasa si ninguno de estos es cierto, y tal vez digamos, ya sabes, error en la edad o lo que sea, entrada de error o simplemente algo así. Ya sabes, solo captas que han ingresado algo correctamente en la entrada. Bien, entonces ahora vamos a ejecutarlo. ¿Bien? Hemos establecido que nuestra edad es igual a 20, por lo que ha pasado por todos estos, y si intentas encontrar la condición adecuada tú mismo, verás que esta es la que evaluó a verdad porque 20 es mayor que 13 y 20 es menor que 60. Entonces se imprime aquí abajo. El precio es de $10. Ahora vamos a cambiar esto a otra era. Vamos a probarlo con cinco. Oh, ahí vamos. El precio es gratis. Entonces todo esto parece que está funcionando absolutamente fantástico. Entonces lo sé, intentemos hacerlos miembros. Entonces cambiemos de miembro a true. Entonces realmente, lo que debería pasar es que debería decir que su precio es de $1. ¿Libre? ¿Qué? Eso es una locura. No, pero queremos que sea que sean miembros. Pero ya ves lo que está pasando aquí. Y en este caso, bien, entonces el miembro ha anotado, y eso es genial. Pero si el miembro tenía mayor edad como 55 y deberían estar obteniendo una gratis, no lo son. Están recibiendo un precio de 10 dólares porque está evaluando 55 entre los 13 y 60 años de edad. Entonces, lo que está sucediendo aquí es recordar que tu programa empieza a funcionar desde arriba, funciona hacia abajo, así lo comprueba. No, no es cierto. Comprueba eso, no es cierto. Comprueba eso. Sí, es cierto. Imprime eso e ignora al resto. De hecho ni siquiera llego aquí para verificar, Oh, pero si el miembro es cierto, deberíamos estar teniendo un precio de $1. Tenemos que añadir algo más. Tenemos que asegurarnos de que cuando verifica las edades, también verifica que no son miembros porque el miembro es un rango de precios diferente. Ahora, obviamente, no tendríamos que aplicarlo a los menos de cinco porque eso obviamente es irrelevante, eso es gratis seas miembro o no Pero a partir de este momento, de ese seis a 13 y el siguiente, tenemos que comprobar si son miembros o no. Para ello, sólo tenemos que añadir en otra declaración. Para ello, queremos comprobar si entre estas edades y su estatus de miembro es falso, y yo no hice un doble igual. Bien, entonces ya lo comprobamos, ¿de acuerdo? Esa es su edad, y no son miembros. Y nuevamente, aquí queremos checar. Así que básicamente Cpm ritmo. Lo divertido es que en realidad estamos poniendo múltiples condiciones, y esto es lo que cada vez más puedes hacer. Puedes involucrarte bastante. Entonces, esencialmente ahora, esto debería funcionar. Entonces lo ejecutamos. Y sí, el precio es de $1, porque lo que está haciendo es a pesar los 55 años cayeron en la categoría 13 a 60, esa parte era cierta, pero la tercera condición no era cierta porque tienen miembros iguales a verdaderos, y esto dice que miembro debe igual a falso. Por lo que toda esa condición fue rechazada. Y pasó a la categoría final, y decía que es gran edad en igual 60 o miembros verdaderos. Ese es cierto porque son miembros, y así el precio es de $1. Para que puedas ver de dónde entra la lógica en esto. De verdad tienes que estar pensando. Pero está bien cometer errores. Si las cosas no funcionan de inmediato, miras, piensas en ello, y puedes averiguar qué está pasando. Entonces este es nuestro Ilsifs y juntando las condiciones booleanas Se pone bastante emocionante, y todas estas cosas van a venir a jugar cuando escribamos nuestro juego más adelante. 103. Resumen: Tiempo de resumen y un poco de bono. ¿Qué hemos cubierto? Hemos cubierto la importancia de tomar decisiones. Tendremos que tomar decisiones en la vida y no hay otro lugar más importante que tomar decisiones en tu código y la forma en que lo hacemos en Python es usando la declaración if. Muy sencillo. Es si alguna condición es cierta, entonces algo sucederá después de eso. Vimos que necesitábamos algo más que una declaración F. Analizamos cómo se puede tener una F y una declaración, y pasamos más allá de eso, diciendo, bueno, a veces tienes múltiples afirmaciones que necesitan ser evaluadas si son ciertas. Teníamos yo y luego ASF, eso es simplemente abreviado a. ELF. Algo así como un elefante. Entonces este último ejemplo lo miramos, podríamos comprobar múltiples rangos de cosas de edades. Luego lo empujamos más para decir, Bueno, también puedes tener operadores booleanos, lo que significa que en realidad estás empezando a usar s y s para combinar múltiples comprobaciones de variables Podríamos verificar una edad mayor a seis o menos de 13 años. Y otra variable que era miembro, que es una variable booleana que solo puede tener un valor verdadero o falso Entonces ahora terminamos con una condición que está comprobando tres cosas diferentes y todas ellas, o la combinación de todas ellas juntas debe evaluar a true antes de que se ejecute la sentencia que se indenta El precio es de $5 solo se imprimirá si la edad que se selecciona está entre el rango de seis y menor a 13, y no son miembros. Ahora en ese punto de decir y no son miembros, en realidad hay otro pequeño atajo que puedes hacer. Verás en este momento, mencionamos que miembro es un tipo especial de variables, Booleano sólo puede tener un cajón de falso En realidad no necesitas escribir falso y verdadero. Hay otra manera en la que se puede hacer esto. Queríamos mostrarte esa manera primero, así que tiene sentido, pero hay una forma ligeramente atajo que es mejor usar siempre y cuando sepas lo que estás haciendo. ¿Qué haces? Para poder usar esa vía atajo, tenemos que retroceder esta condición aquí donde hemos dicho, es igual a falso? En cambio, lo único que tenemos que escribir es esta palabra, no. Esto en realidad se lee más como una frase en inglés, si lo piensas bien. Es verificar si solo entre esto y si esta persona no es miembro. Entonces, en vez de escribir como teníamos aquí, ¿es igual a falso, que es lo mismo que decir, esta persona no es miembro? Básicamente podemos simplemente escribir y no miembro. Nuevamente, podemos cambiarlo aquí. Bueno, esto hace que sea un poco más fácil en cierto sentido de leer, y obviamente es una notación más corta, pero solo necesitas entender lo que realmente estás diciendo aquí. Lo que va a tener que hacer ahora el último decir miembro es igual si es cierto, solo puedes eliminarlo totalmente. Ahora, usted lee tiene sentido. Es la edad mayor a 60 o miembro. Eso significa que es miembro verdadero. Entonces cómo va a funcionar este programa ahora, solo va a ver, bien, miembro es igual a verdad. Cuando se trata de aquí, va a decir, lo que es miembro, miembro es cierto, entonces no es cierto, que es igual a falso y esta condición no va a ocurrir. Lo mismo aquí, algo que no es cierto es falso, así que eso no sucede. Y entonces aquí viene y dice: Oh, miembro es cierto. Entonces, obviamente, esta condición es cierta, e imprimirá esto. Bueno, eso obviamente pasaría si esta persona es efectivamente miembro. Sí así que a la otra manera si encuentras esto un poco confuso, por todos los medios continúa usando y diciendo miembro es igual a falso o miembro es igual a verdadero, y puedes comprobarlo. Pero si te sientes cómodo con simplemente decir no y la variable booleana o solo la variable booleana por sí misma para indicar que es verdad, entonces también puedes hacerlo Pero nuevamente, empieza despacio, asegúrate de entender lo que estás haciendo. Esta ha sido una sección muy emocionante sobre cómo tomar decisiones en la vida, y hay algunos ejercicios a seguir, hacerlos, involucrarse porque como decíamos antes, aprendes en el. 104. Por qué nos encantan los bucles: A veces se siente como que la vida está en un bucle grande porque simplemente damos la vuelta a los mismos pequeños círculos, los mismos ciclos, nos despertamos, hacemos las cosas i z, volvemos a casa, cenamos, nos vamos a la cama, nos despertamos, son bucles, bucles. Los bucles son una parte importante de la vida porque así funcionan las cosas y también son una parte importante a la hora de nuestra codificación. Ahora bien, puede que no sean bucles de fruta. Pero la codificación tiene un aspecto importante y ese es el uso de bucles porque antes miramos cómo tomar decisiones, pero a veces necesitamos que las cosas se repitan varias veces. Podríamos querer decir, vamos a dar la vuelta a un bucle hasta que cierta condición sea cierta, o vamos a dar la vuelta a un bucle tres veces haciendo algo. En esta sección, queremos echar un vistazo a los loops y cómo son muy potentes y útiles en la codificación. Ponte el límite de pensamiento, prepárate ya que echamos un vistazo al poder de los bucles en Python. 105. Bucles for y gran rango: Ahora vamos a mirar bucles en la programación. Obviamente, específicamente aquí bucles en Paren. Hay dos tipos de loops que encontrarás en cada lenguaje de programación disponible básicamente, esos son cuatro bucles y bucles Wile Vamos a comenzar mirando cuatro bucles en esta conferencia y luego cubriremos los bucles de Wile en la siguiente Sé que al principio esto puede parecer un poco confuso, pero ojalá a medida que demos algunos ejemplos más y a medida que avanzamos , va a tener más sentido. Por supuesto, si le preguntas a Doc, siempre puedes hacernos preguntas. Cuatro bucles básicamente se ve así. Voy a teclearlo y luego te lo voy a explicar. Entonces decimos, tratamos de pensarlo como una frase. Cuatro, que es una variable como la que teníamos antes, cuatro o un número en un rango de digamos cinco queremos que algo suceda. Entonces, ¿qué estoy diciendo realmente aquí? Entonces lo que estoy diciendo es que estoy usando esta palabra clave llamada cuatro porque este es un bucle de cuatro. Cuatro, un número en un rango de cinco, quiero que algo suceda. Básicamente, quiero que algo suceda una y otra y otra vez. En este caso, quiero que ese algo suceda cinco veces. Sólo voy a imprimir para mostrarte lo que realmente está sucediendo en este bucle. Nuevamente, estoy diciendo cuatro en un rango de cinco, vamos a querer imprimir algo solo para ver qué está haciendo realmente este bucle y cómo están funcionando los bucles. Vamos a imprimir hola y ver qué pasa. Bien, entonces voy a ejecutarlo ahora. Bien, y lo que puedes ver, básicamente lo que ha pasado aquí es Hola ha impreso una, dos, tres, cuatro, cinco veces. Entonces, si piensas en eso lógicamente, tiene sentido porque pedimos a nuestro loop imprima un valor cinco veces Pero ahora ¿qué es durante todo este bucle? Cada vez que los bucles dando vueltas y vueltas, si recuerdas son variables, así que eso significa que puede cambiar. En realidad está cambiando cada vez que estamos dando vueltas y vueltas y vueltas en este bucle. Entonces, para ver qué es lo que realmente se convierte y qué valor comienza a aguantar mientras el bucle da la vuelta, vamos a imprimir. Sólo estamos imprimiendo esto por aquí. Cada vez que el bucle da la vuelta. Si recuerdas lo que te dije en una de nuestras otras conferencias, en programación, siempre cuentas desde cero. Podrías haber esperado ir uno, dos, tres, cuatro, cinco, pero no, porque esto es programación, siempre venimos de cero. Entonces se imprime R cinco veces, pero cada vez que los bucles daban la vuelta, se le ha agregado uno a este valor de R. Así que la primera vez que el bucle fue, empecé como cero. Entonces el bucle volvió a ir y me convertí en uno. Es como contar. Básicamente, todo este bucle hace aquí, es que cuenta cinco veces. Si quieres hacer algo una cierta cantidad de veces, obviamente puedes cambiar este número. Vamos a hacer este número ahora ocho. Entonces, qué va a pasar, hemos vuelto a contar ocho veces, pero 0-7 Este es el tipo de bucle más simple que puedes obtener, y si puedes entender esto, entonces ya estás en camino de entender los bucles. Pero sí empieza a ponerse un poco más confuso. Ahora voy a cambiar algo. En bucles, tienes estas cosas dentro de los corchetes de aquí que se llaman parámetros. Cualquier cosa dentro de estos corchetes se llama parámetros, que es otra palabra que tendrás que recordar en la programación. Entonces lo que voy a hacer ahora es que voy a agregar otro parámetro. Entonces voy a sumar un cero. Lo que he hecho aquí ahora en vez de simplemente decir quiero que este bucle dé la vuelta y alrededor de ocho veces, y ahora diciendo, ahora le estoy dando un punto de partida. Este cero de aquí está diciendo mi bucle, quiero que empieces a contar desde cero, y luego dejes de contar a las ocho. Pero recuerden lo que dije sobre cómo cuentan los programas. Vamos a ejecutar esto de nuevo. Verás que es exactamente lo mismo que sucedió antes. Se ejecuta de cero, que fue mi punto de partida a ocho, pero debido a que los lenguajes de programación cuentan 0-7, se detuvo a las siete Básicamente, se detuvo en uno menos de lo que sea este número. De cero a siete, se ejecuta ocho veces pero comenzó en cero. Pero ahora ¿qué pasa si cambio el cero y ya no quiero que mi programa empiece a contar desde cero? Quiero que empiece a contar desde vamos solo uno porque eso me parece un poco más sencillo. Ahora veamos qué pasa. De nuevo, a pesar de que ahora cuenta desde uno, sigue terminando a las siete por aquí en lugar de terminar a las ocho. Eso es otra vez porque el programa sigue contando desde cero. Lo acabamos de decir, Oh, no, ignora ese cero y solo imprime desde el uno. Puedes cambiar esto a cualquier número siempre y cuando sea por ahora menor que el segundo número de aquí. Entonces podemos decir empezar a contar desde cinco y ¿qué va a hacer? Cinco, seis, siete. Así que recuerda, este es el número en el que empieza y va a terminar en uno menos que este número aquí. Ahora para hacer las cosas aún más interesantes, podemos agregar un parámetro más a este bucle de cuatro. Voy a empezar de nuevo a cero. Voy a agregar un tercer parámetro por aquí. Lo que este realmente hace es que le dice a mi loop en qué contar. Digamos que quería contar números pares. Voy a decir el bucle, quiero que impriman cada segundo número, que básicamente es lo mismo contar en número par. Lo que se hace aquí es que está impreso el cero. Entonces hay dos aquí dijo que no imprima el siguiente número, solo imprima el número después de eso. decir, imprimir cada segundo número, se imprime cero, dos, cuatro, seis, impreso cada segundo número. El primer número otra vez, empieza en este extremo en esto, pero todos sabemos que es uno menos que este. Y contar en dos. Habrías pensado, Bien, ¿por qué se detiene entonces a las seis? Bueno, obviamente, porque si esto termina a las siete, dos más de siete son ocho, que no debería imprimir, así que solo se detuvo a las seis. Si lo piensas lógicamente, todo realmente tiene sentido porque está comenzando desde el cero y terminando en ese siete Entonces para hacer las cosas aún un poco más interesantes, lo que vamos a hacer ahora, es que vamos a contar hacia atrás. Por supuesto, puedes cambiar este número a contar en cualquier cosa. Si quiero que cuente en tres, simplemente cámbielo a tres y va a comenzar de cero e imprimir cada tercer número y puedes cambiar de nuevo el número inicial, puedes jugar con él. Pero ahora lo que voy a hacer es que voy a retroceder estos ¿Qué pasa si te gustaría contar tal vez desde el número más grande y bajar en orden descendente? También puedes hacer esto también puedes hacerlo. Pero ahora tenemos que cambiar un poco nuestro orden de nuestros parámetros. El primer número sigue siendo donde va a empezar, pero claro, ahora queremos comenzar con un número mayor. Quiero empezar a las diez, queremos terminar a la una y queríamos ir hacia atrás. Eso significa que este número de aquí tiene que ser negativo. Comenzando, terminando negativo. Ahora otra vez, verás que va bajando 9876 Pero lo que se hace aquí de diez, perdón, diez, 98, 76, y así sucesivamente, se terminó a las dos. Si lo piensas, claro, no va a terminar en el de aquí. Pero va a terminar en un número antes que el uno, que en este caso es dos porque los dos vinieron antes que el uno. Es lo mismo, pero salvo que ahora vamos hacia atrás. Ahora, claro, esto no está muy bien. Todo lo que estamos haciendo es imprimir, pero estos son útiles la mayor parte del tiempo cuando quieres repetir algo muchas veces por cierta cantidad de veces, como decíamos antes en la vida, te encuentras con bucles todo el tiempo. Eso brevemente es un rango basado para bucle. Juega un poco con él y prueba diferentes combinaciones, y, ojalá empieces a entenderlo. 106. Para bucles, cumple con cadenas y listas: Estamos viendo los bucles y hemos estado viendo los cuatro bucles con rango y un rango de números y son potencialmente muy potentes. Vamos a ver más tarde cuando lleguemos al juego que vas a estar construyendo, que esta es una parte muy importante de la programación. Ahora queremos echar un vistazo a cómo podemos usar cuatro bucles y también podemos usarlos con listas. No tiene que funcionar solo con números, hecho puedo trabajar con texto y ya hemos tocado esto antes, pero ahora queremos unir los cuatro bucles y listas y mostrarte qué cosas emocionantes puedes hacer. Bien, voy a eliminar esto y vamos a crear una lista. Vamos a crear una lista de digamos nuestra comida favorita. Yo solo voy a llamar comida a esta lista, y ojalá todos recuerden cómo crear una lista. Comida. Bien, ahora podemos meter un par de artículos. Entonces digamos que me gusta comencemos con uno poco saludable. Chocolate. Y entonces seamos insalubres en este. Podemos ir a las hamburguesas. ¿Qué comida más deliciosa puedo pensar de las papas fritas? Bien, pondremos uno sano sólo para mantener feliz a mi papá. Zanahorias. Mm. Delicioso. Aunque me gustan las zanahorias. Y tal vez vayamos con un trago. Un trago más. Agua. Sólo vamos con agua. Siempre sabor sabroso. Bien. Entonces aquí hay una lista de comida que me gusta, y lo que solo vamos a hacer en este ejemplo es que solo queremos recorrerla. Así que recuerda antes teníamos una lista, y cada vez que queríamos imprimir elemento en esta lista como el chocolate, teníamos que ir a escribir nuestra declaración impresa, y teníamos que decir el nombre de la lista, y luego tuvimos que tener estos corchetes los cuales obtienen el índice y le dan el índice del elemento que queremos imprimir. Si quisiéramos imprimir el primer elemento chocolate, teníamos que poner en esta declaración impresa y luego decir el nombre en la lista con el índice que queremos imprimir estos corchetes y ejecutarlo nos daría chocolate. Entonces diga ahora que también quería imprimir hamburguesas. Tendría que tener una declaración completamente nueva con, nuevamente, lo mismo, imprimir comida y luego solo tener el número uno, luego otra vez, imprimir comida número dos. Si en realidad ya lo piensas, puedes antes en nuestra última conferencia, miramos cómo ese número, esa variable fui uno arriba cada vez que el bucle daba la vuelta. A lo mejor podríamos usar eso para imprimir una lista. Lo que vamos a hacer de nuevo es que vamos a decir cuatro y vamos a usar una variable. Ahora bien, este número puedo ser cualquier cosa. Déjame llamarlo otra cosa. Digamos mi comida. Sólo para mostrarte que esta cosa de aquí no tiene que ser, es sólo una variable. Puede ser cualquier cosa, y puede contener cualquier cosa. Por mi comida en Alimentos. Ahora bien, eso puede parecer un poco extraño, porque no tenemos ese rango ni nada por el estilo. Pero Python es en realidad bastante claver aquí. Entonces ya sabe que la comida de aquí tiene uno, dos, tres, cuatro, cinco elementos de largo, y empieza en cero, luego uno, dos, tres, cuatro. Python ya lo sabe, así que no tenemos que decirle a Python lo grande que es esta lista. Ya lo sé. Entonces solo tenemos que decir para mi variable en nuestra lista comida, imprimir ese elemento impresor en la lista. Queríamos imprimirlo todo , así que imprime comida. Nuevamente, notarás que ninguno de estos tiene comas invertidas alrededor ellos porque son variables No son cadenas por aquí. Sostenen una cuerda, una de estas cuerdas, pero son variables, por lo que no hay comas invertidas Para una variable en alimentos, imprima esa variable. Lo que esta lista va a hacer ahora, vamos a ejecutarla y ver. Bien. Todo lo que está hecho es la primera vez que se ejecuta esta lista, mi comida se convierte en chocolate. Entonces la próxima vez que corra el bucle, mi comida se convierte en hamburguesa Entonces la próxima vez se convierte en papas fritas y así sucesivamente. Todo está haciendo igual que antes, y yo para bucle con números, va uno arriba cada vez que corre. Entonces, esta es solo una forma más fácil de iterar a través de una lista en lugar de escribir la misma declaración una y otra vez Sara acaba de usar como palabra, están iterando. Nuevamente, es un pozo, no es común es una palabra inglesa que usamos significa dar vueltas, pero es la frase que normalmente se usa cuando nos referimos a bucles Nos referimos a ellos como iteraciones. De nuevo, solo te hará parecer mucho más inteligente. También tenga en cuenta que cuánto más corto es este código. Si tuviéramos que escribir esto y tuviéramos que usar print, tendríamos que tener cinco comandos de impresión. Se puede ver cómo el uso de estos bucles está haciendo que nuestro código sea mucho más eficiente. Ahora, imagino que haces esto exponencialmente grande tienes 100 mil, 50 mil elementos en la lista Obviamente, simplemente no es posible escribir código así, pero usando los bucles, podemos lograr todo tipo de cosas increíbles. Bien, entonces solo te voy a dar un ejemplo más, pero no usando una lista, ahora vamos a usar una cadena. Digamos que tenemos una cadena y una variable, sosteniendo una cadena, vamos solo con nombre, y esta variable va a estar almacenando mi nombre como cadena. Bien, Sarah. Sólo guardemos mi nombre, Sara en una variable de cadena. Ahora quiero recorrer esto. Podrías estar como, ¿por qué querrías hacer esto? Por el momento, solo te estoy mostrando cómo puedes recorrer una cadena, pero obviamente lo hace, luego se vuelve muy útil. Voy a escribir exactamente lo que escribí aquí. Pero ahora en vez de pasar por esta lista, quiero pasar por mi nombre. Nuevamente, esto podría ser, o simplemente llamémoslo. Es más corto. F en nombre. Y nuevamente, imprima esa variable. Imprimir. Bien, así que vamos bien, vamos a comentar esto por ahora porque no queremos ver qué hace esto. Ya sabemos lo que hace y si recuerdas cómo comentar. Sólo un pequeño punto rápido. Hablamos antes de comentarios, pero este es un pequeño truco genial. A veces cuando quieres que un trozo de código no se ejecute por cualquier razón, como Sarah mostrándote solo pones los comentarios, algo de la etiqueta hash delante de las cosas, y de repente Python ignorará ese código. Es una excelente manera de también cuando intentas depurar código, no estás seguro de dónde está el problema. Empiezas a reducir lo que realmente se está ejecutando para que puedas concentrarte en dónde crees que está el problema. Y así solo usas pequeños comentarios y puedes fácilmente, obviamente, eliminarlos, y luego el código se activará de nuevo. Sí, esta definitivamente es una buena manera de enfocarte en lo que quieres enfocarte. Bien, entonces lo que nuestro loop ha hecho aquí básicamente exactamente igual que lo que pasó en la lista. Lo que se hace es la primera vez que el bucle corrió el se convirtió en el S. La siguiente vez que corrió pasó a ser el A. Cada vez que se movía uno arriba, uno arriba, uno arriba hasta que llegamos al final del nombre y el bucle se detiene. Se imprime Sara con cada letra en una nueva línea porque cada letra es una nueva letra en nuestra cadena, y cada letra se convierte en la variable. Eso es básicamente sobre cómo hacer un bucle a través de una cadena. El primero que mostramos aquí fue cómo recorrer una lista y el nuestro ejemplo anterior fue cómo hacer un bucle con números. Por ahora, esto es todo lo que necesitas saber. Nos meteremos en ejemplos más complicados. Pero en nuestra próxima conferencia, vamos a estar viendo un tipo diferente de bucle llamado bucle WOW. 107. Bucles while: una experiencia completamente nueva en bucles: Aquí puedes ver es nuestro bucle for que vimos en una de nuestras conferencias anteriores. Pero ahora no queremos centrarnos en esto, sino más bien en esta conferencia, vamos a estar mostrándote loops salvajes. Nuevamente, ahora un bucle WOW se llama bucle WOW porque hay una declaración salvaje en él así. Pero este bucle es un poco diferente y en realidad un poco más avanzado que el bucle cuatro, pero es muy útil en muchas situaciones. Lo que vamos a hacer, lo escribiré para ti y luego te lo explicaré. Entonces lo que voy a hacer es que voy a hacer exactamente lo que está haciendo este bucle de cuatro, pero excepto hacerlo en un bucle while. Estos dos bucles deberían hacer exactamente lo mismo, pero se ven completamente diferentes. Déjame en realidad solo correr esto por ti otra vez en caso de que ya te hayas olvidado de lo que hace. Nuevamente, imprima de cero a cinco, espero que a estas alturas ya sepa por qué. Ahora voy a hacer un loop WOW. Wow loop se ve así. Vaya de nuevo, una variable, la voy a llamar J es menor que un número al que quiero subir. Imprimir. J. Bien. Ahora piensas, Bien, eso parece sencillo, pero ahora vamos a ejecutarlo y ver qué pasa. Enseguida, puedes ver que nos ha dado este error, el nombre J no está definido, nombre J no está definido, lo que puede parecer un poco raro porque nunca definimos el Yo sólo sabía lo que era. Pero aquí en el bucle Wile, no sabe qué es esta variable J. Ahora, eso es porque un bucle while funciona de manera muy diferente a un bucle for. En un bucle while, hay que ayudarlo un poco. Lo primero que tenemos que hacer extra por un bucle while es que tenemos que definir esta variable J. J es un número. Y lo que sea que lo definas como aquí es de donde va a empezar el bucle . Digamos que queremos que nuestro bucle comience desde cero, igual que aquí. Este bucle comenzó desde cero, así que queremos que nuestro bucle Wow comience desde cero, este bucle terminó en uno menos de seis. Al igual que aquí, este bucle seguirá en marcha hasta que J sea seis o mayor, o en otras palabras, Wow J es menos de seis. Bien, entonces vamos a ejecutar esto y ver qué pasa. Seguramente, ya está bien. Bien, eso no se ve muy bien. Sólo estamos recibiendo un montón de ceros. Lo que he hecho aquí es que en realidad he introducido un problema muy común pero bastante molesto y bastante serio. Lo que he hecho aquí es que he creado algo llamado un bucle infinito. Ahora, sólo voy a parar esto antes de que siga yendo y viniendo. Bueno, esto va a seguir para siempre. Básicamente, por eso es un bucle infinito. Para detenerlo, lo más fácil de hacer es simplemente retroceder este código porque sabemos que aquí es donde estaba todo desordenado Sólo voy a borrarlo y voy a volver a ejecutar nuestro programa. Ahora solo está imprimiendo este bucle por aquí, es feliz. Nuestro bucle infinito se ha detenido. Pero, ¿por qué sucedió eso? La razón por la que realmente sucedió fue porque aquí, le dijimos a nuestro programa que J es igual a cero. Entonces dijimos: Bien, genial. Mientras que J es menor de seis, imprime J. I imprimió J, que es cero. Entonces volvió a dar la vuelta porque J aún tiene menos de seis. Mientras que J es S en seis, pero ¿qué es J? Sigue siendo cero. Imprimí cero otra vez. Entonces mientras J es y seis, J sigue siendo cero y J en realidad nunca incrementó o nunca cambió de ser cero Por eso tuvimos un bucle infinito y si recuerdas, simplemente imprimió cero, cero, cero, cero, cero porque a diferencia de este bucle de cuatro, en realidad tenemos que decirle al bucle while para hacer que J crezca o cambie o se haga más grande o en otras palabras, incremento, que usaríamos en esta circunstancia Lo que entonces tenemos que hacer, queremos imprimir J, pero una vez que nuestro programa esté impreso J, queremos J, y esto podría parecer un poco raro, pero queremos que J sea igual a J más uno. ¿Qué dice eso? Recuerda cómo decía cuando se ejecuta un programa, primero se da cuenta de lo que hay de este lado, luego toma lo que esté de este lado, y lo asigna a esta variable aquí Entonces, ¿qué está pasando aquí? Es cuando se ejecuta el programa. Digamos que J empieza como cero, viene aquí, cero es menos de seis, imprime ese cero. Ahora, cero más uno es uno, ahora hacer este valor de cero más uno, que es uno igual a J. J luego se convierte en uno. Ahora J es uno. Entonces, ¿qué pasará la próxima vez? Uno es aún menos de seis, imprime ese uno y ahora cambia el valor de J. J era uno, así que uno más uno es dos y ahora hacen que J por aquí sea igual a dos. Básicamente solo recuerda que este lado es primero elaborado por el programa y luego es la caza a este valor aquí. Ahora ojalá nuestro programa vaya a funcionar. Lo que van a ver es que esto por aquí es la primera vez que se ejecuta y este bucle de cuatro por aquí, de cero a cinco. Entonces aquí, finalmente, nuestro loop WOW funciona, va de cero porque le dijimos que comenzara en cero y terminara a las cinco o en otras palabras. Sigue adelante hasta J o sigue adelante mientras J es menor a seis. Entonces otra vez, como tuvimos en este bucle de cuatro, obviamente puedes cambiar, en qué querías empezar, en qué querías terminar, otra vez, también cuánto querías incrementar B. Como teníamos antes, teníamos a los dos por aquí para dejarlo subir de dos a dos Sí, todo lo que haces es decir, quiero que agregues dos cada vez en lugar de agregar uno y luego va a subir en dos. 02, cuatro para el primero, cero, dos, cuatro para el segundo. Podrías cambiar esto. Puedes cambiar esto por todas partes. Pero básicamente, eso es lo que es un bucle while. Si lo piensas, la lógica de un bucle de cuatro y la lógica de un bucle while es un poco diferente porque un bucle de cuatro realmente sabe exactamente cuánto quieres que se incremente cuando quieres que se detenga y es solo imprimir ¿Dónde está un bucle Wile necesita una condición? Básicamente, va a seguir imprimiendo hasta que le hayas dicho que se detenga o hasta que esta condición, J es menos de seis es falsa. Un bucle while solo sigue yendo y yendo y yendo hasta que la condición que le das aquí sea falsa. En otras palabras, si bien esto es cierto, seguir adelante. En cuanto sea falso, detenga el bucle y salte de él. Entonces, lo que es realmente importante aquí es que, como acaba de decir Sara, se predefine un bucle de cuatro cuanto a cuántas veces va a ir. Parece que eso es lo mismo aquí para el bucle Wil, pero en realidad es diferente porque el bucle Wil está esperando que algo se haga realidad. Y te vamos a mostrar un ejemplo donde obviamente esto en realidad es muy útil donde por ejemplo, quieres que alguien pueda entrar en algo una y otra y otra vez, y no sabes cuántas veces realmente van a hacer. Entonces no puedes decir, solo quiero que lo hagas tres veces. Quieres darles tantas opciones y veces para ingresar algo como quieran hasta que cierta condición sea cierta, y ahí es cuando usarías el bucle WW En nuestra siguiente lección, te mostraremos un gran ejemplo de cuándo usarías el bucle while y por qué es una forma de bucle tan poderosa. 108. While loops: lo bueno continúa: Mirando bucles. Hemos mirado cuatro bucles. Hemos mirado bucles while, pero queremos ilustrar la diferencia entre un cuatro y un wild porque pueden parecer iguales. Como decíamos, un bucle de cuatro va de un número a otro número en un rango y está predefinido y preestablecido. Mientras que un bucle salvaje puede parecer que está haciendo lo mismo, va a continuar hasta que cierta condición sea cierta. Puedo emular un bucle de cuatro. Pero también es muy útil porque puedes usarlo para hacer que un bucle continúe hasta que algo suceda cuando no sabes cuánto tiempo va a tardar. No va a ser un número establecido de iteraciones. Podría ser cualquier cosa desde cero, una, dos o 1,000 iteraciones hasta que alguna condición sea cierta Veremos que eso sucede en este ejemplo. Lo que vamos a estar viendo en este ejemplo va a ser una lista de lo que hay en tu bolsa de maquillaje. Ahora bien, esto podría variar de persona a persona. Todo lo que este programa va a hacer es que le va a preguntar al usuario qué hay en tu bolsa de maquillaje. Entonces el usuario lo va a escribir. Tengo un poco de rimel. Después haz clic en Entrar y otra vez, va a pedir uso de nuevo. Qué hay en tu bolsa de maquillaje y el usuario va a seguir escribiendo. Lo que hay en su bolsa de maquillaje hasta que no les quede nada. Obviamente, depende. Es mi bolsa de maquillaje no tiene nada en ella. Mientras que la bolsa de maquillaje de otra persona puede tener muchos más artículos en ella. Por eso este es un gran ejemplo de usar el bucle Wile porque en realidad no sabemos cuántos artículos hay en tu bolsa de maquillaje Depende de usted hasta que se encuentre cierta condición para ser cierta. En cuyo caso, vamos a usar la palabra hecho para indicar que ya he terminado con lo que hay en la bolsa de maquillaje. Veamos cómo va a quedar eso. Vamos a escribir WOW. Vamos a usar una variable. Mientras que R y queremos decir no es igual a, si recuerdas, así es como escribimos no igual a la palabra hecha o una cadena llamada done. Como dijimos antes, esto va a seguir adelante hasta que el usuario escriba y termine y vamos a mostrarte cómo funciona eso. Recuerda otra vez, tenemos que definir esta variable o el programador va a no saber de qué estamos hablando. En este caso, en realidad es una cadena. Y específicamente, yo es una cadena vacía. Entonces esto es lo que he escrito aquí es solo una cadena vacía, que es básicamente una cita sin nada en el medio y una comilla. Entonces esa es una cadena vacía. Has establecido esta variable para que sea igual a esa cadena vacía, y queremos que este bucle continúe hasta que esté igual a hecho o en otras palabras, Guau no es igual a hecho. Entonces, ¿qué dijimos que queríamos preguntarle al usuario? Bueno, queremos preguntarles qué hay en tu bolsa de maquillaje. Entonces ojalá también recuerdes cómo hacer input. Vamos a poner Input y hacer el uso de esa pregunta, qué hay en tu bolsa de maquillaje. Ahora también, vamos a tener que almacenar esta entrada en alguna parte. Lo que realmente es esta entrada, esta entrada se convierte en R. Cada vez se ejecuta el bucle y los usuarios hacen esta pregunta y escriben algo por aquí, lo que sea que escriban va a ser almacenado en. Por ahora, solo vamos a luego imprimir que veas exactamente cómo funciona esto. Bien. Notarás que no tengo una de esas condiciones que tuve última vez donde iteré o cambié esta variable Eso es porque no estoy diciendo mientras esté más grande que hecho, lo que en realidad no tiene ningún sentido en absoluto. Sólo digo que sigas adelante hasta que esté igual a hecho o mientras no sea igual a hecho. Así que vamos a ejecutar esto. Bien. Entonces comencemos. ¿Qué hay en mi bolsa de maquillaje? Digamos rímel. Entrar. Entonces ven aquí, dice rímel. Eso es porque por aquí, dije, imprime lo que sea que sea. Entonces en esta primera, es rímel, pero ahora sigue preguntándome. Sé que soy una cadena, así que la está reemplazando cada vez. No va a quedarse con el rimel. Entonces Sara ahora escribe el siguiente artículo que está en la bolsa de maquillaje un pintalabios. Como lo imprime, va a decir pintalabios. No va a decir rímel y lápiz labial porque Es una variable sólo puede contener un valor. Esta no es una lista. Es una simple variable de cadena. Y así está siendo reemplazada cada vez que ingresa un nuevo artículo y lo está imprimiendo. Por lo que las sombras de ojos también se agregaron a la lista. Y así como pueden ver, esto va a seguir dando vueltas y vueltas, permitiéndole ingresar a la larga lista de artículos que están en esa bolsa de maquillaje, y para algunos de ustedes dijeron, esto podría llegar por semanas y meses a medida que ingresan todo tipo de cosas, ya saben cuáles son estas cosas. Ahí vamos. Hasta que por fin estás agotado. Y entonces, ¿qué hacemos ahora? Así que ya terminé, eso es todo lo que hay en mi bolsa de maquillaje, y voy a escribir hecho, y está hecho. Ya verás que ya no estoy recibiendo la pregunta. Ahora se ve por aquí tan pronto como escribo hecho o por aquí tan pronto como escribo hecho, esa se convirtió en la variable R. Vine alrededor del bucle. ¿Esta variable es igual a hecho? Sí, lo es. Dije, yo no igual a eso? Dijeron, no, yo en realidad es igual a hecho. Salté del bucle. El segundo, escribimos hecho aquí, el bucle terminó y no tuvimos un bucle infinito Obviamente, podría haber seguido escribiendo cosas por aquí para siempre sin escribir y sería un bucle casi infinito, pero creo que eventualmente todos se harían un poco cansados y tendrás que escribirlo finalmente. Puedes seguir haciendo esto y seguir escribiendo cosas todo el tiempo que quieras. Y mientras no escribas hecho, va a seguir haciéndote esa pregunta. Entonces, ya ves, este es un gran ejemplo donde el bucle wile es muy potente y es diferente a nuestro bucle de cuatro, y se usa todo el tiempo Quiero decir, a menudo se te pide que respondas las cosas, y dice escribir exit cuando estás completo. Eso es exactamente lo que está pasando. El código detrás de eso es básicamente un bucle salvaje. Entonces esos son bucles salvajes muy poderosos cuando no estás seguro exactamente de cuántas veces necesitas iterar. Una cosa más, si recuerdas, las cuerdas son muy quisquillas. Si realmente hubiera escrito hecho, pero digamos que puse una D, no lo vería como lo mismo que se hace por aquí Hay que escribir exactamente lo que hay para que termine. De hecho, déjame mostrarte eso. Bien, esta vez sólo voy a tener una bolsa de maquillaje muy pequeña. Digamos que tengo rimel. Digamos que tengo un poco de bronzo. Bien, ahora ya terminé. Entonces digamos que quiero ser gramaticalmente correcto y poner capital ahí, ya lo verás, no, eso es lo tienes hecho en tu bolsa de maquillaje. Básicamente. Tan pronto como vea esto hecho aquí, va bien. Ahora ya terminamos y de nuevo nos saca de ese bucle. Así que eso fue WOW loops con un ejemplo un poco más interesante. Seguiremos construyendo sobre todas estas cosas y mostrándote cada vez más complejos y ejemplos más interesantes y emocionantes. Pero por ahora, eso es lo que necesitas saber. Obviamente, cambia el hecho, cambia la pregunta, pruébalo con cosas diferentes, pruébalo con números y luego cambia esto de aquí a ser un tipo de datos numéricos en lugar de una cadena, pero solo juega y te veremos en la siguiente lección. 109. Rompe y continúa: todo el mundo necesita esto en la vida: En esta lección, vamos a estar viendo dos palabras clave especiales en Python y en muchos otros lenguajes de programación, llamadas break and continue. Estos son importantes cuando se trata de bucles. Te voy a dar otro ejemplo de un bucle de cuatro que ya hemos visto. Vamos a escribir uno normal. Cuatro son variables en rango. Vamos a mantenerlo realmente simple en el rango diez, imprimir. Y por si acaso te has olvidado, hace eso, bueno, no deberías haberlo olvidado. Así que ni siquiera voy a explicar eso. Seguro que sabes por qué lo ha hecho. Si lo has olvidado, puedes volver a nuestras clases, y lo cubrimos con mucho detalle. Sí. Bien, así que eso es lo que hace. Pero ahora digamos que no queremos imprimir cinco por alguna razón. Lo cual realmente no tiene mucho sentido aquí, pero sí juega un papel importante en muchas circunstancias. Digamos que no nos gustan cinco por alguna razón, simplemente no queremos que se impriman cinco . La forma en que lo haces es usar la palabra clave continuum. Para poder decir el bucle, no queremos cinco, vamos a tener que usar realmente una sentencia if. Si lo recuerdas, si las declaraciones te ayudan a tomar decisiones. Si yo es igual a, recuerda el doble igual. Cinco. Entonces todo lo que voy a decir es continuar. Veamos qué hace eso. Entonces obviamente, esta huella yo todavía está aquí, pero fíjate que la impresión no está sangrada, así que eso significa que no está en esta declaración F. Nuevamente, también recuerda, verás esta F y la impresión es en realidad, bueno, también tienen una sangría porque están dentro de este bucle de proa Debido a que la F y la impresión tienen una sangría de distancia este inicio de los cuatro bucles, están dentro de los cuatro bucles, y entonces este tiene una sangría lejos de la F, está dentro de la F. Se puede Que lo que hay dentro de lo que recuerden que obviamente esas iniciaciones son muy importantes De todos modos, vamos a ejecutar ese programa. Ahora ya verás si contamos desde el principio, cero, uno, dos, tres, cuatro, seis, y el fb se ha ido. Porque eso es exactamente lo que sigue haciendo. ¿Qué continuar se hace realmente? Se ha ido, cuatro rango diez, comienzan en cero, uno, dos, tres, así sucesivamente. Cuando llegue a cinco, entonces ahora estoy igual a cinco, si soy igual a cinco, sí, lo es, continúe. Lo que sigue hace es que ignora todo lo demás dentro del bucle cuatro debajo de él. Trae el programa directamente de nuevo a la cima aquí. Antes se encuentra la continuación, simplemente va directo a la cima y otra vez, ahora me convierte en seis y continúa yendo. Porque continuar te trae directo aquí, nunca llegó a esa declaración impresa para los cinco. Pero si yo hubiera puesto, por ejemplo, mi declaración impresa por encima de esta F, verás que ahora sí imprime los cinco y eso es porque obviamente ha entrado aquí y como te dijimos, se lee de arriba a abajo. Está impreso el IO, yo es igual a cinco, continúa, pero no hay nada debajo de él que en realidad se esté saltando, así que justo ahora va a la cima y realmente no hizo ninguna diferencia Pero volvamos a traerlo a como era y eso va a funcionar. Ahora la otra palabra clave que te dije que tenemos es romper. Lo que rompe hace, es que básicamente hace exactamente lo que dice. Déjame ejecutarlo para que lo veas. Bien, ahora en vez de decir: Bien, continúa hasta la cima del bucle, en realidad, si te encuentras con Vive, eso significa que el loop ha terminado. En realidad no queremos ir más allá de eso. Así que a pesar de que se lo hemos dicho, queríamos correr diez veces. Cuando llegué a cinco, vino aquí y me dijo: Bien, ¿soy igual a cinco? Sí, es break. Obviamente, nunca llegó a esa declaración impresa, así que nunca la imprimió por aquí. aquí, se podría pensar, bueno, ¿por qué no acabamos de hacer esos cinco? Bueno, sí, en realidad podríamos haberlo hecho y entonces no habría impreso los cinco. De hecho , podríamos haber cambiado este rango a decir f y rango cinco y hubiéramos hecho exactamente lo mismo. Pero nuevamente, este ejemplo, romper no es tan importante, pero en otros, lo será. Eso es solo para que ahora sepas lo que sigue hace, qué break hace. Ahora que ya lo sabes, voy a tratar de ponerte a prueba con un ejemplo un poco más complicado. Esto puede parecer un poco confuso, pero todo lo que estamos haciendo aquí, en realidad hemos hablado con usted antes. Entonces, si no entiendes completamente algo, claro, siempre puedes volver a esa conferencia, volver a escucharla y luego volver a esto. Si puedes entender esto, entonces sabes que realmente estás en un buen lugar y estás en el camino correcto. Vamos a meternos en ello. Entonces lo que voy a hacer ahora es en lugar de hacer un bucle así con números, vamos a escribir un mini programa donde el usuario tenga que vamos a escribir un mini programa donde introducir una oración, y lo que nuestro programa va a hacer es que va a encontrar todas las vocales en la oración e imprimirlas y dejar fuera las consonantes Así que vamos a meternos en eso. Entonces para hacer eso, primero, vamos a necesitar una cadena con nuestras vocales adentro Así que vamos a llamar a las vocales de cadena. Vamos a tener que poner esto ahora igual a las vocales y ojalá recuerdes cuáles son tus vels Qué son los AEIOU. Excelente. Bien. Ojalá recuerdes esos. Bien, entonces tenemos nuestra cadena con nuestras vocales en ella. Entonces vamos a tener otra cadena. Sólo llamémoslo SN corto para sentencia. Recuerda que dijimos que queremos que el usuario ingrese una oración. Para que puedan ingresar lo que quieran, solo les vamos a decir Input una oración. Bien. Ah, y pon una frase. Ahora aquí es donde empieza a ponerse un poco interesante y donde se puede ver cómo estas palabras clave son bastante útiles. Nuevamente, vamos a tener un bucle de cuatro y vamos a tener un bucle cuatro basado en cadena. Si recuerdas cómo hacerlo, tenemos cuatro, una variable I en SN. Lo que estamos haciendo aquí es otra vez, recuerda como antes acabábamos de tener esto como frase, tal vez podría ser hola, lo que sea, cualquier cadena. Pero en lugar de ahora tener realmente una cadena aquí, acabamos de decirle al usuario que la ingrese. Es lo mismo. Esta variable simplemente se convierte en cualquier cadena que ingrese el usuario. Para yo en esa frase, ahora necesitamos si declaración otra vez. Yo no estoy en vs. Eso podría parecer un poco raro. Pero básicamente lo que esto está diciendo, se está poniendo yo, que obviamente será la primera letra, para empezar, será la primera letra de la frase que el usuario ha introducido Voy a ejecutar todo esto y seguir con ustedes Pero por ahora, a ver si puedes intentar seguir adelante. Va a comenzar siendo la primera letra de la oración en la que los usuarios la ingresan. Digamos que escribí hola. Va a empezar por ser Si cual es la primera letra que es la primera letra en nuestra oración que yo sostengo no está dentro de vocales, entonces continúe Si, si nuestra variable I, sea lo que sea que esté sosteniendo, no está en nuestra vocal, entonces no es igual a AEIOU, en otras palabras, entonces seguir adelante porque recuerden, queremos que este programa sólo Obviamente, si nuestra carta no es vocal, porque continuar justo entonces nos llevará de nuevo a la cima de nuestro programa y no va a ver esta declaración impresa que estamos escribiendo aquí abajo donde decimos imprimir Voy a ejecutarlo y veamos exactamente qué pasa. Bien, entonces voy a escribir Hoi porque eso es lo que usé antes Y lo que verás es una E mecanografiada y una O mecanografiada, que obviamente son vocales Otra vez, lo que estaba diciendo antes es que salió bucle comenzó y empezó con yo igualando a esta Ja Entonces si H no está en vocales, continúe como H en vocales, nop no lo es. Entonces me lo salté y volví a la cima. Entonces yo sin contar E. Así que este yo por aquí se convirtió en E. Si E no está en vocales, continúe, pero E está en Esta declaración if es falsa. Así que nunca entró. Nunca vi el continuar. En cambio, debido a que esto es falso, simplemente fue directo a la impresora e imprimió la E y siguió adelante y obviamente no imprimió la y no imprimió eso y no imprimió y luego finalmente imprimió la O. Quiero decir, puedes escribir lo que quieras. Entonces es un pequeño programa divertido, pero puedes ver lo poderosos que pueden ser ahora los cuatro pentagramas cuando empezamos a juntar ifs y fors Y así ahora hemos creado un pequeño programa muy inteligente que puedes extraer rápidamente las vocales si eso es algo que te parece mano y necesitas hacer a diario Y si tal vez decidieras, Oh, en realidad, prefiero tener la consonancia. Sólo quita ese nudo. Y ahora si escribo esa misma frase, hola. Ahora no me está dando las vocales porque lo que he dicho aquí es que estoy diciendo, yo estoy en vocales, luego continuar Desde que me encontré con esa vocal por allá, estaba en vs, así que continuó y se saltó esta huella aquí abajo. Sí, de nuevo, juega con ella con la programación, aprendes a través de la práctica y probando y probando cosas nuevas. Ojalá entiendas esto y todo tenga sentido. Pero sí, espero que entiendas más sobre cuatro bucles y bucles while. Por supuesto, este break and continue también se puede utilizar en los bucles de Wile y lo daremos como pregunta extra en uno de los cuestionarios Asegúrate de que también las estás haciendo. 110. Cómo ver bucles visualmente: asombroso: Hemos estado viendo la diversión de los bucles y podrías decir, bueno, puedes ver algunos de los aspectos practicos de la misma y por qué podrías usar los diferentes cuatros y mientras escribes bucles, etcétera Los bucles pueden ser muy divertidos. Realmente puede ser. Vamos a estar buscando más adelante cuando realmente conseguimos que escribas tu propio pequeño juego. Vamos a estar usando un componente muy importante de Python, que son los gráficos de tortuga, que te permite producir gráficos, pero todo está construido alrededor todos los fundamentos que estás aprendiendo, uno de esos fundamentos clave que acabas de aprender Aquí tenemos un pequeño ejemplo en la pantalla donde estamos cargando el sistema de gráficos tortuga y estamos ejecutando una cosita, no tienes que preocuparte por todos los detalles de lo que significa. Sólo queremos mostrarte lo que puede hacer. Al mirar este código, sé que algo de él va a parecer realmente confuso y no tendrá ningún sentido para ti en absoluto, pero no te preocupes por el final o la voluntad. Pero ojalá algo de este código tenga algún sentido para ti aunque. Tan pronto como lo miraste, espero que lo primero que viste fue este bucle de cuatro por aquí, y este es uno que ojalá hayas escrito o codificado un montón de veces ya. Cuatro I y rango 40, haz algo. En otras palabras, haz algo 40 veces. Pero ahora en lugar de simplemente imprimir números o palabras o cosas en una lista, realidad vamos a imprimir un gráfico este gráfico que vamos a estar imprimiendo está usando gráficos totales, y va a aparecer en la pantalla, pero lo más importante, está usando un bucle y ya verás cómo funciona eso ahora. Bien, entonces, ¿qué está haciendo esto? Básicamente, si lo miras detenidamente, puedes ver que todo lo que esta pequeña forma está haciendo es imprimir un triángulo y está imprimiendo ese triángulo una y otra y otra vez, hecho, 40 veces. Cada vez, lo que este código está haciendo aquí básicamente es que está moviendo un poco la posición inicial por encima de algo. Todo lo que hace es imprimir un triángulo una y otra y otra vez, pero moviendo ligeramente su posición. Al hacer eso, es crear esta estrella. Pero lo más importante esta toda la estrella. La razón por la que está aquí es por este bucle. Ahora, cuando esto empieza a ser un poco divertido, en realidad puedes jugar con él. Digamos que cambiamos uno de estos números a 200. Ahora, en lugar de mover esa tortuga 144 veces, en lugar de mover la tortuga sobre 144 píxeles, vamos a estar moviendo sobre unos 200. No te preocupes. Sé que esto no tiene mucho sentido, pero solo te estoy enseñando cómo puedes divertirte con él y simplemente jugar con él. Se puede ver ahora que sigue haciendo un bucle, está haciendo una cosa de triángulo, pero en realidad está haciendo un patrón completamente diferente. Si miras este código, vas a ver que en realidad es bastante simple, pero puedes hacer algunas cosas bastante geniales. Se puede cambiar el número de veces que se repite. Entonces Sarah dijo que lo está haciendo 40 veces. Obviamente, si lo mantuviste en marcha, el patrón va a hacerse cada vez más grande. Así que mucha diversión. El punto es que esto es una demostración de bucle y bucle es muy poderoso Y cuando lleguemos a usar complementos como los gráficos de tortuga, realmente necesitas usar loops para que tu pantalla cobre vida y hacer que sucedan algunas cosas divertidas e interesantes. 111. Resumen: Sólo para resumir, juntarlo todo, toda esta sección ha sido todo acerca de los bucles y de lo importantes que son los bucles Empezamos a ver por qué tienes bucles, y luego nos fijamos específicamente en cuatro bucles y cómo funcionan cuatro bucles en un cierto rango, normalmente un rango especificable X equivale a uno a 400 o 50 o lo que sea que sea. Luego pasamos a mirar los bucles salvajes y cómo son un ejemplo específico o una instanciación específica de cuatro bucles porque permiten operar hasta que una condición sea cierta Analizamos cómo eso puede ser útil si no estás seguro de cuándo esa condición va a ser cierta También vimos entonces cómo podrías expandir eso y podrías incluir descansos en tu bucle para que realmente pudieras salir de un bucle si algo pasaba a ser cierto y lo usamos para incluso extraer todas las vocales que se escribieron en una cadena en una oración Entonces finalmente acabamos de terminar diciendo: Bueno, los bucles pueden ser muy divertidos. Incluso puedes usarlos visualmente con gráficos de tortuga, como puedes ver aquí en la pantalla, para que puedas divertirte mucho con ellos. bucles realmente son uno de los bloques de construcción, los bloques de construcción clave en la programación. Es importante tener tu mente alrededor de ellos para entenderlos. Cuanto más juegues con ellos, más llegarás a entenderlos y tendrán mucho sentido. Entonces eso son bucles, sección muy importante. Espero que disfrutes seguir practicando y seguir divirtiéndote. 112. Cajas mágicas increíbles: funciones: Bienvenido a esta siguiente sección muy importante, y es una sección sobre funciones, funciones y bibliotecas y todo lo relacionado con ellas. Ahora bien, ¿qué es una función? Bueno, sencillamente, es un bloque de código reutilizable. Si estamos en la nueva era donde las cosas necesitan ser reutilizables. No queremos tirar las cosas y tener desperdicio, etcétera. Es genial cuando puedes tomar un artículo y usarlo una y otra y otra vez, especialmente cuando se trata de cosas como pajitas Estamos en esta zona tenemos que acabar con las pajitas de plástico. Más bien tener una pajita que esté hecha de vidrio o bambú o algo más que puedas reutilizar. Ese es el error y es exactamente lo mismo a la hora de codificar. Ahora, no te has dado cuenta, pero ya has estado usando funciones. Hay muchas funciones incorporadas que Python tiene como print Imprimir es una función. Ahora, en realidad, lo que está pasando es un pequeño bloque de código que le está diciendo a Python qué hacer, pero no tenías que entender todas las complejidades de cómo funcionaba y cómo hace que algo se muestre en la pantalla Todo lo que tenías que hacer era decirle lo que querías imprimir, pasarías un valor para imprimir y luego se imprimiría en la pantalla. Pero ahora puedes crear funciones definidas por el usuario, no todas las funciones tienen que ser aquellas que son crédito por el propio sistema. Puedes hacer tus propias funciones. ¿Por qué querrías hacer eso? Bueno, la razón por la que te gustaría hacer eso es porque una vez que lo hayas hecho una vez, puedes usarlo una y otra y otra vez. Es como deshacerse de esas pajitas de plástico. Es una cosa muy útil de hacer. Queremos mostrarte cómo puedes crear funciones, cómo usas funciones porque te permiten construir código de manera modular. Es como tener los ladrillos, los bloques de construcción que puedes simplemente adoquines y empezar a producir tu código En esta sección, vamos a ver las funciones y cómo son tan poderosas y muy importantes a la hora de codificar en Python. 113. Funciones mágicas de Python: En la lección anterior, te presentamos este concepto de funciones. Básicamente, Python tiene un montón de funciones que podemos usar, como dijimos, print es en realidad una función. Pero para que puedas usar una función, tienes que saber su nombre. Obviamente, nunca podríamos haber usado la impresión si no sabíamos que existía esa impresión. Entonces, ¿cómo hacemos esto y cómo recordamos qué funciones funcionan con qué y cuáles son sus nombres y todas las cosas que hacer con funciones, básicamente. Como también dije en una de nuestras lecciones anteriores, documentación de Python es muy importante. Para que puedan ver aquí estoy en el camino y documentación en estos momentos. Puedes simplemente Google Path y documentación o ir directamente a este enlace, y saldrá con esta página. Ahora bien, lo que básicamente es esta página es, es una lista de un montón de cosas, pero dentro de esto, verás que hay estas cosas llamadas módulos. Ahora bien, ¿cuál es el módulo? Entonces como dije antes, funciones, tenemos funciones para todo básicamente, y son muy importantes. Ahora, para encontrar funciones y hacerlas más fáciles de usar, las dividimos en varios módulos. Básicamente, aquí ves que hay este cable de módulo. Bueno, hay módulos numéricos y matemáticos. Entonces, si quisiera una función que ver con, digamos, matemáticas, tendría que ir al módulo de matemáticas Entonces verás que ahora estoy dentro un módulo de matemáticas y este módulo almacenará todas las funciones que tengan que ver con las matemáticas. Bajemos y veamos algunos de ellos como ejemplo. Recuerda antes cómo intentamos encontrar algo al poder de algo y en realidad usamos esto. Usamos un número a la potencia de otro número, así podríamos ir diez a la potencia de dos. Pero en lugar de hacer eso, en realidad podemos usar esta cosa de aquí. Podemos decir matemáticas, que es el nombre del módulo, usar esta cosa llamada operador de punto y luego usamos este nombre. Esto podría parecer un poco diferente a la forma en que usamos impresión porque no teníamos este punto y qué es todo esto. Pero vamos a ver ejemplos de estos en las futuras conferencias. Pero por ahora, lo que necesito recuerdes es que tenemos un montón de funciones que pueden hacer y resolver las cosas por nosotros y hacer nuestra vida mucho más fácil, ya ves, si quieres trabajar log en lugar de hacerlo por ti mismo, solo puedes usar estos, si pasas por estos, verás, especialmente bien, este es un módulo matemático, así que verás que todo es por hacer con matemáticas. Bien. Entonces básicamente, a lo que me refiero, hay que recordar que tenemos módulos y módulos almacenan funciones de tipos similares. Ese era un módulo matemático. Es decir, tenemos diferentes tipos de datos. Todos son módulos. Así que mira estos, mira los diferentes módulos, y puedes ver cómo ciertas funciones están todas dentro de ciertos módulos. Entonces sí, eso es todo por ahora y vamos a ir a ver ejemplos en nuestra siguiente lección. 114. Usar las funciones te facilita la vida: Qué funciones son y sabes dónde encontrarlas o al menos paradero para encontrarlas, y sabes que están todas juntas en pequeños paquetes llamados módulos Pero ahora tenemos que mirar ¿cómo usamos realmente estas cosas de función? Bien, entonces te voy a mostrar un ejemplo donde puedes ver que las funciones realmente pueden ser muy útiles y muy importantes. Lo primero que tenemos que hacer si quieres usar una función es que vas a tener que importar el módulo que te gustaría usar o tendrás que importar el módulo de la función que te gustaría usar. Déjame primero decirte lo que vamos a hacer. Lo que quiero hacer es crear una pequeña mini aplicación que genere números aleatorios. Ahora bien, si piensas en esto lógicamente, quiero decir, codificar, eso sería bastante difícil ¿Cómo escribo un código para dar un número aleatorio? Quiero decir, piensa en lo que sabes, si declaraciones, declaraciones, pero ¿cómo puedo asegurarme de que cada vez que se ejecute este programa? Así que he escrito esta declaración aquí que básicamente está importando el módulo al azar en este programa que estoy a punto de escribir Tan pronto como escribí esto aquí, puedo usar cualquiera de las funciones se encuentran en el módulo aleatorio. Entonces, vamos a ponernos en marcha. Bien, la función que te voy a mostrar nos va a permitir elegir un rango, digamos solo uno y diez. Y entonces cada vez que ejecutemos ese programa, generará un número completamente aleatorio entre e incluyendo esos dos números. Bueno, ahora lo escribiré por ti, pero básicamente, va a ser un número que puede ser mayor o igual a uno y menor o igual a diez. Incluye esos dos números. Lo cual podría parecer un poco diferente porque antes el número final no estaba incluido con otras cosas. Pero solo recuerda, números aleatorios, incluye tanto el número inicial como el número final. Pero te voy a mostrar ese num. Bien. Ahora lo que tenemos que hacer es crear una variable que en realidad va a almacenar ese número aleatorio para nosotros cuando se ejecute el programa. Yo sólo lo voy a llamar NAM y vamos a hacer num igual a un número aleatorio. Pero claro, si escribí seis y luego fui a imprimir seis. Quiero decir, imprimir num. Muy obviamente, eso no es hacer nada al azar. Cada vez que corro obviamente va a estar imprimiendo seis porque num es igual a seis. No puedo hacer eso. Yo quería cambiar cada vez, así que voy a hacer esto. Vamos a decir al azar dot Rent. Y digamos uno o diez. Bien, entonces, ¿qué acabo de hacer aquí? Esta primera parte aquí que dice random es el nombre del módulo que vamos a utilizar para encontrar la función. Lo que esto nos está diciendo cuando decimos al azar, es decir a nuestro programa, ve y mira en el módulo aleatorio que Pathon tiene almacenado Cuenta con bibliotecas y bibliotecas de módulos. Pero en cuanto vea esto, se va a ir, Oh, tengo que ir al módulo aleatorio para encontrar esta función aquí. Entonces lo siguiente después de haber escrito este azar, haces esta cosa llamada punto Básicamente, este punto está diciendo, desde el módulo aleatorio, obtener esta función. Siempre que estés usando funciones, es lo mismo cada vez. Vas a poner el nombre de los módulos que la función es de punto la función que quieres usar. En este caso, es randint. Ahora, ¿qué va a hacer Randant? Todo lo que hace randint es. Ahora, cada vez que ejecuto el programa va a imprimir un número diferente y el número va a ser de e incluyendo uno y dos e incluyendo diez. Entonces veamos qué pasa. Y entonces sólo estoy imprimiendo ese número. Entonces voy a ejecutar el programa una vez. ¿Qué se hace? Se toma num y se le asigna a un número aleatorio por aquí y ¿cómo se hace? No grabamos ningún código, pero obviamente se usa esta función y eso es lo que esta función ejecutó y hace. Listo Espero que estés viendo que es muy útil usar funciones. Yo solo lo volví a ejecutar y ahora ves que tengo a Fab. Esta vez el programa se ejecutó, hizo esta pequeña magia aleatoria por aquí y nuevamente escogió un número aleatorio entre ahí y lo asignó a este valor num y luego lo imprimió. Entonces si lo vuelvo a ejecutar, nuevamente se escogió un número aleatorio entre e incluyendo esos dos números y se lo asignó a num y num impreso. Cada vez que ejecuto este programa, generará aleatoriamente un número diferente. Entonces, eso es bastante genial. Ese es un ejemplo de cómo usar funciones. Ahora, incluso verás en el juego que vamos a estar codificando al final, vamos a, hecho, usar esta función exacta y verás por qué es tan importante. Puedes pensarlo en la mayoría de los juegos que juegues. Las cosas que suceden o las cosas que los jugadores a tu alrededor están haciendo si son generados por computadora. Ojalá puedas ver ahora por qué estos son tan geniales o por qué las funciones son tan geniales. Nos están permitiendo usar código otras personas que ya ha sido escrito previamente, prueba leída, se aseguró de que sea el código óptimo absoluto, y solo nos está permitiendo reutilizarlo usando conociendo el nombre. Pero obviamente, como habrás notado, para poder usar la función, también hay que saber qué parámetros toma. Así que recuerda, antes mencioné parámetros. Básicamente, parámetros, cada función tiene ciertos parámetros un texto. Aquí los parámetros fueron este primero, que fue el punto de partida y el segundo, que fueron el punto final. La documentación de la que te hablé también te dirá cuáles son los parámetros para la función. Solo hay un ejemplo rápido de una función y dónde podrías usarla. A partir de ahora voy a estar usando muchas funciones en nuestra codificación y en realidad voy a mostrar cómo podríamos haberlas usado en listas y cadenas y todos los ejemplos. Algunos de ellos podrían estar en los cuestionarios. Recuerda, asegúrate de que las estás haciendo y hay una breve introducción para funcionar 115. Haz tu propia función: Mirando estas cosas realmente asombrosas y poderosas llamadas funciones. Estas son estas cajas negras en cierto sentido que tienen todo tipo de código dentro de ellas. Podemos llamarlos y ellos nos pueden devolver valores. Ahora sabemos que hay muchas funciones integradas y hay todo tipo de módulos, por lo que puede tener funciones desde todo, desde la función de tipo de dibujo hasta las funciones matemáticas, etcétera, y podemos usar esas funciones para hacer muchas cosas increíbles Pero el verdadero poder entra cuando empiezas a crear tu propia función. ¿Por qué querrías hacer esto? Bueno, te permite tener este código reutilizable. Como te mostraremos ahora en esta lección, cuando empieces a crear funciones, resulta mucho más fácil codificar porque una vez que una función se realiza una vez, es una pequeña caja mágica increíble que puedes usar una y otra vez. Entonces echemos un vistazo. Voy a comenzar con un ejemplo relativamente simple, solo para poder mostrarte el layout y la sintaxis y básicamente cómo es una función. Esto es lo que haces para crear tu propia función. Empiezas escribiendo esta palabra clave def, que básicamente significa define Porque cada vez que escribes una nueva función, básicamente estás definiendo una nueva función. Lo siguiente que quieres es darle un nombre a tu función. Entonces en este ejemplo, solo voy a mostrarte cómo crear una función que cube un número. Entonces, obviamente, al igual que las variables, vas a querer darle a tu función un nombre que tenga sentido. Así que déjame llamar a mi función cube. Entonces las funciones también tienen lo mismo con variables donde no debes comenzar con mayúscula y no debes comenzar con un número. Bien. Entonces hay definir cubo. Lo siguiente que necesitamos para que esta función de cubo funcione, necesitamos un parámetro aquí, que va a contener el número que el usuario quiere cubo. En otras palabras, es básicamente una variable llamada num. Este es el valor que se va a pasar a la función para que pueda hacer un cubo de ese número. Entonces este parámetro mantendrá ese valor. Al igual que cuando elegiste llamar a print, cuando hicimos ejemplos con print, pones un valor entre esos paréntesis y así es como la función sabía qué frase o qué querías que imprimiera. Entonces, ¿cómo colocaríamos un número? Básicamente, lo que queremos hacer es que queremos tomar ese número. Los tiempos por sí mismo otra vez y los tiempos de nuevo. Eso nos dará el cubo del número. Pero ahora con funciones, quieres que esta respuesta sea devuelta al usuario o devuelta al usuario, como diríamos. Lo que realmente quieres hacer es escribir esta palabra aquí llamada retorno. Ahora, voy a mostrarte lo pasa en este que funciona, y luego te voy a mostrar lo que pasa si nos lo quitamos. Lo que esto debería hacer es que el usuario va a llamar a la función simplemente escribiendo el nombre de la función. Entonces porque tenemos este parámetro aquí, tenemos un parámetro llamado número. Eso significa que para llamar a esta función, el usuario tiene que poner un parámetro. Digamos sólo siete. Si el usuario no puso aquí un parámetro, eso significa que Pathon no verá esta función de cubo como la misma que esta Digamos, por ejemplo, que aquí la pongo en otra variable, vamos a llamarla número dos. Esto ahora ya no llama a esta función de aquí. Tienes que verificar que tu función tenga la misma cantidad de parámetros que la función a la que quieres llamar. Entonces obviamente, queremos imprimir este valor. Si no puse la declaración impresa, bueno, te voy a mostrar lo que va a pasar. Todo esto que está haciendo es tomar este número siete y este número siete se está convirtiendo en esta variable num al igual que asignamos variables, num se convierte en siete y luego solo va siete por siete por siete, y nos está devolviendo ese valor. Curiosamente, lo que realmente está sucediendo aquí estamos ejecutando una función dentro de una función La función print es obviamente la función propia de Python y estamos pasando que el resultado de nuestra propia función, que era cube. Cube hace algo, devuelve el resultado, lo entrega a la función print, que hace algo, que lo imprime en la pantalla. Se puede ver lo poderosas que son estas pequeñas cosas porque una declaración podría hacer todo eso. Sí, también quería mostrarles que este valor de retorno en realidad no imprime nada. Todo lo que hace es devolver este valor a este núcleo de función. Si nunca lo imprimiste, en realidad sería una función casi inútil Pero si cambio esto para imprimir, entonces va a imprimir el valor porque va entumecido se convierte en siete y solo estamos haciendo una declaración de impresión normal, imprimir siete veces siete por siete Ahora bien, la razón por la que realmente no querríamos hacer eso es que queremos que sea una función de cubo porque posible que ahora quieras hacer un cálculo con ella. Entonces, en lugar de imprimirlo necesariamente, momento ahí Sarah tiene el cubo siete, así podría ir al cubo siete más tres y podríamos imprimir ese resultado o almacenar ese resultado en una variable, hacer lo que quisiéramos. Ahora puedes ver lo poderosa que es porque ahora tenemos esta función que en realidad se puede usar como parte de una fórmula. Bien, entonces ahí se puede ver lo que hice es que ahora podría agregar tres al cubo de siete porque se le devuelve un entero. Porque es devuelto o devuelto un número, puedo sumar, puedo restar y hacer todas esas otras operaciones divertidas Esa es la disposición básica de una función. Solo recuerda que tienes esta muerte, tienes tu nombre, y luego tienes estos corchetes con parámetros opcionales. Algunas funciones en realidad no necesitan. Éste sí. Llegaremos a ejemplos donde es posible que no necesite ningún parámetro en absoluto. Pero por ahora, no, ese es el layout de una función. 116. Haz tu propia función, de nuevo... porque es tan genial: La lección anterior, nos fijamos en esto y cómo crear nuestra propia función que cube un número para nosotros. Pero en esta lección, quiero mostrarles un poco más de un ejemplo interesante que ojalá puedan ver cómo las funciones pueden ser realmente bastante útiles. Para ello, vamos a necesitar una lista de los días de la semana. Porque quiero jugar un poco con esta lista y crear diferentes funciones que hagan cosas diferentes con la lista. Bien, así que recordemos que las listas son tipos especiales de tipos de datos. Esto lo vimos en la lección anterior. Si no estás seguro de cómo hacer listas, regresa y visita nuestra lección sobre listas. Aquí tenemos una lista con todos los días de la semana. Déjame en realidad tal vez llamar a esto algo así como días de la semana. Tiene más sentido, no sólo una lista. Es una lista de días. Bien. Ahora vamos a crear una función. Entonces la función de verso que quiero definir es una función que quizás podría decirnos si el día actual de la semana es un fin de semana. Entonces tal vez necesites esto si estás averiguando cuánto le pagan a alguien por algo, tal vez sea diferente el fin de semana, o tal vez quieras escribir un programa que te diga qué días está abierta una tienda, tal vez sus horarios cambien en función de los días de la semana. Básicamente, quiero decir, puedes pensar en diferentes formas en las que podrías usar esto. Pero sólo queremos saber. Queremos un programa que nos pueda decir inmediato ¿es un fin de semana o no Entonces vamos a definir esta función y voy a llamarla la función es fin de semana. Es casi como una pregunta. Cuando lo llamas, estás diciendo, es el fin de semana y nos va a decir verdad o falso. Para esta función, necesitamos tener un parámetro de cadena donde el usuario escriba en cualquier día de la semana. Así que vamos a llamarlo día tal vez. Bien. Ahora bien, la forma en que vamos a hacer esto es como lo que hicimos en algunos de nuestros otros ejemplos, básicamente queremos decir, si el día es igual al sábado o el día es igual al domingo, entonces queremos devolver un valor de true y si no lo es, queremos devolver falso. Entonces intentemos hacerlo. Si día es igual a, y recuerda la ortografía tiene que ser exactamente la misma. Si deletreé esto de manera diferente a como lo deletreé aquí, entonces no los va a ver como iguales A, queremos escribir una o porque el día no tiene que ser igual a sábado y domingo. Es sábado o domingo. Un Día es igual día igual al domingo. Entonces queremos devolver un valor de verdad. En otras palabras, sí, es un fin de semana. De lo contrario, vamos a devolver falso. Básicamente, no es un fin de semana. Nuevamente, eso es todo lo que realmente queremos, cierto si es, falso si no lo es. Ahora, llamemos a esta función. Entonces, para llamarlo, necesitamos saber su nombre es fin de semana y quiere un parámetro. Vamos a comenzar con sólo darle a la función un valor o un día de nuestra elección. Vamos a darle el miércoles. Yo no lo imprimí, así que de nuevo, no pasa nada si no imprimes tu función. Bueno, no pasa nada, pero no vemos que pase nada. Pero en cuanto lo imprima, podrá ver exactamente lo que hizo. Yo devolví este valor de falso porque el miércoles no es un día de semana vamos a darle uno que es domingo y eso va a volver cierto Pero recuerda como dije, no quieres realmente escribir programas como este que sean susceptibles al error humano porque en cuanto lo deletreé mal, me está diciendo que incluso pensé que escribí el domingo, no, ese no es un día de la semana, solo para hacerlo un poco más robusto. Entonces solo para hacerlo un poco más robusto, he creado esta lista que podemos usar y también esto pone en una sola gran cantidad de tus otros elementos que has aprendido de tus otros elementos que has aprendido en otras secciones, ojalá te recuerde todas las cosas que has aprendido Entonces llamemos a los días de la semana, y preguntémosle si el cuarto índice de la lista es un día de fin de semana'. s recordar el cuarto índice en la lista, el lunes es cero. Cero, uno, dos, tres, cuatro, el viernes no lo es, pero si luego fuimos cinco, nos da verdad. Entonces esto es básicamente que pasan los días de la semana cinco. En otras palabras, está pasando el sábado a esta función por aquí, día luego se convierte en sábado y se ha ido. ¿El día es igual al sábado? Sí, es retorno verdadero. Eso es lo que está haciendo esta función. Una cosa genial de las funciones que devuelven valores verdaderos o falsos es que en realidad podemos usarlas con declaraciones if, igual que una declaración if determina si algo es verdadero, entonces algo sucede y si no lo es, sucede algo más, en realidad podemos usar estos valores true y false para eso. Voy a cambiar esta declaración impresa en una declaración if. Lo que queremos preguntar entonces lo que queremos hacer es que queremos decir si es fin de semana. Podríamos decir iguales, iguales a verdad, pero recuerden, como dijimos antes, solo decir es fin de semana o simplemente decir esto es lo mismo que decir si es igual a verdad. Entonces, si es cierto, entonces nos gustaría imprimir algo. Así que digamos que sí es el fin de semana y si no lo es, si es falso, Imprimir, sigue funcionando Aún días de trabajo. Esta es nuestra declaración de las FNL. Ahora cuando lo ejecuto, se encuentra días de la semana Índice cinco, que era sábado. Ha entrado en esta función con el día del sábado y se vuelve verdad. Eso significa que toda esta expresión se vuelve verdadera. Si es verdad, imprime, yipee, es el fin de semana Eso es lo que imprimió. Ahora cambiémoslo a uno que sabemos que no es un fin de semana. Solo vamos con cero, que sabemos que debería ser el lunes. Y si ejecutamos eso, oh, no, siguen siendo días de trabajo. Entonces hice básicamente lo contrario, entró, así que era lunes. ¿Es sábado o domingo? No, devuelve falso. Entonces vino aquí. ¿Es cierto el fin de semana? No, no lo es Tenemos una falsa de eso, así que estamos llegando a la otra aquí e imprimiendo esto. Entonces, obviamente no teníamos que tener todo este asunto de la lista aquí. Podríamos haberlo escrito directamente. Eso podría parecer un poco más simple para algunos de ustedes o más fácil de entender. De nuevo, eso nos va a dar este valor aquí. Entonces, eso es solo una función rápida, cómo puedes ver que puedes usar valores de retorno true y false y que se vuelve bastante útil. Obviamente, puedo usar esta función tantas veces como quiera. Quizás más adelante, quiero tener otra declaración que imprima algo más basado en si es un fin de semana o no y puedas seguir usando esta función tantas veces como quieras a lo largo de tu programa. Lo que es importante con las funciones y cuando estás codificando, una de las cosas que quieres aprender es, ¿ puedes crear bloques reutilizables a partir de cualquier cosa? Cuanto más rápido puedas crear bloques reutilizables, mejor será tu codificación . Porque cuando sabes que ese bloque reutilizable está funcionando, nunca más tienes que preocuparte por ello. Siempre va a funcionar, así que es por eso que las funciones son tan poderosas. Diviértete, juega con ellos. Se puede ver que realmente son poderosos. Todo tu conocimiento, toda tu sabiduría ahora se está uniendo y las funciones son el siguiente paso emocionante. 117. Resumen: Bien hecho, bien hecho. Has llegado al final de funciones, y este es un módulo realmente importante. Aquí es donde hemos aprendido a crear estas cajitas que encapsulan código, código que se puede usar una y otra vez Como dijimos, funciones, hay muchos tipos diferentes de funciones, y encajan en categorías, categorías más amplias llamadas módulos. Y así puedes tener módulos que tengan que ver con funciones matemáticas, como hemos visto, o módulos que tienen que ver con funciones gráficas, módulos que manejan manipulación de listas, etcétera, todos los diferentes tipos de funciones No solo los miramos, miramos cómo puedes usarlos y los has estado usando todo el tiempo, lo hayas usado o no, funciones simples como pero cuando las estés usando o funciones más emocionantes como aleatorias que queremos usar en nuestro juego que vamos a crear en breve, esas funciones siempre requieren que pases parámetros. Muy importante que pases el número correcto de parámetros para poder llamar a la función. Y entonces la función devolverá algo. Esa es la razón por la que están ahí. No son sólo una caja negra que no hace nada, normalmente devuelven un valor, y podemos trabajar con ese valor. Y así seguimos adelante y te mostramos cómo podrías crear tu propia función. Creamos una función que miraba los días de la semana y si algo era un fin de semana. Y lo emocionante de eso es que podrías usar esa función para probar si un determinado día de la semana era el fin de semana o no. Entonces, las funciones son muy poderosas y son algo que vas a usar cada vez más. Entonces no son difíciles de usar. Se trata de poner tu código en estos pequeños paquetes, y luego una vez que se empaquetaron y prueban, sabes que puedes seguir usándolo fácilmente en todo tu programa. Entonces estos son muy buenos hábitos que necesitas desarrollar. Y hemos mirado a un par de ellos. Hemos mirado el diseño, cómo debes mantener tu sangría adecuada. Hemos mirado incluir comentarios, y otro muy importante es mantener la cohesión de tus módulos y de tu codificación al armar funciones Tan bien hecho, has llegado al final de este módulo, y ya estás listo. O alguna acción realmente emocionante en la siguiente sección. 118. Introducción a tu juego: esto se ve divertido: Bueno, esta es la parte más emocionante de aprender a programar el viaje. Ya has pasado por todo tipo de cosas. Has estado aprendiendo todos los conceptos básicos de la programación en Python. Y ahora vamos a tomar todas esas cosas, envolverlas y divertirnos un poco. Entonces en esta sección, lo que vamos a hacer es que vamos a mostrarte un juego de juego que ha sido escrito usando gráficos de tortuga. Se puede ver el juego aquí en la pantalla, y a primera vista, parece que es relativamente complejo. En realidad no es tan complejo en absoluto. A medida que lo resolvemos rápidamente, verás que entiendes la mayor parte de lo que hay aquí. Sólo para darte una pequeña muestra de lo que te vas a meter, vamos a ejecutar el juego y solo mostrarte lo que vas a estar creando. Así que es solo un pequeño partido de fútbol en el espíritu de todas estas emocionantes aventuras que están sucediendo todo el tiempo alrededor del mundo, cosas como Copas Mundiales de fútbol o si solo juegas al fútbol. Este es un juego emocionante para mostrarte el fútbol. Bien, entonces no es un juego completo de futbol. Es solo meterte en los pequeños conceptos básicos del mismo, y básicamente es patear para anotar penaltis Entonces está dibujado nuestro campo, y ahí tenemos a nuestra pequeña tortuga que es portero y la tortuga tiene que salvar las bolas que se disparan. A las metas. Y ahí verás bien hecho es una salvada por la tortuga. Y cada vez que se envía una bola nueva en una dirección aleatoria, y la tortuga se perdió esa , así que ese es un gol. Entonces, básicamente, el objetivo del juego es salvar las bolas que se disparan en dirección aleatoria hacia la portería y asegurarse de llegar a tiempo para guardarla. Entonces, ahí es un juego muy emocionante, relativamente sencillo, pero muy divertido de hacer. Y obviamente, una vez que te hayamos trabajado a través de todos los detalles, puedes jugar y extenderlo y hacer tantas cosas más Entonces vamos a ponernos en marcha a ver cómo llega a ser nuestro juego de la Copa Mundial de Turtle Soccer. 119. Creación de tu tortuga: En nuestra conferencia anterior sobre loops, te presentamos brevemente Python Graphics, que se conoce como gráficos Turtle. Ahora nuestro juego que vamos a estar haciendo es usar gráficos de tortuga. Así que entremos en esto y veamos cómo creamos este juego. Antes ya te dije que tenemos módulos y si necesitamos un módulo de usuario, tenemos que importarlo. Se puede ver esta primera declaración por aquí en la línea uno, estoy importando tortuga. Para poder utilizar gráficos de tortuga, tu primera línea tiene que ser tortuga importada. Si no hacemos eso, entonces no podemos usar ninguno de los métodos que puedes ver a continuación. Bien, entonces estas líneas aquí básicamente están configurando nuestra pantalla. Cuando ejecutemos el programa, déjame ejecutarlo rápidamente. Se puede ver que se crea la pantalla y esta pantalla es de tamaño 1,000 pixeles p 600. Y esta siguiente variable aquí es solo una variable de pantalla. Es solo la variable que usas siempre que quieras hacer cualquier cosa que tenga que ver con la pantalla, pero necesitas tener esto aquí. Entonces, cuando comiences en cuanto comiences tu codificación, escribe estas dos líneas. Y sin esta línea, nada va a funcionar. Bien, ahora entremos en la creación de nuestras tortugas. Para que este juego funcione, necesitamos dos tortugas. Necesitamos el portero y necesitamos el ánima. Esta línea de aquí, la línea número seis, crea un portero. Lo que estamos haciendo aquí es que hemos creado una variable llamada portero y la hemos asignado a esta función por aquí, que básicamente es como lo que has visto antes, es la clase tortuga, así que tenemos que decir tortuga y luego tortuga dardo, que en realidad es un método en la clase tortuga llamado tortuga Este método de aquí crea un nuevo objeto tortuga. Hemos creado esta silla objeto para el portero, una tortuga para el portero y luego debajo de ella, hemos creado otro objeto tortuga para el jabalí usando esta función tortuga que se encuentra en la clase tortuga Bien, así que eso crearía dos objetos de tortuga diferentes. Ahora, para que este juego funcione, necesitamos que estos objetos estén en una posición específica, y también queremos hacerlos un poco más interesantes y tal vez hacer que se vean de cierta manera. Y si, solo para hacerlos un poco más emocionantes. Entonces comencemos con la pelota. Esta primera línea aquí básicamente es simplemente levantar la pluma de tortuga. Entonces, si recuerdas en nuestro ejemplo te mostramos en el bucle, era casi como un dibujo que estábamos haciendo, y había este bolígrafo que estaba dibujando alrededor y alrededor de la pantalla. Pero no queremos esa línea cuando la tortuga se mueve alrededor. Entonces queremos levantar la pluma. Así que en realidad puedes probarte tu propio código. Este código ha sido publicado a continuación. Así que escribe el código o cópialo y pégalo, sino más bien intenta teclearlo y comentar esto y ver qué pasa si ha sido comentado. Hemos levantado la pluma, entonces queremos que nuestra bola tenga forma de círculo. Queremos que el tamaño sea dos. Quiero decir, puedes cambiar esto a lo que quieras. A lo mejor quieres un ánima gigante o una bola diminuta. Juega con él. Hemos hecho el color blanco y hemos hecho que la velocidad de la bola sea de uno. Ahora bien, una es en realidad la velocidad más lenta que puede mover una tortuga. Si vas alto hasta el final hasta diez, diez se convierte en el más rápido. Entonces esta función aquí se llama ball dot set heading, esto es poner la pelota para mire al oeste y eso es porque nuestras bolas van hacia el oeste hacia el portero Esas son solo algunas de las cosas que queremos que haga nuestra pelota y cómo queremos que se vea nuestra pelota. Básicamente lo mismo aquí abajo para el portero. Es exactamente lo mismo que está pasando aquí arriba excepto que hemos hecho la forma una tortuga, cambiamos la velocidad, hemos hecho que el portero mire hacia arriba, y tenemos etiquetar al portero para ir a la posición negativa 300 como eje X y cero es un eje Y en la Así que piensa en la pantalla como plano XY, y básicamente, tendrás que jugar con estos números para conseguir la posición perfecta. Pero puedes ver aquí, esto es negativo 300 y está en cero para la Y. Básicamente, estas son nuestras pequeñas tortugas que hemos hecho Hay LPO, hay gli, y después de esto, has hecho tus dos primeras tortugas y juegas un poco y ves qué pasa si cambias el código alrededor si cambias el código 120. Cómo enseñar a tu tortuga a patear: Ocupado haciendo este juego de anotación de fútbol muy emocionante, y tenemos los conceptos básicos de nuestras tortugas toot y el contorno de nuestro campo en Ahora lo que queremos hacer es que queremos empezar a patear la pelota Ahora, lo que vamos a echar un vistazo en esta siguiente sección es definir la función de patada para patear la pelota, pero no va a hacer nada Recuerdo que hablamos de esto antes que lo que hacen las funciones es que realizan algo. Son una caja negra que está haciendo algo que está devolviendo un valor. Entonces por el momento, esta función, como nosotros creando los Salmos, digamos, la caja ahora no va a hacer algo, va a hacer algo más adelante cuando usemos la función kick Entonces vamos a trabajar a través lo que está haciendo la función kick. no verás que pase nada en la pantalla, pero verás que algo sucede más tarde cuando tengamos que empezar a patear la pelota Puedes ver aquí hemos definido patada. Y antes mencioné que algunas funciones no necesitan parámetros, y esta es una de ellas porque no necesito pasar nada a la función. Yo sólo quiero que haga algo por dentro. Así que hemos definido esta función llamada kick. Bien, entonces lo que en última instancia queremos que haga esta función es que queremos que el balón se mueva hacia la portería. Pero claro, no queremos que la pelota se mueva cada vez al mismo lugar. Queremos que sea al azar. No queremos que el portero sepa a dónde va a ir la pelota Para hacer eso, necesitamos cosas un poco más complejas, pero no hemos mirado todo esto y deberías entenderlo fácilmente. Lo primero que hacemos aquí es fijar el rumbo. Hemos puesto el rumbo a 180, y si recuerdas desde arriba del 180 está al oeste porque queremos que la pelota vaya hacia el oeste hacia nuestros objetivos. Entonces tenemos esta variable aquí llamada ángulo, que queremos almacenar un entero aleatorio entre e incluyendo cero y 27. Después de algunas pruebas, me di cuenta de que este era el tamaño exacto de los goles y no quería que la pizarra fuera el tamaño exacto de los goles y no quería más allá los goles o por debajo de los goles. Pero podrías cambiar esto. Digamos que decidí que en realidad quería hacer esto. 50, básicamente, todo lo que va a hacer es ahora que tu pelota pueda ir aún más lejos hacia la parte superior de la pantalla e incluso bajar hacia la parte inferior de la pantalla. Cambiando eso intentaremos cambiarlo y veremos qué pasa y verás cómo la pelota puede llegar a partes más. Pero por ahora, sólo vamos a mantenerlo en 27, pero queremos que sea un ángulo aleatorio entre ellos. Estos números. Nuestra siguiente variable que tenemos aquí es la dirección. Nuevamente, queremos un número aleatorio. Queremos que ese número aleatorio sea cero o uno, verás donde usamos esto a continuación aquí. Esta variable de dirección, lo que realmente queríamos hacer es que la hemos puesto dentro de una declaración if. Si la dirección es cero, si ese fue elegido como el número aleatorio, queremos que la bola vaya a la izquierda por ese ángulo aleatorio. Entonces, si lo piensas bien, lo que está pasando es, digamos que el número aleatorio aquí para dirección era cero, el ángulo aleatorio era diez. Esta función de punto de bola izquierda va a girar la bola a la izquierda diez grados, que era nuestro ángulo por aquí. Eso es lo que esto va a hacer, de lo contrario si la dirección está en cero, entonces en otras palabras, si es uno, entonces queremos que la pelota gire a la derecha por ese ángulo aleatorio, que bien nosotros, que al azar fue de diez grados para este ejemplo. Entonces verás cuando el programa funcione, la pelota se mueve constantemente en una posición aleatoria. Ahora bien, si no tuviéramos la izquierda y la derecha, entonces lo que pasaría es que cada vez se ejecute este programa y se elija un ángulo aleatorio, la pelota siempre va a subir porque siempre va a girar a la derecha, a la derecha, a la derecha. Pero eso no queremos. Queremos que vaya también a la izquierda, así que necesitamos que vaya en cualquier dirección, izquierda y derecha. Bien, entonces la siguiente línea que tenemos aquí es apenas mover el balón hacia adelante hacia la portería. También he averiguado que el número óptimo para eso es de 320 píxeles, pero podríamos cambiarlo para más. Sólo quiero decir que la pelota va a terminar más abajo aquí en la pantalla. Déjame ejecutarlo para que veas el posicionamiento. Recuerden, no va a cambiar por última vez, pero lo que he hecho es que quiero cuando se patee esta pelota, quiero que termine en algún lugar aquí donde estarán nuestros objetivos. Si hicimos esto más, digamos 350, las bolas van a terminar más aquí abajo. Bien. Entonces tenemos esta declaración if por aquí. Lo que esto hace es que básicamente queremos saber si el portero ha salvado la pelota o no Podrías simplemente pensar, bueno, tal vez pensarías, seguramente, si la posición de la pelota está en la misma posición que el portero, entonces la pelota se ha salvado El motivo por el que no he dicho que si la posición del portero es igual a la posición de la pelota, entonces la pelota se guarda es porque la posición del portero para la posición de la pelota esté exactamente en el mismo lugar es muy poco probable porque piénsalo, es una pantalla enorme Fácilmente podría estar apagado por un píxel y podría parecer que se salvó, pero de hecho, no está exactamente ahí. En lugar de decir eso, más bien hemos dicho que si la distancia entre el portero y el balón es inferior a 35, entonces es un salvamento, de lo contrario es un gol También podrías cambiarlo si yo hiciera esto más grande, digamos 100 entonces el portero puede estar aún más lejos de la pelota para que sea un salvamento Pero he averiguado que 35 es un buen número para esto. Entonces aquí abajo, estoy escondiendo la tortuga por aquí porque lo que quiero que pase es que quiero que la pelota vuelva al centro de la pantalla. Por aquí una vez que ha sido pateado. Pero no quiero que el usuario o el jugador vean la pelota viajando de regreso aquí. He escondido esta tortuga y acaba volver al centro y una vez que está de vuelta en el centro, es reson básicamente esta afirmación de aquí la trae de vuelta a la mitad de la pantalla Entonces sí, eso es básicamente lo que está haciendo esta función. Vamos a ejecutarlo para ti más tarde para que veas exactamente cómo entran en juego todos estos diferentes componentes. 121. Cómo enseñar a tu tortuga a salvar una pelota: Nuestro juego se está desarrollando lentamente, y en la lección anterior, vimos cómo se podían dar patadas con la tortuga portero y la tortuga bola y cómo podíamos ajustar el ángulo para que fuera aleatorio, así que lo haría un poco más emocionante y así el portero podría subir y bajar en ese tipo de posición e intentar salvar Pero ahora lo que tenemos que hacer es que obviamente tenemos que tener una función que nos permita mover al portero hacia arriba y hacia abajo. Y así esencialmente vamos a necesitar dos funciones porque necesitamos una función que vaya a mover al portero hacia arriba y luego vamos a necesitar otra función que a mover al portero hacia abajo, y que va a estar respondiendo a las flechas arriba y abajo de nuestro teclado Entonces también, en última instancia, también vamos a querer llamar a nuestra función de patada también. Tenemos que ver eso en esta lección cómo crear esas pequeñas funciones. Nuestra primera función que necesitamos definir para enseñarle a nuestro portero cómo ahorrar es esta función de portero arriba. Nuevamente, es solo un simple sordo y hemos llamado a nuestra función portero Entonces, para que nuestro portero suba, queremos que mire hacia el norte, que era este ángulo de 90 grados Así que he puesto al portero para que vaya al norte y quiero que el portero simplemente avance cinco píxeles, lo cual es bastante pequeño, pero entenderán por qué cuando llegue a esta parte de aquí abajo Entonces por ahora, portero arriba, todo lo que hace es que señala tortuga para ir hacia arriba y la mueve hacia adelante por cinco Entonces esta función por aquí es más o menos lo contrario del portero arriba. Está haciendo que el portero baje. Lo que estamos haciendo es que estamos fijando el rumbo o fijando la dirección del portero hacia abajo o hacia el sur, que es de 270 grados y nuevamente estamos moviendo al portero hacia adelante por cinco Pero este avance ahora va a ir a la baja. Vas a ser un muy buen boy scout o chica guardia o lo que sea después de esto, deberías saber cuáles son tus direcciones. Bien. Pero ahora, nada de esto realmente hace nada sin que nunca se llame a la función, como dijimos antes, esta función de patada en realidad no hizo nada porque nunca la llamamos. La forma en que queremos llamar a estas funciones en nuestro juego es realidad una forma especial o una manera que no hemos hecho antes. Lo que queremos hacer es que queremos que la pantalla espere a que se presione una tecla. La variable de pantalla tiene este método llamado al presionar tecla y ¿qué sucede básicamente aquí? La variable de pantalla por aquí, que definimos en la parte superior, que es una pantalla total. Tiene una función que podemos usar en ella llamada al presionar la tecla. Ahora bien, lo que esta función hace por nosotros es que toma dos parámetros, y esa es una función como primer parámetro y una tecla en nuestro teclado como segundo parámetro. Lo que hace es que toma la función que quieras y une a una tecla del teclado. Por ejemplo, aquí hemos tomado el upkey y lo hemos dicho cada vez que se presiona el upkey, llamar a esta función llamada portero Cada vez que hago clic en la tecla arriba cuando nuestro juego se está ejecutando, va a llamar a esta función y hacer lo que hay dentro. Entonces básicamente cambiarlo al norte y moverlo hacia adelante cinco espacios. Por eso solo tengo que moverlo hacia adelante por cinco porque en vez de moverme a una distancia enorme, más bien quiero hacerla si se está presionando la tecla, luego seguir moviéndola hacia arriba esos cinco espacios. Entonces tenemos otra vez lo mismo, pero obviamente esto es simplemente hacer portero abajo con la tecla abajo La tecla de abajo provocó que esta función portero bajara. Y luego para las patadas, porque queremos que la pelota obviamente avance y sea pateada, he elegido solo usar la tecla K en el teclado Entonces puedes hacerlo cualquier cosa, puedes convertirlo en la J, puedes hacerlo el, lo que quieras. Pero ya lo hemos dicho cuando se presiona K, llama a la función kick. Ahora bien, si tienes estos métodos de pulsación de teclas y teclas donde estás usando el teclado y quieres que el programa espere a que se presione una tecla, entonces necesitamos esta otra función aquí abajo llamada screen dot Listen. Básicamente lo que esto hace es que el programa esperará constantemente a que se presione una tecla. Y si se presiona una tecla, entonces se da cuenta y ejecutará esta función Sin esto, un programa no va a molestarse en escuchar ninguna llave, y lo más probable es que se estrelle. Entonces otra cosa que siempre debes tener en tu programa es esta línea de aquí. Esta línea está básicamente siempre en la última línea de tu programa y necesita para que se ejecute. Estoy presionando el teclado K ahora en la pantalla, y como pueden ver, nuestra pelota ha avanzado. Esa vez me lo perdí. Entonces nuestra otra cosa que definimos en nuestro programa era obviamente mover a la tortuga arriba y abajo. Entonces, si hago clic en la tecla de abajo, lo hace. Si hago clic en la tecla arriba, va a hacer eso. Básicamente, todo lo que tenemos es que podemos patear con la K y podemos mover la tortuga arriba y abajo para tratar salvar la pelota con las teclas arriba y abajo. Puedes seguir haciendo esto tantas veces como quieras. M. Esto parece un buen juego. Esto va a ser un best seller. Definitivamente. Estoy seguro que ganarás mucho dinero con este juego. Pero sí, y una vez que termines, recoges Exit. Y si, tenemos los inicios del juego funcionando. Todo lo que realmente queda por hacer ahora es hacer que se vea un poco bonito, agregar un campo, y al hacerlo te mostraremos cómo usar bucles en él y todo tipo de cosas emocionantes. 122. Copa del Mundo: olvídate: Se acerca nuestro increíble juego de fútbol, y solo hay un último elemento que queremos agregar. Y queremos que el campo sea un poco más interesante. Por el momento, solo tenemos una especie de campo básico, queremos mostrarte que puedes simplemente colorearlo y dibujar algunas líneas en él, etcétera Y así eso es lo que vamos a cubrir en esta lección, y luego vamos a combinar eso en nuestro programa principal de fútbol, y vas a estar listo para toda la acción. Si miras este código de aquí para el campo, verás que hay bastante y se ve un poco raro y confuso. Aquí es realmente donde tienes que empezar a jugar y esto sí tomó mucha prueba y errores para que sea exacto. Pero entremos en ello y veamos qué está haciendo. Nuestra primera línea nuevamente es importar tortugas para que podamos usar todas las funciones de tortuga Como un aparte, ya sabes, estamos usando estas funciones como dibujar y cambiar colores y todo ese tipo de cosas. Como dijimos antes, no hay que saber todas estas cosas. Simplemente ve y mira la documentación. Entonces puedes decir, quiero mirar la función tortuga, y te mostrará todas las cosas que puedes hacer con esa función tortuga. No es difícil. Entonces quieres saber, Oh, ¿puedo dibujar? ¿Cómo levanto el bolígrafo o cómo pongo un bolígrafo o cómo cambio lo que es la tortuga? Todo eso está en la documentación. Entonces no es algo que realmente tengas que recordar. Empezarás a recordarlo, cuanto más lo uses, pero todo eso está disponible en la documentación para Python. Entonces nuestra función aquí se llama campo de dibujo, y es bastante autoexplicativa. Queremos que dibuje el campo. Entonces básicamente solo las líneas en el campo y hacen que se vea más interesante. Hemos creado esta variable aquí llamada campo, que es solo una tortuga como la que teníamos antes con el portero y el agujero Hemos hecho la forma de círculo, eso puede ser cualquier cosa. Es sólo algo que está dibujando. Y hemos escondido la tortuga solo para que en realidad no veas a la tortuga dando vueltas todo el tiempo. Pero obviamente, ya sabes, esto no es realmente necesario. Eso es algo divertido. Ahora bien, si te gusta ver a las tortugas dibujar, entonces está bien, pero no queríamos que se viera la tortuga Queríamos que el dibujo pareciera que pasaba por arte de magia. Sí, pero aún así verás que se está elaborando el campo porque, bueno, así es como funciona Turtle Graphics. Y luego hacemos un montón de un montón de otras cosas debajo de eso. No voy a pasar por cada línea porque prácticamente he explicado lo que hacen todas estas funciones en la conferencia anterior. Muchos de ellos son bastante obvios. Es obvio lo que hace el tamaño de la pluma. Es obvio lo que va a hacer, pluma abajo. Así que hemos cubierto todos estos, y con solo leerlo, eso es algo bueno del código. Literalmente ahora puedes leerlo con tu experiencia y por lo que has pasado y entender lo que está haciendo. Sí, así que esto es solo mover la tortuga a diferentes partes de la pantalla. Se tiene que levantar en ciertos momentos porque no queremos líneas en todos los sentidos. Y si, esto es juguetear y tratar de que sea el campo perfecto Pero sí, solo se necesita práctica. Pero lo principal solo necesitas saber qué hacen todas estas diferentes funciones, que ya deberías saber. El que sí quiero señalar es este bucle de cuatro por aquí. Ahora bien, lo que está haciendo este bucle de cuatro es que en realidad le está diciendo a la tortuga que dibuje un semicírculo Ahora bien, cómo lo está haciendo es que está diciendo para X en rango 180 y la razón por la que es 180 es porque si lo piensas, un semicírculo sería 180 grados porque un círculo completo es 360 Por cada X en 180, queremos que avance una vez. Básicamente, todo lo que hace es que cada vez que se ejecuta este cuatro bucle, es mover a la tortuga de campo hacia adelante una vez y girarla hacia la derecha por un ángulo de uno o un grado de uno. Así que muy lentamente, verás que va a dibujar un semicírculo porque cada vez que van los bucles, se mueve por uno, gira la tortuga por uno, se mueve por uno, gira la tortuga por uno hasta que es do 180 veces e hizo un semicírculo Y si realmente no puedes imaginarlo, podrías darle la vuelta a la tortuga para que puedas ver la tortuga en el dibujo ya que la hemos apagado y en realidad verás a la tortuga girando mientras dibuja lentamente ese semicírculo de 180 grados Sí, y eso va a ralentizar todo bastante, pero definitivamente te ayudará a ver lo que está pasando. Y tenemos dos semicírculos, entonces tenemos otro aquí Y la razón verás que uno tiene razón, ese queda, sigue haciendo lo mismo. Es simplemente dibujarlo desde un lado diferente. Pero sí, y cambiar esto solo va a hacer que tu círculo sea más grande o más pequeño o tu semicírculo más grande o más pequeño Entonces sí, cambia ese número, cambia ese número, mira qué pasa. Sí, sólo juega por ahí. Creo que conoces todas estas otras funciones, tal vez solo esta que no has visto antes. Lo que eso hace es que solo hace un sello de la tortuga o donde sea que esté en nuestra pantalla. Literalmente, solo hace un sello y la tortuga continúa haciendo lo que se suponía para. Entonces justo al fondo de todo esto, estoy llamando a nuestro campo de dibujo de funciones. Al llamarlo aquí, va a estar haciendo todo esto por aquí. Ahora queremos agregar nuestro campo a nuestro juego. Al igual que tenemos estos otros módulos llamados total y Random, field ahora se convierte en su propio módulo. Cada archivo o programa que tenemos eso y este y los demás que hemos creado son todos sus propios módulos. Entonces ahora quiero que el módulo de campo se vea en el módulo de futbol, tengo que importarlo. Ahora una cosa que debes saber es cuando guardas tus archivos, si no has guardado el módulo de fútbol y el módulo de campo en la misma carpeta, no va a faltar y va a ser confuso. En realidad no voy a poder encontrar dónde está este módulo de campo. Si no los quieres en la misma carpeta, tienes que poner todo el camino y se vuelve un poco confuso. Pero por ahora, solo guarda estos dos módulos en el mismo archivo. Y eso es todo lo que ha cambiado de este lado, así que ahora vamos a ejecutarlo. Aquí ves que está creando uno de nuestros semicírculos. Se nota que lentamente gira y se mueve uno o dos cada vez para crear este pequeño semicírculo aquí Y tenemos nuestro toro y tenemos nuestra tortuga. Entonces, si arrancamos, ahora solo se ve un poco más emocionante. Y podemos seguir haciéndolo como lo hacíamos antes. También verás ahora que la razón por la que hice nuestro ángulo, nuestros ángulos máximos 27 antes e hice todos esos números aleatorios es porque el tamaño de este solo permite que el ángulo sea un máximo de 27 y eso significa que esta pelota nunca saldrá de esta caja de portero No va a terminar por aquí ni por aquí. Sí, ese es nuestro juego. Adelante, escribe el código, cópialo, haznos preguntas si confundes Pero en serio, todo lo que está aquí, debes entender todas son funciones muy autoexplicativas. Todos los nombres parecen tener sentido. Y creo que deberías estar bien para ahora ir y terminar tu juego que has estado creando. También te darás cuenta en un juego, ponemos muchos comentarios para ayudarte también a tratar de explicar cada línea de código. Entonces nuevamente, como dijo Sarah, todo está en la práctica. Todo está en la jugada, así que siéntete libre de tomar el código, editar pequeñas cosas, cambiarlo , ver qué hace, porque así es como vas a aprender. Así que has logrado este increíble objetivo. De hecho, has podido crear tu propio juego. Así que pruébalo, haz lo que hemos hecho ahí, haz que el juego se ajuste y muéstranos lo que puedes hacer para que puedas ser un programador increíble en Python