ZAMYLA CHAN: ¡Hola, bienvenido al tutorial Scratch. Mi nombre es Zamyla y voy a estar llevando Tutoriales para ti este año. En CS50, cada conjunto de problemas es acompañado de un tutorial. Durante estos tutoriales voy a ir más conjunto de problemas de la semana, a explicar el conceptos necesarios y romper el problema pone en porciones manejables. Por primera p-set en CS50, que en realidad No voy a entrar en la tipificación y código de máquina cosas todavía. Más bien, vamos a usar Scratch, un programa que nos permite explorar conceptos de programación en un forma visual y creativo. En este tutorial se explorará conceptos fundamentales que utilizaremos a lo largo de CS50, así como servir como un tutorial Scratch. En cada tutorial voy a enumerar un conjunto de herramientas que puede utilizar para la establece problema. Desde los conceptos del curso más grandes para real funciones, es bueno y útil para sabe lo que está equipado con antes Abordar fijó el problema. En primer lugar, vamos a hablar de los sprites. Sprites son fundamentales para hacer proyectos en cero. Cada objeto o cada carácter, ya sea un gato, un perro o un bola, se llama sprite. Si quiero, por ejemplo, dos gatos en mi proyecto, Voy a tener que hacer dos sprites separados en cero, incluso si son absolutamente idénticos. Cada sprite tiene scripts asociados con que el sprite específico. Los scripts son lo que vas estar construyendo arrastrando y colocar bloques. Los scripts son instrucciones que determinar y definir cómo se comporta el guión. Ahora, sprites no son sólo imágenes. Un traje de sprites determina lo que el sprite se parece. Cualquier sprites dado puede tener más de un traje. Un poco más tarde durante este tutorial voy le muestre cómo usted puede tener su cambio de sprites trajes durante su programa. Para crear un elemento sprite en el principio, puede elegir su traje inicial para La biblioteca de Scratch, dibuja su propia en Built-in editor de pintura de Scratch, cargar su propia imagen, o hacer una foto con la cámara del ordenador. Todos los sprites se colocan en lo que llamamos la etapa. El escenario es como nuestro lienzo donde sprites pueden moverse. Aunque podemos tener múltiples sprites, sólo puede haber una etapa. De lo contrario, etapas y sprites son bastante similar en que la etapa puede también tienen scripts. Scripts en el escenario son muy útiles cuando usted no tiene un guión que no pertenece necesariamente a uno de sprites específica. Tal vez se refiere a múltiples rayas, o ninguno en absoluto. Por lo general es un buen diseño para colocar su secuencias de comandos en el escenario si son bastante general y no se refieren para los sprites específicos. Y al igual que los sprites tienen trajes, etapas tienen fondos que pueden cambiar en el transcurso de su programa. Y usted puede llamar su propia, subir una imagen, tomar una foto, o utilice el Biblioteca arañazos de telones de fondo. Tanto el escenario y sprites también pueden desempeñar sonidos de la biblioteca del Scratch, o usted puede cargar y grabar su propia. Para iniciar el programa de Scratch Vas que hacer clic en la bandera verde a la esquina superior derecha de la ventana de escenario. Pero si no conecta nada a este bloque aquí, entonces nada es en realidad va a suceder porque su sprites y la etapa necesitan que se les diga para responder al evento de la bandera verde que se hizo clic. Por lo que usted necesita para conectar los bloques para la ranura en la parte inferior de la verde bandera, y entonces el programa se ejecute esas acciones al iniciar su programa. Bueno, ¿qué viene después? Bueno, Scratch tiene muchos bloques para que usted pueda utilizar, y usted puede incluso hacer su propio. Usted verá tres fichas, Scripts, Vestuario y Sonidos. Bajo la etiqueta de secuencias de comandos son categorías de los estados. Las declaraciones son convenientemente organizada por el color. Tiene acciones relacionadas con el movimiento, sonar, las miradas, y así sucesivamente. Aunque tendrás otros bloques construidos alrededor de sus declaraciones, es el declaraciones que ayudarán a los sprites o al escenario para hacer algo, mientras que otros bloques le ayudarán a determinar cuando, para hacerlas. Digamos que usted está creando su primer proyecto y sólo desea que el gato maullar bajo ciertas circunstancias. Para implementar esto, podemos tomar ventaja de booleanos. Estas son expresiones que se evalúan ya sea verdadera o falsa. En los arañazos estos se identifican por el ángulos en el extremo de los bloques. Vas a tener una variedad de diferentes tipos de booleanos como es el ratón siendo presionado, ¿quiere 2 más 2 equiparan a 5, o está presionando al usuario que descendió un tecla en el teclado? Ahora bien, no se puede simplemente utilizar solo estos booleanos. Tendrá que combinarlos con lo que llamamos condiciones. Bloques de condición pueden ser encontrados en las sentencias de control de color naranja. Condiciones convenientemente tienen una pequeña marcador de posición que muestra la forma de el bloque que usted necesita a poner en él. Así, dependiendo del contexto de la situación, usted puede elegir un booleano y colocarlo dentro de su condición. Y juntos, usted tiene una sentencia condicional. Una vez que usted pone las declaraciones dentro de ese bloque tiene una estructura creada mediante el cual una vez una cierta condición se cumple, a continuación, ejecutar los declaraciones. Una de las ventajas de los ordenadores es la gran potencia y la velocidad a la que se puede ejecutar los procesos repetitivos. En lugar de, por ejemplo, la repetición de un durante la instrucción y otra y otra otra vez y realmente a escribir que fuera, o en este caso, arrastrar y soltar y arrastrar y soltar, lo que puede hacer es encapsular en un bucle. Los bucles pueden ser utilizados para ejecutar ya sea cosas infinitamente con un bucle para siempre, o para un número determinado de veces. Por ejemplo, repetir la declaración, por ejemplo hi, 10 veces, o tal vez hasta un cierto condición es verdadera. Y con este Repita hasta que bloquear ver que está dando a entender que a los arañazos tendrás que colocar un booleano en Repetir hasta que el bloque para hacer una sentencia condicional. Ahora, sabemos que podemos encapsular procesos repetitivos dentro de bucles, así que usted puede ver por qué algo como esto podría no ser ideal. Es super largo, simplemente lo hace la misma cosa una y otra una vez más, 10 veces de hecho. Se mueve 10 pasos, dice hola, moverse 10 pasos, dice hola. Pero con la ayuda de bucles nos puede arreglar esto un poco. Vea cómo esto es mucho mejor. Es más corto, es más pequeño y que se complete la misma cosa. Pasando a las variables. Las variables son esencialmente contenedores para los valores. En Scratch, los tipos de valores pueden o bien ser palabras o pueden ser números, valores que nos tiene control. En este primer bloque tenemos una variable de texto que contiene el valor, Hello, World. En el segundo ejemplo, se asume que ya tenemos una variable llamada Contador y estamos incrementando por tres. Y luego, en el último ejemplo, vemos un ejemplo de las variables que se utilizan dentro de las condiciones. En este bloque, nos preguntamos si la variable Contador es menor que cero. Ahora, cuando se crea una variable que tiene para decidir si usted hace la variables disponibles para todos los sprites en el programa Scratch, o sólo para los sprites específicos seleccionados cuando usted hace la variable. Y esta es una muy importante decisión que tomar. Todo se reduce a lo que usted alcance desea que la variable tenga. Un ejemplo de alcance local sería un variables sólo por un sprite de concreto, lo que significa que sólo haría que el sprite ser capaz de ver o modificarla. Si determina una variable con mundial ámbito de aplicación seleccionando para todos sprites, entonces eso significa que el escenario, , así como todos los sprites, será capaz de ver, modificar, y el acceso que variable que se ha creado. Y en términos de diseño, lo mejor es elegir ámbito local siempre que sea posible sólo para que el resto de los sprites y la etapa no tiene que preocuparse por hacer el seguimiento de esa variable. En realidad puede tener dos variables de el mismo nombre para diferentes sprites como siempre que esas son las variables locales. Sprite uno, un gato, puede tener una variable nombre del contador, y el sprite dos, un perro, También puede tener una variable llamada Contador, siempre y cuando estos son a la vez las variables locales. Debido a que el alcance de la variable no se extiende al resto de la programa, y ​​ninguno de los otros sprites o la etapa se confundirá. Anteriormente, he mencionado el punto de entrada, la bandera verde cuando se hace clic en el bloque. Ese bloque y el acompañante declaraciones están diciendo esencialmente sus sprites o el escenario, bien, cuando la bandera verde se hace clic, se trata de lo que debe hacer. Pero ese no es el único evento que sprites y el escenario pueden responder. Tenemos, por ejemplo, un evento para cuando se presiona una tecla del teclado. En realidad se puede elegir las letras A A a la Z, del cero al nueve o el las teclas de flecha. Hay otros eventos, también, tales como cuando se hace clic en el sprite. Cuando usted comienza con bloques de eventos como estos, te darás cuenta de una tendencia. Todos ellos tienen un solo grupo en el parte inferior y una parte superior lisa, que indica que nada por encima se une a ese bloque. Usted construye bajo esos eventos bloques y construir hacia abajo. Ahora, ¿qué pasa si queremos algún evento a suceder, por ejemplo, cuando un gato es tocar una determinada sección de la etapa? En realidad no tenemos incorporada evento para indicar que, por lo que lo que vamos a tiene que hacer es crear nuestro propio evento. Y eso se llama radiodifusión. Así que cuando se quiere indicar que un determinado evento ha ocurrido, entonces usted utilizar un negro llamado Broadcast, que se encuentra en la ficha Control. Allí se escribe el nombre del caso de que se desee transmitir, y a continuación, el que sea de sprites o etapa puede reaccionar a eso transmitir, si así lo desea. El cuando recibo bloque cuenta la sprites qué hacer cuando están notificado de que su encargo evento ha ocurrido. Así que recuerde que cada vez que difunde un evento, es con el entendiéndose que cualquiera de uno de los sprites o el escenario se va a recibir ese evento y responder a ella. Ahora, el último concepto antes de llegar a un ejemplo real de un rasguño programa, es el concepto de hilos. Fue entonces cuando el equipo está ejecución simultánea procesos al mismo tiempo. Y estoy seguro de que todos hemos tomado ventaja de esto. Al igual que navegar por la web mientras escuchar música. La computadora puede ejecutar varios cosas al mismo tiempo. En este ejemplo aquí, estos dos scripts se pueden usar para la misma sprites exacta. El bloque de punto de entrada, Cuando Bandera Verde Seguido, se utiliza varias veces, pero se trata de dos guiones diferentes. De hecho, la Bandera Verde CTR bloque será probablemente una de las más bloques populares en su programa. Aquí vemos que cuando la bandera verde es hacer clic, hay un proceso en marcha en, así como otro. Así arañazos realmente ejecutar estos dos a la hora exacta. Y sabiendo que en realidad se puede tener más de un punto de entrada, incluso si que es el mismo punto de entrada, que está pasando para ser realmente útil si quieres tareas separadas y distintas una de la otra. Está bien. Así que ahora que hemos cubierto todos estos conceptos, echemos un vistazo a un ejemplo. He hecho una serie de programas de Scratch, así que trate de seguir adelante como hacer un pequeño juego. Vamos a empezar por la apertura Hungry Dino Zero. Vamos haga clic en la bandera verde para iniciar y ver lo que hace. Tenemos un sprite insecto que se mueve para una unos pasos, resetea a cierta altura, y a continuación, un paso atrás. Y luego tenemos un sprite dino. Pulsando las teclas de flecha, me voy a mudar el sprite dino alrededor, por lo que es a su vez y girar. Eso puede ser divertido, pero allí no hay muchos scripts de este programa. Definitivamente podemos añadir a esto. Por ejemplo, cuando el dino se está moviendo lo en realidad puede salir de la pantalla y casi desaparecer del sitio. Queremos cambiar eso porque no quieren que el dino escapar. Así que dejemos de nuestro script con el rojo bandera y luego editar los scripts dino. Tenga en cuenta que este script en particular tiene un bucle para siempre, que termina con un borde recto. No tiene ninguna ranura en la parte inferior. Y esto tiene sentido desde el nombre, un bucle infinito. Está ejecutando algo infinitamente y nunca tendrá fin. Así que esta es una gran oportunidad la introducción de un hilo. Está bien. Así que vamos a añadir otro guión. Voy a empezar con esta entrada punto, Al Green Flag CTR. Y quiero comprobar continuamente si el dino va a ser tocando el borde. Bajo movimiento hay una pequeña vecindad cuidada que dice: Si On Edge Bounce. Y por lo que queremos continuamente ejecutar este. Lo que esta declaración no se comprueba si el sprite está en el borde de la etapa, y rebota si lo es. Y debido a que el usuario siempre puede mover el dino, queremos encontrar algún tipo de bucle que nos permite continuamente ejecute esta instrucción. Mirando bajo control vamos a elegir el bucle para siempre. Así que vamos a arrastrar que en el guiones dino, y luego añada Si On Edge Bounce. Y luego vamos a probar nuestro programa. Así que el bicho se mueve como de costumbre, y entonces, si ponemos a prueba nuestra nueva secuencia de comandos por mover nuestra dino hasta el borde, vemos que no puede escapar de la etapa más. Rebota la derecha de nuevo. Ahora usted podría preguntarse por qué el dino rebotes, pero no el error. Bueno, eso es porque nosotros escribimos nuestro nuevo escritura dentro de los scripts dino y no a los insectos. Así que el bicho no va a escuchar a la instrucciones que nos dieron el dino. Está bien. Así que vamos a añadir algo nuevo ahora. Si vas a la pestaña Disfraces verás que los diferentes trajes que vienen precargados con tu sprite seleccionado si usted elige uno de la Biblioteca Scratch. Hay un poco de chomp lindos dino traje, así que vamos a implementar el dino masticando cuando presionamos, decir, la tecla Espacio. Volver a los scripts dino. En esta secuencia de comandos aquí, ya estoy comprobar en el bucle para siempre si ciertas teclas de flecha se pulsan y moviendo el dino consecuencia. Si se pulsa la flecha se fueron, la dino gira en sentido antihorario. Si se pulsa la flecha de la derecha, el dino gira hacia la derecha. Así que si se pulsa la flecha hacia arriba, a continuación, el dino avanza hacia adelante. Sólo podemos añadir a la secuencia de comandos en lugar de la adición de un uno por separado ya que esta Ya está comprobando en el tema de la que se pulsan las teclas. Vamos a añadir una que comprueba mantenga pulsada la tecla Espacio. Estos bloques aquí están comprobando para que las teclas se pulsan. Están todos en el azul más brillante, por lo que vamos a ir a la detección de color azul brillante declaraciones y mirar a su alrededor. Aquí hay un bloque clave Spaced Press. Así que lo que queremos hacer es tener el dino cambiar a su traje talar si, y sólo si, el espacio se pulsa la tecla. Así que vamos a imitar la estructura aquí. Ahora, cambiando el traje tiene que ver con cómo se ve el dino así que iremos a Mira comunicado. Y, por supuesto, tenemos un interruptor Traje de Dino Chomp. Ahora, cuando nos Chomp abajo no queremos al dinosaurio que se muerde abajo para siempre, así que vamos a añadir una declaración diciendo que para volver. Se va a cambiar los trajes tipo de forma rápida, sin embargo, debido a que en las declaraciones de Scratch ejecutará espalda con espalda muy rápidamente, casi de forma instantánea. Así que vamos a ir a Control y luego crea el dino pausa para un poco a la espera un segundo después de que muerde abajo. Ahora vamos a editar el sprite de errores. El sprite de error se adelanta cinco pasos de un total de cinco veces después de un pausa del momento. En el bloque superior aquí el error se pone a una determinada valor de la coordenada x. Para encontrar las coordenadas en realidad se puede puntero del ratón sobre la pantalla y a continuación, en la esquina inferior de la etapa ventana de las coordenadas se actualizará de manera usted puede tomar ventaja de esta práctica función para aplicar las coordenadas que desee. Y, en esta declaración aquí, instruimos el error de empezar a la misma valor x cada vez, pero para recoger una muestra aleatoria de altura para el error que todavía estancias dentro de las limitaciones de la etapa. Vemos aquí que yo estoy aprovechando la retransmisión de eventos en el Scratch. Este controlador de eventos se llama Nueva Bug1. Así que cuando el insecto recibe el evento de Nueva Bug1, que va a ejecutar la sentencia. Así que después de que se mueve hacia adelante su conjunto cantidad de veces, en realidad difunde el evento de Nueva Bug1. Pero ¿qué tal si cambiamos este guión un poco? En este momento tenemos el gusanillo mover cinco pasos. Eso no es mucho, un total de cinco veces. En realidad, no sé cuántas veces se ser necesario hasta los confines de errores, decir, al final de la pantalla, así que vamos hacer que el pero llegar al final de la pantalla, pero el uso de algún tipo de otra construcción. Voy a separar esto porque vamos a cambiar algunas cosas. Para eliminar los bloques a partir de cero arrastrar los bloques para la a la izquierda y luego suelte. Y se elimina. Si usted decide que usted no lo hizo ¿Quieres recibir el borrado, entonces se puede ir a Editar y recuperar. Pero nosotros queríamos ir deshacerse de ese bloque. Lo que queremos hacer ahora es mover, por ejemplo, 50 pasos y una pausa de un segundo, y repetir esto hasta que nos toque el final de la pantalla. Así que vamos a utilizar un bucle que nos permite repetir un proceso hasta un cierto condición se cumple, acertadamente llamado Repetir hasta. Lo que sucede en el interior del estado de un Repetir hasta? Algo que nos dice si el insecto está tocando el borde de la pantalla, que va a estar bajo los estados de detección. Aquí está este Booleano, Tocar. Y usted puede seleccionar aquí lo desea comprobar. Así que vamos a seleccionar Edge Tocar y añadimos esta sentencia condicional interactivo Así que ahora si miramos nuestro error, que va a volver de nuevo una vez que toque el borde del escenario. Grande. Hemos terminado con Hungry Dino Zero, así que vamos a abrir Dino Hambriento. Algo así como un programa de cocina, he añadido un poco más características. Por ejemplo, verá que el error es en realidad simplemente se desliza ahora a diferencia de antes. Bajo movimiento hay esta deslizarse comunicado. Ahora, el error se desliza 70 unidades a la derecha de su exposición actual, pero permanece en la misma posición y aquí. Y ahora podemos tener un dino masticando como hemos implementado antes. Pero, este programa no se llama Hungry Dion por nada así que vamos a echar el dino comen el error. ¿Cómo podemos decirle al bicho, o decirle al dino, que ha talado? ¿Cómo podemos comunicar este evento? Bueno, sabemos que cuando cambiamos el traje para el dino al chomp dino que hemos chomped abajo. Y decimos que queremos que el error desaparezca una vez que se ha comido. Bueno, vamos a tener que comprobar si el error se ha chomped encendido y comunicar al error que se va a tener para ocultar o desaparecer de la pantalla una vez que ha sido mordió abajo. Entonces, ¿qué tipo de concepto, qué tipo de herramienta podemos usar para tener el dino comunicar al error que ha chomped abajo? Radiodifusión. Así que vamos a ir a eventos o agregar un evento para transmitir. Chomp. Aceptar. Pero recuerde que una vez que emitimos algo que también tenemos que recibir este evento. Así que el sprite se transmitirá chomp? Bueno, vamos a tener el dino hacer eso cuando se pulse la tecla Espacio. Vamos a añadir un bloque para recibir chomp. Ahora, cuando el dino se reduce sólo en un espacio vacío que no queremos el error para reaccionar a eso en absoluto, sólo si el dino estaba tocando el pero en el momento del chomp hacemos realidad hacer algo. Así que vamos a utilizar la condición If, porque Estamos comprobando si algo es cierto o no. Ahora bien, si nos remontamos a la Percepción, a continuación, podemos utilizar este Tocar bloquear y seleccione Dino. Luego, bajo las miradas, nos encontramos con esta Ocultar el bloque que va básicamente crea el error desaparecer de la escena. Haremos que ocultar, pero lo hacemos quiero otro error, ¿no? Nuestro dino tiene hambre. Por eso queremos darle otra error que perseguir. Así que vamos a también la emisión en el evento de Nueva Bug1. Salvo que queremos que esperar por un tiempo antes de que aparezca otro error, así que vamos a También espere un segundo. Está bien. Así que vamos a ver esto. Nos mordió abajo, pero una desaparece, aparece otro, y nos chomp abajo en él de nuevo. Este es el aspecto de una muy juego divertido, pero todos los juegos Necesitamos marcar, ¿no? Entonces, ¿qué podemos utilizar para realizar un seguimiento de cuántos errores del dino ha comido? Una variable. Así que vamos a añadir una variable llamada Score. Y ahora vamos a tener que decidir qué alcance de esta variable. Así que vamos a pensar. Si bien lo que se quiere sino para aumentar la la puntuación si ha sido comido con éxito, y el escenario podría tener algo que ver con la anotar también, así que vamos a asignar esta variable para todos los sprites. Queremos aumentar la puntuación, si y sólo si, un error se ha comido. Y ya hemos escrito un guión que trata de un insecto que es comido por lo vamos a añadir esta declaración en, Cambio judador uno. Eso significa que una vez que usted come un insecto aumenta la puntuación. Vamos a jugar un poco y comer, No sé, tres errores. Así que uno se cansa del juego, así, usted pulsa el stop de color rojo firmar para detener el juego. Y cuando usted quiere volver Vas presione la bandera verde de nuevo. Pero el resultado es todavía tres incluso aunque yo estoy jugando un juego nuevo. No queremos dar a los usuarios una cabeza Comenzamos, por lo que vamos a necesitar para restablecer el anotar cada vez que iniciar un nuevo juego. Así que vamos a añadir una declaración a la etapa de script de punto de entrada para establecer el puntuación de la variable a cero. Así que ahora, cada vez que inicia un juego, la puntuación se iniciará a las cero. Ahora vamos a abrir Dino Hungry 2 donde He añadido un par de cosas más. Hace clic derecho sobre el sprite de errores para duplicar el sprite que hizo un sprites idéntico a mi anterior. Bug Poison es esencialmente idéntico al Bug1 pero elegí un nuevo traje, porque Me pareció que estaba bien, tipo de veneno. En lugar de aumentar el marcador cuando el insecto venenoso se come, yo en realidad disminuir la puntuación cambiando anotar por uno negativo. Y luego hice otro traje para nuestra dino usando el editor de pintura para hacer un dino buscando enfermos y la llamó Dino Enfermos. Pero nosotros no usamos este traje en nuestra programa todavía, así que vamos a añadir un poco de declaraciones y los bloques que cambiarán traje de los dino a los enfermos verde siempre que el traje que come un error envenenado. Ahora, ya que duplicamos el sprite de errores, el insecto envenenado tiene todas las secuencias de comandos que el error original no. Si querías copiar scripts desde otros sprites, puede arrastrar el secuencia de comandos en la parte superior del sprite que desea copiar. Pero no vamos a tener que hacer eso aquí porque el bicho envenenado ya tiene un script que comprueba que el error se ha chomped abajo en. Y podemos tomar ventaja de esto para comunicar a la dino que se comió un insecto venenoso. Y nos comunicamos entre sprites de radiodifusión. Así que vamos a difundir una nueva evento llamado Dino Enfermos. Y nosotros sabemos que tenemos un traje para el dino para cambiar, pero también saber de antes que es posible para añadir en una pausa entre los cambios de vestuario. Así que cuando recibo Dino Sick, voy para cambiar de vestuario para Dino Sick, espere un segundo y, a continuación, el interruptor atrás para Dino hambriento. Está bien. Vamos a jugar nuestro juego y comer un error y el escarabajo. Y la puntuación disminuye en uno. Ahora, a veces es posible que note que la variable puede no aparecer en la esquina izquierda de la pantalla. Si se desplaza a la Sección de Datos con las secuencias de comandos, verá esta marca de verificación al lado de las variables que se crean. Y esto se esconde o unhides la variable de la pantalla. Pero también se puede utilizar una sentencia llamado Mostrar u Ocultar una variable específica. Así que vamos a usar esto Mostrar Score Variable a asegúrese de que cada vez que comenzamos el juego, se muestra la variable. Grande. Así que vamos a ejecutar el juego y comer un error de venenos. Ahora bien, es un poco extraño tener un juego tener puntos negativos, ¿verdad? Así que vamos a introducir otra característica. Si el dino come demasiados venenosa bichos luego se pone muy enfermo y la juego ha terminado. Así que para implementar esto, vamos a transmitimos otro evento, Game Over. ¿Cómo sabemos cuándo ejecutar este juego encima de difusión? Bueno, podemos hacer esto varias maneras. Podemos tener una secuencia de comandos en la etapa que comprueba continuamente si la puntuación es negativo o no, y las emisiones Juego encima cuando el puntuación se convierte en negativo. O podríamos aprovechar el hecho de que la única forma en que la puntuación podría jamás ser negativo, es cuando una venenosa insecto se come. Porque cuando usted come el otro bug, aumenta la puntuación. No sirve de nada en la comprobación de si se debe ser Game Over o no cuando se comer un insecto comestible. Por lo que podemos en realidad sólo tiene que añadir a la script que recibe el enfermo Dino difusión de eventos. Queremos dar instrucciones al Dino de la siguiente manera. Si el resultado es menor que cero, transmitido Game Over. Así que vamos a construir la puntuación menor que cero condición utilizando una cuadra de la sección del operador, y arrastrando en nuestra puntuación para ese bloque. Y ve aquí puedes simplemente arrastrar el puntuación variable y poner menos que cero. Y vamos a emitir un nuevo evento, Game Over. Pero si el resultado no ha pasado por debajo de cero, queremos que el dino a continuar el juego. Así que en lugar de utilizar un si aquí, vamos a utilizar una construcción si otra cosa. Una cosa si constructo le dice a nuestro dino a hacer una cosa si la condición es verdadera y otra cosa es si el condición es falsa. El cuerpo de nuestro primero si puede entrar en el arrastre si otra cosa, así que vamos que pulg Pero si el resultado no es menor que cero, a continuación, vamos a cambiar de nuevo a la Traje Dino hambriento. No queremos hacer eso de forma preventiva. Grande. Pero desde que emitimos Game Over, todavía tenemos que hacer una bloque de receptor de eventos. De hecho, hay una parada de All declaración el control, así que vamos a conectar esto a cuando recibo Game Over. Pero también queremos que el insecto se detenga, por lo que vamos a arrastrar este script a todos los sprites de errores, así como la etapa. Vamos a probar esto a cabo. Comer un bicho venenoso de inmediato, el programa se detiene como se esperaba. Ninguno de los otros insectos y mover ni hace el dino si pulsa pulsadas las teclas de flecha. Pero digamos que no queremos recordar a al usuario de su puntuación negativa, por lo que vamos a ocultar la puntuación de la variable de el escenario cada vez que el juego Se recibe un evento de sobre. Está bien. Así que este es un juego bastante decente. Con más tiempo se puede añadir más sprites y más guiones. Tal vez los insectos pueden moverse a diferentes velocidades. Puede agregar un nuevo fondo a la etapa - un Game Over telón de fondo - de tal manera que, cuando la etapa recibe el Juego encima evento, puede cambiar a la Game Over telón de fondo y todo de los sprites se esconden. Un montón de pequeños ajustes se pueden hacer para hacer su juego un poco más pulido. Y esto es sólo un ejemplo de un proyecto que se puede hacer en scratch utilizando todas las herramientas que hemos comentado anteriormente - sprites, trajes, escenarios, telones de fondo, condiciones, bucles, variables, la difusión de eventos y temas. Dino hambriento no utiliza ningún tipo de sonido efectos, pero usted puede agregar fácilmente su propia, vaya hasta la ficha Sonidos y la exploración de las declaraciones de sonido. Scratch es una gran introducción a conceptos de programación, por lo que ser creativo y, sobre todo, divertirse. Mi nombre es Zamyla, y esto es CS50.