[Powered by Google Translate] ZAMYLA CHAN: Está bien. Hola a todos y bienvenidos a Tutorial 0. Zamyla mi nombre, y yo voy a estar llevando estos tutoriales de este año. En CS50, cada conjunto de problemas se acompaña de un tutorial por lo que vamos a ir a través de boletín de problemas de la semana, hable a través de, hablar de cómo empezar, discutir diferentes técnicas y consejos para romper realmente el problema planteado en algunas picaduras manejables. También estoy muy feliz de contestar cualquier pregunta que usted tener sobre el conjunto de problemas. Sin más preámbulos, me alegro de que estés aquí, si usted es aquí en persona, o la sintonía en línea. Vamos a empezar. Así que el primer p-set en CS50 - en realidad, no vamos a entrar en mecanografía y la máquina Código cosas todavía. Estamos realmente va a utilizar Scratch, que es un programa que nos permite hacer un poco de arrastrar y soltar programación. Y así, a pesar de que no estamos escribiendo, lo que realmente nos permite explorar algunos de los conceptos fundamentales que vamos a utilizar a lo largo de todo CS50. Ahora, algunos de estos conceptos son Aquí encontrará una lista en la caja de herramientas. Lo que me gustaría hacer para cada tutorial es presentar a todos ustedes con un conjunto de herramientas que se pueden utilizar para el tutorial. Y así, no se preocupe. Vamos a repasar todos estos términos y todas ellas teorías durante el tutorial. Ahora, si usted termina con todas estas herramientas, o simplemente algunos de ellos, que es muy bueno saber lo que está equipado con poder para abordar el conjunto de problemas. Así que en Scratch, la jerga primero que necesitamos saber es qué es un sprite. Así que cada objeto o personaje todo, ya sea un gato de un perro o una bola, que se llama un sprite. Y por eso, si quiero, digamos, dos gatos - si están o no idénticos - Voy a tener que hacer dos sprites diferentes en Scratch. Y así sprites tienen los scripts asociados con ellos. Los scripts son en realidad lo que va a ser la construcción - arrastrar y soltar - con sus bloques. Y así lo que se está es una especie de determinar y definir cómo el sprite se comporta. Sprites no son en realidad imágenes, porque tenemos trajes también asociados con los sprites ese tipo de determinar lo que el duende se parece. Y usted puede tener más de un traje para un sprite dado. Así que en algún momento durante su programa Scratch, como vamos a mostrar más tarde el día de hoy durante la visita guiada, en realidad se puede cambiar el traje de tu sprite para que se vea bien ligeramente diferente o completamente diferentes. Y por lo que hay tres maneras de crear un sprite en Scratch. Uno de ellos, se puede dibujar su propio Scratch construido en editor de pintura. Usted puede subir su propia imagen, utilice uno de Scratch incorporado unos, o, la última opción, obtener un sprite al azar. Ahora bien, si usted se siente especialmente afortunado, entonces yo invitamos a probar su suerte y crear un sprite al azar. Así que todos los sprites se colocan en la etapa en Scratch. La etapa - podemos tratarlo como nuestro lienzo. Y así todos los sprites se colocan en el escenario. Y esta etapa, lo que hace es permite que todos los sprites para moverse en él. Y al igual que los sprites, el estadio también tiene scripts. Y así, estas secuencias de comandos, para colocarlos en el escenario - es realmente útil cuando, por ejemplo, tiene un guión que no exactamente se refieren a un sprite específico, sino más bien se refiere a varios sprites o simplemente, en general, algo que usted quiere hacer. Así que usted puede poner los archivos de comandos de la etapa de cambio, y que diseño sería un poco mejor. Ahora, mientras usted puede tener múltiples sprites, es bueno tenga en cuenta que sólo puedes tener un escenario. Pero etapas también tienen fondos. A diferencia de los trajes, como hacer sprites, etapas tienen orígenes. Y de nuevo, usted puede dibujar su propia cuenta o subir su propio diseño imagen que desea utilizar como fondo. Entonces, ¿alguien tiene alguna pregunta antes de seguir adelante? Aceptar. Siéntase libre de interrumpir lo que durante el tutorial, y Estoy encantado de responder a cualquier pregunta que usted tenga. Aceptar. Por eso, cuando se inicia el programa sprite, lo que va a Qué se le va a hacer clic la bandera verde. Pero si usted no conecte nada a este bloque de la derecha aquí, entonces nada en realidad va a suceder. Porque, verás, lo que las secuencias de comandos y la etapa de la necesidad de hacer es realmente saber para responder al evento - eso es lo que ellos llaman, eventos - de la bandera verde que se ha pulsado. Así que hay que adjuntar en realidad los bloques de la ranura en la parte inferior del bloque de bandera verde que se hace clic, y luego la programa sabrá qué hacer y cómo responder a la bandera verde que se ha pulsado. Bueno, ¿qué viene después? Bueno, tenemos una gran cantidad de bloques de Scratch para usar, y donde la carne, en definitiva, de su programa reside en estos declaraciones. Y por lo que estas declaraciones son convenientemente organizado por color. Usted tiene acciones relacionadas con el movimiento, sonido, apariencia, etc. Y para que veas que puedes navegar entre ellas en el fichas en el programa Scratch. Y así, mientras usted tiene otras cosas construidas a su alrededor, lo que los estados hacen realmente es en realidad dice la sprites o la etapa de hacer algo. A diferencia de simplemente decir, OK, cuando lo hace, el declaraciones contienen realmente la verdadera sustancia de la misma. Digamos que usted desea ejecutar sólo una determinada acción, por ejemplo sólo desea que el gato a maullar cuando una cierta cosa sucede. Podemos tomar ventaja de booleanos, lo que has aprendido en una conferencia. Y estas son expresiones que se evalúan ya sea verdadera o falsa. Y por lo que estos se identifican en Scratch por el - se ven los ángulos al final de esos bloques. Y por lo que tiene una gran variedad de diferentes tipos de Booleanos. Ha "es el más siendo presionado hacia abajo", "hace 2 más 2 equivale a 5 ", o" es que el usuario presiona una tecla determinada en el teclado? " Ahora, usted no sólo puede utilizar estas solo. Lo que tienes que hacer es combinarlos con una condición. Así que la condición está ahí en la ficha de control en Scratch. Y por lo que convenientemente tiene un marcador de posición que poco muestra la forma del bloque que tiene que poner en él. Así que dependiendo del contexto de la situación, puede elegir un valor booleano y luego se coloca en el interior de su condición. Y allí se tiene una sentencia condicional. Si pones instrucciones dentro de ese bloque, entonces usted tiene un estructura creada, por lo que una vez que una determinada condición se cumple en la izquierda, a continuación, ejecutar la sentencia. ¿Sí? ESTUDIANTE: Si una variable representa un número, puede utilizar la variable dentro del booleano, como el verde, por ejemplo? ZAMYLA CHANDLER: Sí, se puede. Puede arrastrar y soltar el valor de la variable dentro de la dar forma circular allí. Ahora, una de las ventajas de los ordenadores es la gran potencia y la velocidad a la que pueden ejecutar procesos repetitivos. Y así, en lugar de, por ejemplo, repetir una instrucción más y una y otra vez y realmente escribir eso - o en este caso, en Scratch, arrastrar y soltar y arrastrar y soltar - lo que podemos hacer es encapsular en un bucle. Y así, los bucles pueden utilizarse para ejecutar cualquiera de las cosas infinitamente con un bucle para siempre, o por una establecer el número de veces - decir, repetir "Say Hi" 10 veces o hasta que un cierto condición es verdadera. Y así, una vez más, se ve que Scratch está dando a entender que cuando usted tiene una condición como la "repetición hasta que," entonces la única cosa que quepa en el interior hay un valor booleano. Está bien. Así que ahora, sabemos que podemos encapsular repetitivo procesos dentro de bucles. Usted puede ver por qué algo como esto podría no ser ideal. No encaja en la diapositiva. Esencialmente, sólo hace lo mismo una y otra vez 10 veces, de hecho. Se mueve 10 pasos, saluda, se mueve 10 pasos, dice hola. Así que ahora usted puede ver que una vez que tengamos lazos, algo así como esto es mucho mejor. Es más corto, es más pequeña, y que en realidad se completa la lo mismo. Ahora, en Scratch esto podría no hacer una gran diferencia, pero lo que realmente le ahorra tiempo. Así que a la expresión variable - en realidad se puede utilizar las variables y los puso dentro de condiciones. Según lo expresado allí, ves que tenemos una variable llamada "Contrarrestar", y estamos igualando eso para ver si es menor que 0. Así que las variables son esencialmente, yo diría, contenedores para los valores. En Scratch, los tipos de valores pueden ser palabras o que pueden ser números. Y así, con estas variables, lo que podemos hacer con ellas es puede establecer su valor. Así que en el primer ejemplo aquí tenemos el ejemplo de texto que contiene el valor "Hello, World!" En el segundo ejemplo, se asume que ya tenemos una variable llamada "Contrarrestar", y en ese caso, lo estamos cambiando por 3. Lo estamos incrementando por 3. Y luego, en el último ejemplo, las variables se pueden arrastrar para ser puesto en una expresión booleana. Ahora, cuando se crea una variable, lo que tiene que decidir es si usted hace la variable para toda la sprites en su programa Scratch, o simplemente para la detalles sprite en el que usted ha seleccionado al hacer la variable. Así que esta es una decisión muy importante que hacer. Y realmente se reduce a lo que desea que el ámbito de aplicación variable a tener. Así, por ejemplo, un ejemplo de alcance local sería si elegir sólo para este elemento sprite para que el variable. Así que significa que sólo ese sprite para poder acceder a esa variable. Sólo ese sprite sería capaz de verlo, cambiarlo, modificarlo. Si usted elige para tener un alcance global - así que eso es si usted dice para todos los sprites, si selecciona esa opción - entonces eso significa que la fase, así como todos los sprites será capaz de ver, modificar y acceder a dicha variable que que has creado. Cualquier pregunta hasta ahora sobre variables o algo? Sí. ESTUDIANTE: Para las variables, se puede tener dos variables de el mismo nombre si están en sprites diferentes? ZAMYLA CHAN: Como siempre que sean sprites locales --- ah, sí, lo siento. Así que la pregunta es si se puede tener dos variables de el mismo nombre en un programa y si tiene dos variables con el mismo nombre pero son dos sprites locales, por lo que un duende, el gato, tiene un nombre variable "counter", y el sprite dos, el perro, tiene una variable llamada "contador", siempre y cuando los son ambos sprites locales, a continuación, su ámbito de aplicación no se extiende a el resto del programa. Y por lo que ninguno de los otros sprites o la etapa se confundirá. Está bien. Así que he mencionado antes del punto de entrada cuando tuvimos la cuando está verde bloque marcado se hace clic. Y así lo que es - dice: OK, cuando ocurra el evento de que la bandera verde es clic, esto es lo que debe hacer. Y de modo que no es realmente el único evento que tenemos en Scratch. También tenemos otros eventos. Así tenemos, por ejemplo, cuando una llave en el teclado se pulsa. Y en realidad se podría escoger las letras de la A a la Z, 0 al 9, o las teclas de flecha. Y luego también tenemos otros eventos, por ejemplo cuando su sprite se hace clic. Y así, cuando se empieza con eso, se observa la tendencia clave es que solo tienen una ranura en la parte inferior, y así entonces, una vez más, las claves de usted en que nada de lo anterior se une ese bloque. Se construye a partir de eso y de abajo. Ahora, por ejemplo, ¿qué pasa si queremos que suceda algún evento sólo cuando, no sé, un gato está en contacto con un sector determinado de el escenario o algo así? En realidad no tenemos ninguna construcción en evento para significar que. Entonces, ¿qué vamos a tener que hacer es en realidad crear nuestro propio evento. Y eso se llama radiodifusión. Así que cuando se quiere indicar que un cierto ha pasado, a continuación, se utiliza - en la ficha de control, hay un bloque llamado "Emisión". Y entonces, podrás escribir el nombre de la evento que desea transmitir, y luego lo sprite o sprites - usted puede tener múltiples sprites reaccionan a este mensaje - o la etapa se tiene que manejar, tendrá que recibirlo, tendrá que decir, OK, entiendo que esto tiene sucedido, así que voy a hacer esto con él. Y así, cada vez que se emite un evento, eso es con el entendido que cualquiera que sprite o duende es otro va a tener que recibir ese evento y responder. Ahora, el último concepto antes de entrar en un ejemplo real de un programa de Scratch es roscas. Hilos Así es cuando el equipo se está ejecutando procesos simultáneos al mismo tiempo. Les garantizo que todos nosotros hemos aprovechado temas cuando estamos viendo una película en el mismo tiempo que escribiendo un ensayo o algo así. El ordenador está ejecutando varias cosas al mismo tiempo, al igual que cero puede. Así como se puede ver en este ejemplo, estos dos scripts pueden ser usado para el mismo sprite exacto, debido a que estos comenzando bloques de punto de entrada en realidad puede utilizarse múltiplos de veces. Te garantizo que probablemente la bandera verde clic bloque será uno de los más populares bloques del programa. Así que aquí vemos que cuando la bandera verde se hace clic, no hay un proceso en marcha, así como cuando la bandera verde es clic, hay un proceso separado pasando. Y así, los arañazos se ejecutará estos dos al mismo tiempo. Y así, con estos hilos, sabiendo que en realidad se puede tener más de un punto de entrada - incluso si es el mismo punto de entrada - que va a ser realmente útil si desea, por ejemplo, separar tareas distintas una de otra. Está bien. Así que vamos a ver en realidad en un ejemplo de un programa de Scratch. Aceptar. Así que ya he hecho un pequeño programa para nosotros aquí. Así que sólo voy clic en la bandera verde para comenzar y ver lo que hace. Así que tenemos un pez naranja aquí - un sprite pescado - parece moverse y luego reiniciar y volver. Y luego tenemos un sprite de tiburón. Y este elemento sprite tiburón puede moverse, puede girar, lo que puede nadar. Aceptar. Así que es bastante divertido. Pero definitivamente podemos añadir más a eso. Por ejemplo, podemos ver que cuando el tiburón se está moviendo, lo que puede en realidad salir de la pantalla y casi desaparecer de la vista. Así que queremos cambiar eso, porque no queremos que la tiburón de escapar. Y por eso vamos a dejar nuestro script y luego editar el tiburón scripts, tal vez añadir algo. Nótese que en este sprite particular en este caso, por los siglos de bucle extremos con un borde recto. No tiene ninguna ranura. Así que, de hecho, esto tiene sentido, porque es un bucle infinito. Está ejecutando algo infinitamente. Por lo tanto, nunca va a terminar. Incluso si había algo debajo de ella, lo haría Nunca llegaremos a eso. Así que en realidad se vio obligado a introducir un hilo. Está bien. Así que vamos a añadir otro script. Así que voy a empezar con este punto de entrada cuando está verde bandera se hace clic. Así que lo que quiero hacer es comprobar continuamente si el tiburón se va a tocar el borde. Pero sé que, en realidad, en virtud de que hay un movimiento ordenado pequeño bloque que dice, oh, si en el borde, rebote. Así que lo que quiero hacer es ejecutar continuamente. Y así lo que este "si en el borde, rebote" hace - en realidad comprueba si ya estoy en el borde, y luego recuperarse. Así que tenemos que encontrar algún tipo de bucle continuamente ejecutar esta instrucción. Así que si miramos bajo control, ¿alguien tiene una idea de qué lazo podríamos querer usar? Si. ESTUDIANTE: El bucle infinito. ZAMYLA CHAN: Exactamente, sí. El bucle infinito. Así que vamos a seguir que aquí, y luego decir, si en el borde, rebote. Y luego vamos a ver. Está bien. Así que el pez se mueve como de costumbre. Y entonces, oh - Ahora el tiburón no puede escapar y rebota en la pantalla. Cool. Está bien. Así que yo estaba mirando hacia adentro No puedo - ¿sí? ESTUDIANTE: ¿Cómo hacer que se aplican al tiburón mientras se mueve a los peces? ZAMYLA CHAN: Ah. Así que la razón por la que sólo el tiburón rebota, a diferencia pescado, así, es porque este guión que escribimos está dentro el sprite tiburón. Ya ves, aquí arriba, el sprite tiburón está seleccionado. Está bien. Así que vamos a añadir algo más. Yo estaba estudiando en los trajes diferentes que Rasguño tiene, y vi a este pequeño y lindo de tiburones chomp. Así que pensé que, bueno, bueno, tal vez podamos poner en práctica el tiburón mordiendo, por ejemplo, cuando pulsamos el espacio. Voy a parar esto. Está bien. Sí. ESTUDIANTE: ¿Podrías mostrar el - es que bajo disfraces? ZAMYLA CHANDLER: Oh, sí. Así que me fui bajo disfraces, y luego me miró debajo de importación. Y aquí, Scratch tiene toda una serie de trajes que usted puede elegir. Y luego hay un montón de animales, y luego la tiburón tiene un par de trajes asociados. Aceptar. Así que en este guión aquí, ya estoy comprobando continuamente en el bucle para siempre, bien, bien, si la flecha de la izquierda es presionado, entonces quiero girar en sentido antihorario. Si la flecha derecha es presionado, deseo girar las agujas del reloj. Si la flecha hasta que se pulsa, entonces yo quiere avanzar hacia adelante. Así que lo que podemos hacer es añadir a este script, en lugar de añadir un aparte, porque esto ya está llegando el tema de las teclas que están siendo presionados. Así que vamos a añadir una que dice que si la tecla de espacio - vamos a utilizar el espacio clave para chomp abajo. Así que éstos flecha izquierda tecla pulsada, etc, estos son en el azul brillante. Así que vamos a ir a la detección de azul brillante, y mirar hacia abajo. Ah, y aquí es un espacio de tecla pulsada. Así que lo que quiero hacer es que la conmutación de tiburón para su chomping abajo disfraz. Eso tiene que ver con la forma en que el tiburón Parece, por lo que vamos a ve. Y aquí tenemos, convenientemente, cambie a disfraz de tiburón chomp. Pero cuando chomp abajo, no queremos que el tiburón sea chomping abajo para siempre, así que vamos a añadir, OK, bueno, entonces, después de lo muerde, queremos que vuelva. OK, así que vamos a ver lo que hace. Así lo hemos moverse. Aceptar. Así que tenemos que masticar. Es una especie de masticar rápidamente, sin embargo, debido a que en Scratch, Les está ejecutando de forma instantánea. Entonces, vamos a controlar y hacer apreciar su chomp, espera un segundo. Y aquí abajo muerde un poco más de tiempo antes de que se de nuevo a su hambre. Aceptar. Así que estoy bastante contento con el tiburón ahora. Sin embargo, el pescado, lo que parece estar haciendo - es un avance par de pasos, de hecho, cinco veces. Se mueve 50 pasos. Y entonces lo que está haciendo aquí en este bloque superior aquí es que estoy decir, OK, bueno, esto va a ir a un cierto valor de x. Para encontrar las coordenadas, en realidad se puede simplemente puntero del ratón sobre la pantalla y, a continuación, en la parte inferior - por aquí - lo voy a mostrar lo que las coordenadas son. Así que usted puede tomar ventaja de eso para introducir las coordenadas que desee. Y así lo que esta declaración está diciendo aquí está diciendo, OK, así, el pescado se inicia en este valor de x determinado y luego la de altura se puede cambiar. De hecho voy a coger una altura aleatoria que aún se mantiene dentro de las limitaciones de la etapa. Y aquí, lo que me estoy aprovechando de es retransmisión de eventos. Así que ya ves que este controlador de eventos es fish1 nuevo. Así que cada vez que el pez recibe el nuevo fish1 evento, que va a ejecutar esto. Y luego ves que después se mueve hacia adelante su importe conjunto de veces, entonces se emite en realidad de nuevo, OK, nuevo fish1. Pero en cambio, ¿qué vamos a hacer para que el único pez continúa hasta el final de la pantalla antes de que se reajuste, en lugar de sólo un poco de ir al centro de la misma. Así que en lugar de decir, repetir cinco veces - porque nosotros no realmente sé cuántas veces será necesario hasta que alcanza el final de la pantalla, vamos a usar otra cosa. Así que me voy a separar esto, porque realmente no quiero esto. Para borrar bloques en Scratch, lo que haces es simplemente arrastrar a la liberación izquierda, y luego se elimina. Si usted decide que no quiere hacer eso, entonces se puede siempre que recuperar. Pero queremos deshacernos de esto. Lo que queremos hacer es que queremos seguir en movimiento 50 pasos y haciendo una pausa de un segundo hasta que toque el extremo de la pantalla. Así que ¿alguien puede detectar un bucle que podríamos querer utilizar ese repite un proceso justo hasta que toque la pantalla. ESTUDIANTE: Repite hasta. ZAMYLA CHAN: He oído que "repetir hasta", y eso es correcto. Así que sí, esta repetición hasta que el bloque también tiene una - pero vemos que esta repetición hasta que el bloque no es del todo completa, ¿no? Así que tenemos que decir, OK, bueno, repetir hasta cuándo? Por eso decimos, bien, bien, repita hasta que el pescado esté en contacto con la borde de la pantalla. Así que voy a decir que eso es bajo de detección. Hay un booleano conmovedor. Y así, se puede elegir lo que quiere ser la comprobación que el pescado está en contacto. Así que aquí, queremos decir tocando el borde. Y entonces nos quiere agregar este interactivo Y ahora, si queremos ver a nuestros peces van, una vez que toque el borde, que va a volver de nuevo. Está bien. Así que estoy feliz con eso. Y vamos a abrir HungryShark1. Bueno, algo así como un programa de cocina, he añadido un poco más funciones. Así, por ejemplo, se ve que el pescado es en realidad deslizándose sin problemas, a diferencia de antes, cuando era tipo de movimiento y parada, el movimiento y parada - esencialmente saltando píxeles establecidos. Miré debajo de Movimiento, que se encuentra esta declaración de planeo, y yo dijo, OK, en lugar de mover y parar, mover y parar, voy a deslizarse 70 unidades a la derecha, pero estar en mi posición y lo mismo aquí. Está bien. Así que tenemos un tiburón que puede masticar. Cool. Pero se llama HungryShark, después de todo, así que vamos a tener la tiburón comer a los peces. Entonces, ¿cómo podemos decir a los peces o decirle al tiburón que tiene chomped abajo? ¿Cómo podemos comunicar? Sí. ESTUDIANTE: En el segundo traje del tiburón, se captura el pescado. ZAMYLA CHANDLER: Sí, exactamente. Así que sabemos que cuando estamos cambiando el traje a la chomp, chomp que tenemos abajo. Ahora, finalmente, tendrá que comprobar. Digamos que queremos que los peces desaparecen una vez que su comida. Vamos a tener que comunicar de alguna manera a los peces que que tendrá que ocultar, por ejemplo, o desaparecer de la pantalla una vez que ha sido mordió abajo. Entonces, ¿qué tipo de concepto, ¿qué tipo de herramientas podemos utilizar para tienen el tiburón se comunican a los peces, OK, He mordió abajo? ESTUDIANTE: Radiodifusión. ZAMYLA CHANDLER: Sí, exactamente, la difusión de un evento. Así que vamos a ir para el Control y digamos difusión. Y vamos a transmitir chomp. Está bien. Pero una vez que transmitir algo, eso es con el supuesto de que en realidad estamos va a tener algo recibirlo. Así que va a ser el pez. Así que vamos a decir, cuando recibo chomp. Ahora, cuando el tiburón chomp abajo sólo un espacio vacío, no lo hacemos desea que el pescado para reaccionar a que en todo. Así que vamos a decir, OK, bueno, sólo si el tiburón está en contacto con la peces en el momento de la chomp - que es cuando realmente va a hacer algo. Así pues, vamos a utilizar la condición si, a la derecha, porque estamos comprobando si algo es verdad o no. Así que si nos remontamos a la detección, entonces podemos utilizar aquí, si toca. Y luego aquí, vamos a elegir el tiburón. A continuación, en Apariencia, este bloque hide - que básicamente va a hacer que los peces desaparezcan del escenario. Haremos que ocultar, pero queremos que otro pez, ¿verdad? El tiburón tiene hambre. Queremos darle más pescado. Así que también vamos a emitir un nuevo pez nuevo. Aceptar. Así que vamos a ver lo que hace. Cool. Así que muerde abajo y aparece otro pez. Pero eso es un poco demasiado rápido para otro pez que ir. Así que vamos a esperar un segundo antes de que emitir un nuevo pez. Está bien. Aceptar. Así que esta es una muy buena toma de un juego. Sin embargo, todos los juegos necesitan una partitura, ¿no? Entonces, ¿qué podríamos utilizar para llevar la cuenta? Sí. ESTUDIANTE: Otros - ZAMYLA CHAN: Si. Exactamente. Si. Por eso queremos hacer un seguimiento de cómo básicamente muchos peces se come. Para ello, vamos a tener que hacer una variable. Vamos a llamar a este respecto. Y así, presumiblemente, ya que este es un juego que estamos jugando, vamos a querer a los peces a ser capaz de - decir, una vez que su come puede aumentar la calificación o algo y luego la etapa probablemente tendrá que hacer algo con el dolor también. Así que voy a optar por hacer esta variable a nivel mundial y decir para todos los sprites. Aceptar. Por eso, cuando queremos aumentar el marcador? Cuando un pez se ha comido. Así que ya tenemos aquí un proceso que está tratando con los peces que se comen. Así que vamos a añadir esta declaración aquí - cambio en la puntuación de 1. Cool. Así que una vez que comes un pescado, que aumenta la puntuación. Está bien. Así que decir que estoy cansado de este juego. Me detengo. Y entonces, oh, quiero volver al juego. Quiero empezar una nueva partida. Pues bien, el resultado es todavía 3, aunque estoy jugando un juego nuevo. Realmente no quiero nunca anotar para restablecer, ¿verdad? Así que vamos a añadir una declaración cuando se inicia el juego en el organizar decir, OK, bueno, queremos restablecer la partitura. Así que aquí fijamos el puntaje variable a 0. Y ahora, cada vez que se inicia un juego, la puntuación comenzará a 0. Cool. Aceptar. Aceptar. Así que ahora, vamos a pasar a HungryShark2. Así que he hecho un poco más ahora, y es lo que he hecho clic derecho en el sprite de pescado. Yo quería más pescado, y así hice clic duplicado y lo hizo un nuevo sprite idéntica a uno y también se copia en todos los está también. Entonces este fish2 es esencialmente idéntico al fish1, excepto que en lugar de a partir de la izquierda y desplazando a la derecha, comienza a la derecha y se mueve a la izquierda. Y entonces yo también eligió un traje nuevo para él. Luego encontré otro traje que era un pez manchado, y yo Era como, cool, esto parece venenoso, así que vamos a suponer que se trata de un pez venenoso. Y entonces dije, OK, bueno, en lugar de comer la peces venenosos y que su aumento de puntuación, que en realidad queremos que disminuya. Así que aquí hemos puntuación decreciente por 1 cada vez que el tiburón que se come. Y entonces, me gustó mucho el vestuario que Scratch proporcionado, y miré, y entonces me pareció que las shark's - parecía un tiburón enfermo. Y entonces he editado yo hacía verde. Y yo estaba como, cool, es un tiburón enfermo. Está bien. Así que vamos a añadir a nuestro script de algún tipo de forma de hacer que la interruptor de tiburón a estar enfermo cada vez que come un pescado envenenado. Aceptar. Así pues copiamos todos los scripts de nuestra original los peces en el pez venenoso, que ya cuenta con este elemento sprite aquí que dice que, cuando me mordió abajo, yo soy realmente mordió abajo? Así que podemos tomar ventaja de esto para comunicar a la tiburón, oh, bueno, usted acaba de comer un pescado venenoso. Eres un enfermo. Y así, este sería el tipo de acción? ¿Qué se quiere hacer? Broadcast. Sí, exactamente. Así que vamos a difusión. Llamémoslo tiburón enfermo. Aceptar. Así que ahora, el tiburón, obviamente, va a ser el que está recibir este evento. Así que vamos a añadir cuando recibo el tiburón estar enfermo. Aceptar. Así que sabemos que tenemos este traje - el tiburón está enfermo. Y entonces sabemos desde antes de que clase de apreciar cuando podemos hacer una pausa un poco antes de volver. ¿Sí? ESTUDIANTE: ¿Cómo se copia de escritura un sprite a otro? ZAMYLA CHAN: Ah. Así que en este ejemplo, cuando yo acabamos de duplicar el sprite, a copiar un guión a otro sprite, lo que hice aquí fue sólo decir duplicado, y que en realidad hizo todo un nuevo sprite con todos los scripts incluidos. Pero supongamos que desea copiar sólo un guión determinado a otro sprite, entonces lo que haría es en realidad sólo tienes que arrastrar este, ciernen sobre otro guión, y ahora aquí lo duplica. En este caso, ya lo tenía, así que sólo se puede eliminar que de nuevo. Pero para copiar un script en otro, lo que haces es simplemente arrástrelo a los otros sprites. Aceptar. Así que estamos de vuelta en el tiburón de estar enfermo. Tiburón Así que ha recibido está enfermo, y dice que, OK, bueno, una vez que estoy enfermo, me voy a cambiar a mi vestuario que dice "Tiburón enfermo", y ahora, vamos a añadir una espera para apreciar el verde. Y entonces vamos a tener hambre, así que puede simplemente volver al tiburón tener hambre. Está bien. Así que vamos a comer este pescado púrpura. Eso está bien. Buena pregunta. ¿Qué pasó con el contador? Aceptar. Así que nos hemos fijado puntuación a 0, pero este resultado - lo que esta marca de verificación se oculta o unhides la variable de la pantalla. Pero lo que podemos hacer en lugar de lo desmarcando o control - que en realidad puede tener este bloque aquí dice "mostrar u ocultar la variable. "Así que vamos a asegurarnos de que cada vez que comenzamos el juego que la variable se muestra. Aceptar. Así que ahora la variable se muestra. Comemos un pez venenoso, y nos enfermamos. Cool. Está bien. Así que ahora, es raro para un juego que tengamos negativo puntos, ¿no? Por lo tanto, sigue comiendo estos y es como - entonces ¿qué cada vez que tenemos negativa, si hemos comido demasiado muchos peces venenosos, más de juego - tiburón es demasiado enferma. Está bien. Así que lo que tendrás que hacer es que tendremos que transmitir algún evento - más de juego. Así que podemos hacer esto de varias maneras, en realidad. Podríamos tener un lugar en la etapa de una secuencia de comandos que continuamente los controles es la puntuación negativa? Es el resultado negativo? Si es así, emitimos este evento. Así que esa es una manera de hacerlo. O podemos tomar ventaja del hecho de que sabemos que la única manera de que su puntuación podría ser negativo es cuando usted come una peces venenosos, ¿verdad? Porque cuando usted come otro pez, su puntuación se va a aumentar. Así que no hay uso en el control de si debe ser más de juego o no. Así que este es un proceso similar aquí. Así que en realidad sólo se puede añadir a esta "cuando recibo tiburón enfermo ". Así decimos añadir esta condición. Queremos decir que, si el resultado es menor que 0. Así que vamos a ir a los operadores, vamos a utilizar Este menor que uno, vamos a arrastrar nuestro puntuación aquí, por ejemplo 0. Y así, si la puntuación es 0, entonces queremos transmitir algo que se llama el juego. Aceptar. Así que digamos que tenemos el juego. Vamos a vivir aquí o algo así. Bueno, queremos que el tiburón sólo para volver a tener hambre si el juego todavía se pueden reproducir. Así que en lugar de utilizar un "si", vamos a utilizar un "if else" construir. Lo que esto hace - dice, está bien, así que si esta condición es cierto, entonces hacer esto, pero si es falso, entonces hacerlo. Así que vamos a añadir si el resultado es menor que 0, entonces transmitir más de juego, pero no si - si su puntuación sigue siendo positiva - a continuación, volver a tener hambre. Aceptar. Cool. Así que ahora que tenemos este juego a través de eventos, tendremos que tener alguna manera de responder a ella. Así que vamos a hacer un nuevo guión que dice "cuando recibo juego terminado. "Y lo que tenemos aquí bajo control es en realidad este detener todos los botones, por lo que, básicamente, imita a que haga clic en el rojo de parada firme aquí. Así que vamos a tener la parada del tiburón. Y por eso también queremos que el pescado que parar, así que vamos a arrastrar y copiarlo pulg Queremos que todo el pescado que parar. Y entonces vamos a tener la parada del escenario. Está bien. Así nadando, comemos un pescado, y a continuación, el programa se congela. Estoy haciendo clic abajo pero en realidad no puede hacer nada. OK, pero digamos que no queremos recordar al usuario que que tienen un valor negativo, por ejemplo, entonces podemos, por ejemplo, ocultar la variable de la pantalla. Así que cuando la etapa recibe más de juego, entonces, se oculta la puntuación variable. Aceptar. Así que vamos a comer pescado una vez más. Y entonces la puntuación desaparece, y sólo hay esta pantalla. Está bien. Así que eso es un juego bastante decente, y si tuviera más tiempo, entonces usted podría llegar a sumar guiones más y más. Y entonces, he añadido unos cuantos peces más, les hizo avanzar a diferentes velocidades, y luego cada vez que el tiburón se come un pez venenoso, que en realidad dice: "Blech!" Y entonces lo que hice fue añadido un nuevo fondo para la etapa - un juego sobre el fondo. Y así lo hace durante la etapa del juego a través de eventos manejo es que cambie a los antecedentes de más de juego fondo. Y así, me escondí todos los sprites del escenario para que sólo el juego más de fondo se muestra. Hay un par de otras adiciones pequeñas que he añadido, por ejemplo, antes, cuando terminamos nuestro programa, entonces nuestro tiburón, la próxima vez que empezamos, se pondría en marcha en esa posición también. Lo que quiero añadir es cuando la bandera verde se hace clic, a continuación, el tiburón se remonta al origen y luego mira hacia el derecho, por lo que cada vez, tiene un tiburón a partir de ahí. Así que usted puede experimentar in Motion y cosas así, que sólo para añadir pequeños detalles que hacen que su juego un poco más pulido. ¿Alguien tiene alguna pregunta acerca de HungryShark? Cool. Está bien. Así que eso es un ejemplo de algo que se puede hacer en principio con todas las herramientas que hemos comentado anteriormente. Así que también se incluyen en las diapositivas tutorial. Las verás más adelante. Es sólo una visión general de los procesos que hemos hecho - progresando desde HungryShark0 todo el camino hasta nuestro final. Uno Si. Pero eso es todo. Yo me quedo atrás si ustedes quieren más preguntas. Esto era Tutorial 0. Gracias a todos por venir, y yo te veré en Tutorial 1.