[Powered by Google Translate] ZAMYLA Chan: Todo ben. Ola, todos, e ben benvida ao Paso a paso 0. Zamyla do meu nome, e eu vou estar levando estes orientacións este ano. En CS50, cada conxunto de problemas é acompañada por unha explicación paso a paso en que nós imos pasar por conxunto da semana problema, Chatea través, falar de como comezar, discutir diferentes técnicas e consellos para realmente romper o problema en definir algunhas mordidas gerenciáveis. Eu tamén estou moi feliz en responder calquera preguntas que ter sobre o conxunto de problemas. Sen máis delongas, estou feliz por ti estar aquí, se é aquí en persoa ou sintonizar en liña. Imos comezar. Entón, o primeiro conxunto de p-in CS50 - En realidade, nós non imos entrar en dixitación e máquina material de código bastante aínda. Estamos, en realidade, vai estar usando Scratch, que é un programa que nos permite facer algunhas arrastrar e soltar programación. E así, aínda que non está escribindo, realmente nos permite explotar algúns dos conceptos fundamentais que imos usar durante todo CS50. Agora, algúns destes conceptos son aquí na caixa de ferramentas. O que me gustaría facer cada paso a paso é presentar a todos con un conxunto de ferramentas que pode usar para o paso a paso. E así, non se preocupe. Nós imos pasar por riba de todos estes termos e todos estes teorías durante o paso a paso. Agora, se acaba usando todas estas ferramentas, ou só algúns deles, é moi bo saber que está equipado con poder para afrontar o conxunto de problemas. Así, en scratch, a linguaxe primeiro que precisa saber é o que é un sprite. Así, cada obxecto ou cada personaxe, sexa un gato dun can ou unha pelota, é chamado de sprite. E así, se eu queira, por exemplo, dous gatos - se son ou non idéntica - Vou ter que facer dúas sprites separados en scratch. E así sprites ten scripts asociados a eles. Scripts son realmente o que vai estar construíndo - arrastrando e soltando - cos seus bloques. E entón o que os scripts non é unha especie de determinar e definir como o sprite se comporta. Sprites non son, en realidade, só imaxes, porque temos traxes tamén asociados cos sprites que tipo de determinar o que o sprite parece. E pode ter máis de un traxe para un Sprite. Entón, en algún momento durante o seu programa Scratch, como amosaremos máis tarde hoxe, durante o paso a paso, vostede realmente pode cambiar o figurino do seu sprite para facela ou lixeiramente diferente ou completamente diferente. E así hai tres xeitos de crear un sprite no scratch. Un, pode deseñar o seu propio en Scratch construído no editor de pintura. Pode enviar a súa propia imaxe, use un dos Scratch embutido entes ou, a última opción, obter un sprite aleatoria. Agora, se está sentindo particularmente sorte, entón eu Invitados a probar a súa sorte e crear un sprite aleatoria. Así, todos os sprites son colocados o estadio en scratch. O estadio - podemos trata-la como a nosa pantalla. E así todos os sprites son colocados no escenario. E nesta fase, o que fai é permite que todos os sprites para mover-se sobre el. E, así como sprites, o estadio tamén scripts. E así estes scripts, para poñer-los no escenario - é realmente útil cando, por exemplo, ten un guión que non fai pertencen a exactamente unha entidade gráfica específica, pero si pertence a varios sprites ou só, en xeral, algo que quere facer. Entón pode pór estes scripts no escenario en vez diso, e que proxecto sería un pouco mellor. Agora, mentres pode ter varios sprites, é bo Teña presente que pode ter só unha fase. Pero etapas tamén teñen orixes. Ao contrario de traxes, como sprites facer prácticas teñen fondos. E unha vez máis, pode aproveitar as súas propias ou debuxos imaxe a ser usado como un fondo. Entón, alguén ten algunha pregunta antes de ir adiante? Aceptar. Sinto-se libre para me deter o que durante o paso a paso, e Fico feliz en responder a calquera preguntas que ten. Aceptar. Entón, cando comezar o seu programa de sprite, o que está indo a se é que vai premer na bandeira verde. Pero se non conectar nada a este bloque de dereita aquí, entón, nada realmente vai ocorrer. Porque, mire, o que os scripts eo estadio que facer é realmente saber responder ao evento - iso é o que chamamos, eventos - de bandeira verde sendo premendo. Entón, ten que realmente anexar bloques á ranura na inferior do bloque sinalizador verde premendo, e, a continuación, o programa vai saber o que facer e como responder á bandeira verde ser premendo. Ben, o que vén despois? Ben, temos unha infinidade de bloques en scratch para usar, e onde a carne, realmente, o seu programa reside nestes declaracións. E así, estas afirmacións son convenientemente organizado por cor. Tes accións relacionadas co movemento, son, looks, etcétera. E así pode ver, pode ir entre eles o guías no seu programa Scratch. E así, mentres vai ter outras cousas construídas en torno a ela, que as declaracións realmente facer é realmente di a sprites ou o estadio de facer algo. En vez de só dicir, OK, cando fai isto, o declaracións realmente conter a carne real do mesmo. Imos dicir que quere só facer unha determinada acción, digamos só quere o gato a miar cando unha determinada cousa acontece. Podemos sacar proveito de booleanos, o que aprendeu na charla dun. E estes son expresións que avalían verdadeiro ou falso. E estes son identificados en scratch polo - ve os ángulos ao final destes bloques. E entón tes unha variedade de diferentes tipos de booleanos. Vostede é "a máis a ser presionado para abaixo", "fai 2 máis 2 equivale a 5, "ou" é o usuario preme unha tecla específica no o teclado? " Agora, non pode só usar estas só. O que ten que facer é combina-los con unha condición. Así, a condición está alí baixo a guía de control en scratch. E así, eles convenientemente ter un espazo reservado aos que mostra a forma do bloque que precisa poñer nel. Entón, dependendo do contexto da situación, pode escoller un booleano e despois poñer-lo dentro da súa condición. E aí tes unha instrución condicional. Se pór as instrucións dentro dese bloque, entón tes unha estrutura creada, en que unha vez que unha determinada condición é satisfeita en á esquerda, entón executar a instrución. Si? Estudante: Se unha variable representa un número, pode utilizar a variable dentro do Boolean, como o verde, por exemplo? ZAMYLA Chan: Si, pode. Pode arrastrar e soltar o valor da variable dentro do circular moldear alí. Agora, unha das vantaxes dos computadores é a gran potencia ea velocidade con que poden executar procesos repetitivos. E así, en vez de, digamos, repetindo unha instrución sobre e unha e outra vez e realmente escribir isto - ou neste caso, en scratch, arrastrando e soltando e arrastrando e soltando - o que podemos facer é reducila en un loop. E así, os loops pode ser usado para executar calquera cousas infinitamente cun lazo para sempre, ou para unha definir o número de veces - dicir, repita "dicir ola" 10 veces ou ata un certo condición é verdadeira. E así, de novo, vostede ve que Scratch está insinuando que cando ten unha condición como "repetir ata", entón a única cousa que vai caber dentro é un valor booleano. Todo ben. Entón, agora, sabemos que podemos encapsular repetitivo procesos dentro loops. Podes ver porque algo así non pode ser ideal. Ela non encaixa no slide. Esencialmente, el só fai o mesmo unha e outra vez 10 veces, en realidade. Move-se 10 pasos, di Ola, move-se 10 pasos, se Olá Entón, agora pode ver que unha vez que temos lazos, algo así como este é moito mellor. É máis curto, é menor, e realmente completa o mesmo. Agora, en scratch isto pode non facer moita diferencia, pero realmente norte-lle tempo. Entón, para a expresión variable - pode realmente usar variables e poñer-los dentro condicións. Como expresado alí, ve que temos unha variable chamada "Contrariar", e nós estamos igualando que a ver se é inferior a 0. Así, as variables son esencialmente, eu diría, recipientes para os valores. No Scratch, os tipos de valores poden ser palabras ou poden ser números. E así, con esas variables, o que podemos facer con eles é que pode establecer o seu valor. Así, no primeiro exemplo aquí temos o exemplo do texto contén o valor "Ola Mundo!" No segundo exemplo, se supón que xa temos unha variable chamada "Contrariar", e, nese caso, estamos cambiando isto por 3. Estamos aumentando o de 3. E, a continuación, no exemplo anterior, as variables poden ser arrastrados para ser colocado nunha expresión booleana. Agora, cando se crea unha variable, que ten que decidir é se facer a variable para todos os sprites no seu programa Scratch, ou só para a especificidades entidade gráfica en que seleccionou cando fai a variable. E por iso esta é unha decisión moi importante que facer. E realmente se reduce ao que quere que o ámbito variable de. Así, por exemplo, un exemplo de ámbito local sería se Escolla só para esta entidade que a variable. Entón, iso significaría que só sprite que sería capaz de acceder a esta variable. Só que de sprite sería capaz de velo, mudalo, modificalo. Se vostede optar por ter un alcance global - de xeito que é, se di a todos os sprites, se selecciona esta opción - a continuación, o que significa que a fase, así como todos os sprites Será capaz de ver, modificar e acceder a esta variable que que creou. Calquera dúbida ata agora sobre variables ou algo? Si ALUMNO: Para as variables, pode ter dúas variables de mesmo nome se eles están en sprites diferentes? ZAMYLA Chan: Mentres eles son sprites locais --- Ah, si, me desculpe. Polo tanto, a cuestión era saber se pode ter dúas variables de o mesmo nome dun programa e se ten dúas variables con o mesmo nome, pero son ambos sprites locais, polo tanto, un duende, o gato, ten unha variábel de nome "balcón", e sprite dous, o can, ten unha variable chamada "contador", mentres que os son os dous sprites locais, entón o seu alcance non se estende a o resto do programa. E para que ningún dos outros sprites ou fase vai ficar confuso. Todo ben. Entón eu mencionei antes o punto de entrada, cando tivemos a cando o bloque verde bandeira premendo. E así o que é iso - el di, OK, cando o evento ocorre que a bandeira verde é premendo, este é o que ten que facer. E para que a verdade non é o único evento que temos en scratch. Temos tamén outros eventos. Así, temos, por exemplo, cando unha tecla o teclado é presionado. E realmente pode escoller as letras da a Z, 0 a 9, ou as teclas de frecha. E despois temos tamén outros eventos, como cando o seu Sprite é premendo. E así, cando comezar con iso, entender a tendencia clave é que eles só teñen unha ranura na parte inferior, e así entón que, unha vez máis, as claves de ti en que nada dá anterior ese bloque. Vostede constrúe a partir dese e abaixo. Agora, por exemplo, o que pasa se queremos algún evento ocorrer só cando, non sei, un gato está tocando unha determinada sección de o escenario ou algo así? Nós, en realidade, non teñen ningunha construído en acontecementos para significar que. Entón, o que nós imos ter que facer é realmente crear o noso propio evento. E iso é chamado de radiodifusión. Entón, cando quere sinalizar que un certo aconteceu, entón usa - na guía de control, hai un bloque chamado "Transmitir". E entón, vai escribir o nome do evento que pretende transmitir, e logo o que sprite ou sprites - pode ter varios sprites reaccionando a esta mensaxe - ou o estadio terá que tratar con isto, cómpre recibe-lo, terá que dicir, OK, eu entendo que iso ten aconteceu, entón eu vou facelo con el. E así, sempre que transmitir un evento, iso é o principio de que calquera sprite que ou outro sprite é Vai ter que recibir ese evento e responder. Agora, o último concepto antes de entrar nun exemplo real dun programa de raspadinha é threads. Temas así é cando o ordenador está executando procesos simultáneos ao mesmo tempo. Eu asegura que todos temos aproveitado temas en que estamos asistindo a unha película ao mesmo tempo, como escribindo un ensaio ou algo así. O ordenador está executando varias cousas ao mesmo tempo, así como cero pode. Entón, como podes ver neste exemplo, estes dous scripts poden ser utilizados para o sprite exactamente o mesmo, porque estes comezando bloques de punto de entrada pode, en realidade, utilizados múltiples de veces. Eu asegura que, probablemente, a bandeira verde premendo bloque será unha das máis populares bloques no seu programa. Entón aquí vemos que, cando a bandeira verde é premendo, hai un proceso en curso, así como cando a bandeira verde é premendo, hai un proceso separado suceder. E así Scratch ha executar estas dúas á vez. E así con estes temas, sabendo que realmente pode ter máis de un punto de entrada - mesmo se é o mesmo punto de entrada - vai facer realmente útil se quere, por exemplo, separar tarefas distintas unha da outra. Todo ben. Entón, imos realmente ollar para un exemplo dun programa Scratch. Aceptar. Entón, eu xa fixen un pequeno programa para nós aquí. Entón, eu estou indo só premer na bandeira verde para comezar e ver o que fai. Polo tanto, temos un peixe laranxa aquí - un sprite peixe - parece moverse e, a continuación, reiniciar e volver. E entón nós temos un sprite tiburón. E ese sprite tiburón pode moverse, pode xirar, pode nadar. Aceptar. Entón, este é o tipo de diversión. Pero nós sempre podemos engadir máis para iso. Por exemplo, vemos que cando o obxectivo se move, pode realmente saír da pantalla e case desaparecer de vista. Entón, nós queremos cambiar isto, porque non queremos que o tiburón para fuxir. E así imos parar noso script e entón editar o tiburón scripts, quizais engadir algo. Teña en conta que, nese particular, Sprite aquí, o loop para sempre remata con un borde recto. El non ten ningunha rañura. Entón, en realidade iso ten sentido, porque é un lazo para sempre. É a execución de algo infinitamente. Entón non vai rematar nunca. Mesmo se houbese algo debaixo del, sería nunca chegar a iso. Entón, en realidade está obrigado a introducir unha discusión. Todo ben. Entón, imos engadir outro script. Entón eu vou comezar con este punto de entrada de cando verde bandeira é premendo. Entón o que quero facer é comprobar continuamente o tiburón vai estar en contacto co bordo. Pero eu sei que, en realidade, en movemento, hai un claro pequeno bloque que di, oh, no salto bordo. Entón, o que queremos facer é executar continuamente. E entón o que este "se no bordo, rexeitamento" fai - realmente xa comprobar se eu estou no bordo, a continuación, ir cara atrás. Polo tanto, temos de atopar algún tipo de loop para continuamente realizar esta declaración. Entón, se olharmos baixo control, alguén ten unha idea de o loop pode querer usar? Si Estudante: O lazo para sempre. ZAMYLA Chan: Exactamente, si. O lazo para sempre. Entón, imos seguir iso aquí, e en seguida, dicir que, na beira, saltar. E entón imos ver. Todo ben. Así, o peixe está movendo como de costume. E entón, oh - agora o obxectivo non pode escapar e salta cara a fóra da pantalla. Cool. Todo ben. Entón, eu estaba mirando para dentro Eu non podo - si? Estudante: Como fai que se aplican ao obxectivo mentres se move para o peixe? ZAMYLA Chan: Ah. Así, a razón pola que só o tiburón salta, en oposición a peixes, así, é porque este guión que escribiu está dentro o sprite tiburón. Vostede ve, aquí enriba, o sprite obxectivo é seleccionado. Todo ben. Entón imos engadir algo. Eu estaba explorando as fantasías diferentes que Cero ten, e eu vin ese bonitinho tiburón Chomp. Entón eu penso que, hey, así, quizais podemos aplicar a chomping obxectivo, por exemplo, cando nós pressionamos espazo. Eu só vou deixar con iso. Todo ben. Si Estudante: Vostede podería só amosar o - é que so traxes? ZAMYLA Chan: Ah, si. Entón eu fun en traxes, e entón eu olhei en Importar. E aquí, Scratch ten toda unha serie de fantasía que pode escoller. E entón hai unha morea de animais, e en seguida, o tiburón ten un par de traxes asociados. Aceptar. Polo tanto, neste script aquí, xa estou comprobando continuamente no loop eterno, OK, así, a frecha para a esquerda é presionado, entón eu quero xirar anti-horario. A frecha para a dereita e preme, quero xirar no sentido horario. A frecha para arriba é presionado, entón eu quere progresar cara a adiante. Entón o que podemos facer é só engadir a este script, en vez de engadindo un separado, porque iso xa é o check-in o tema de que as teclas están sendo presionadas. Entón, imos engadir unha que di que a tecla de espazo - imos usar o tecla de espazo para Chomp inferior. Entón, eses frecha esquerda preme, etcétera, son no máis brillante azul. Entón imos para Sentindo o azul brillante, e ollar para abaixo. Ah, e aquí é un espazo tecla presionada. Entón, o que queremos facer é ter a clave de tiburón para a súa chomping baixo do traxe. Isto ten que ver coa forma na que o obxectivo Parece, entón imos aos looks. E aquí temos, convenientemente, cambie para traxe de tiburón Chomp. Pero cando Chomp para abaixo, nós non queremos que o obxectivo ser chomping para sempre, entón imos engadir, OK, ben, entón, despois Chomps, queremos que volva. OK, entón imos ver o que fai. Polo tanto, temos que mover. Aceptar. Polo tanto, temos que mastigando. É unha especie de chomping rapidamente aínda, porque no scratch, está executando-os instantaneamente. Entón, imos para Control e facelo gozar do seu Chomp, agarde un segundo. E aquí Chomps abaixo un pouco máis de tempo antes de que el vai de volta á súa fame. Aceptar. Entón, eu estou moi feliz co obxectivo agora. Pero o peixe, o que parece estar a facer - é unha progresión dous pasos, de feito, por cinco veces. El está movendo 50 pasos. E entón, o que está facendo aquí este bloque de arriba aquí é que eu son dicindo: OK, así, vai ir a un determinado valor de x. Para atopar as coordenadas, pode realmente só do rato sobre da pantalla, e en seguida, na parte inferior - ben aquí - vai amosar o que as coordenadas son. Así, pode sacar proveito diso para introducir as coordenadas que quere. E así o que esta afirmación está dicindo aquí está dicindo, OK, Ademais, o peixe é iniciado neste valor determinado x e en seguida, o altura do que pode cambiar. En realidade, estou indo para escoller unha altura chou que aínda permanece dentro dos límites da etapa. E aquí, o que eu estou aproveitando é transmisión de eventos. Entón ve que ese manipulador de eventos é fish1 novo. Así, sempre que o peixe recibe o evento fish1 novo, que vai executar este. E entón ve que, despois de que se move cara adiante o seu valor conxunto de veces, entón, en realidade, transmite novo, OK, novo fish1. Pero en vez diso, que tal imos facelo de xeito que o único peixe continúa ata o final da pantalla antes de ser restaurada, no canto de só un tipo de ir ao centro. Entón, en vez de dicir, repita cinco veces - porque non realmente sei cantas veces será necesario ata que chega ao final da pantalla, imos usar outra cousa. Entón, eu estou indo a separar iso, porque realmente non quero iso. Para eliminar bloques en scratch, o que fai é só arrastrar para o lanzamento, á esquerda, e despois queda excluída. Se vostede decide que non quería facelo, entón podes sempre anular a eliminación. Pero queremos nos librar diso. O que queremos facer é que queremos manter en movemento 50 etapas e parando un segundo ata que toque no extremo da pantalla. Polo tanto, ninguén pode manchar un loop que podemos querer usar isto repite un proceso só ata que toque na pantalla. Estudante: Repetir ata. ZAMYLA Chan: Eu oín "repetir ata que", e que é correcto. Entón, si, este repetir ata bloque tamén ten un - pero vemos que esta repetición ata bloque non é moi completo, non? Entón, necesitamos dicir, OK, así, repita ata cando? Así, dicimos, OK, así, repita ata que o peixe está tocando o borde da pantalla. E así eu vou che dicir que que está baixo sensing. Hai esa Boolean conmovedora. E así pode seleccionar aquí o que quere estar comprobando que o peixe está tocando. Entón, aquí, queremos dicir tocar a bordo. E entón nós queremos engadir este cara atrás dentro E agora, se observarmos o noso peixe ir, xa que toca o bordo, que vai volver de novo. Todo ben. Entón, eu estou feliz con iso. E imos abrir HungryShark1. OK, como unha especie de programa de cociña, eu engade un pouco máis recursos. Así, por exemplo, vostede ve que o peixe é agora realmente deslizando sen grandes dificultades, en oposición ao anterior, cando se tipo de movemento e parada, movendo e parando - esencialmente só ir píxeles definidos. Eu olhei en movemento, atopou esta afirmación deslice, e eu dixo, OK, no canto de só movendo e parando, movendo-se e deixar, eu vou desprazar 70 unidades para a dereita, pero estar na miña posición y mesmo aquí. Todo ben. Polo tanto, temos un obxectivo que se Chomp. Cool. Pero é chamado HungryShark, despois de todo, por iso imos ter a tiburón come o peixe. Así como podemos dicir o peixe ou dicir que o obxectivo que ten chomped abaixo? Como podemos comunicar? Si Estudante: Na segunda roupa do obxectivo, colle o peixe. ZAMYLA Chan: Si, exactamente. Entón, nós sabemos que cando estamos cambiando o traxe para o Chomp, Chomp que temos para abaixo. Agora, que acabará por ter que comprobar. Dicir que queremos o peixe a desaparecer unha vez que a súa comida. Imos ter dalgunha forma comunicarse cos peixes que vai ter a ocultar, por exemplo, ou desaparecer a pantalla unha vez que foi chomped abaixo sobre. Entón, que tipo de concepto, que tipo de ferramenta que podemos utilizar para teñen a comunicar obxectivo para o peixe, OK, Eu chomped abaixo? Estudante: Radiodifusión. ZAMYLA Chan: Si, exactamente, transmitindo un evento. Entón imos para Control e digamos transmisión. E imos transmitir Chomp. Todo ben. Pero unha vez que transmitir algo, iso é o suposición de que nós imos mesmo ter algo recibilo. E así que vai ser o peixe. Entón, imos dicir, cando eu recibir Chomp. Agora, cando o Chomp obxectivo para abaixo só un espazo baleiro, non temos quere o peixe para reaccionar a iso en todo. Entón, imos dicir, OK, así, só o tiburón está tocando o peixes na época da Chomp - que é cando nós imos realmente facer algo. Entón, imos usar a condición, á dereita, porque estamos comprobando se algo é certo ou non. Entón, se nós voltar a Sentindo, entón podemos usar aquí, se tocando. E entón aquí imos escoller o obxectivo. A continuación, baixo miradas, este bloque ocultar - que vai basicamente facer os peixes desaparecen do escenario. Nós imos facer ocultar, pero queremos outro peixe, non? O noso obxectivo está con fame. Queremos dar-lle máis peixes. Entón imos tamén transmitir un novo peixe de novo. Aceptar. Entón imos ver o que iso fai. Cool. Por iso, Chomps para abaixo e outro peixe aparece. Pero iso é un pouco rápido de máis para un outro peixe para ir. Entón imos esperar un segundo antes de nós transmitir un novo peixe. Todo ben. Aceptar. Polo tanto, esta é unha toma moi boa dun xogo. Pero todos os xogos precisa dunha puntuación, non? Entón, o que poderiamos usar para manter a puntuación? Si ESTUDANTE: Outro - ZAMYLA Chan: Yeah. Exactamente. Si Entón, nós queremos seguir basicamente como moitos peixes é comido. Para iso, nós imos ter que facer unha variable. Imos chamar esta puntuación. E entón, presuntamente, unha vez que este é un xogo que estamos xogando, imos querer o peixe para ser capaz de - dicir, unha vez que a súa comida pode aumentar a puntuación ou algo e, a continuación, o escenario, probablemente, terá que facer algo a ferida tamén. Entón eu vou escoller para facer esta unha variable global e dicir para todos os sprites. Aceptar. Así, cando queremos aumentar a puntuación? Cando un peixe foi comido. E así xa temos un proceso aquí que está lidando co peixe a ser comido. Entón, imos engadir esta declaración aquí - Puntuación cambiar en 1. Cool. Polo tanto, unha vez que come un peixe, os aumentos de puntuación. Todo ben. Entón, dicir que estou canso deste xogo. Eu paro. E entón, oh, eu quero volver para o xogo. Eu quero comezar un novo xogo. Ben, o resultado aínda é tres, aínda que eu son xogar un partido novo. Nós realmente non queremos nunca marcar para reiniciar, non? Entón, imos engadir unha declaración cando o xogo comeza en escenario para dicir, OK, así, queremos reiniciar o panel. Entón aquí nós definir a puntuación variable a 0. E agora, sempre que comezar un xogo, a puntuación terá comezo ás 0. Cool. Aceptar. Aceptar. Entón, agora, imos continuar a HungryShark2. Entón eu fixen un pouco máis agora, eo que eu teño feito é prema dereito sobre o sprite peixe. Eu quería máis peixes, e así que eu prema duplicado e iso fixo un sprite novo idéntico ao que unha e copiado en todos os así os scripts. Entón, a continuación, este fish2 é esencialmente idéntico ao fish1, pero en vez de dende o lado esquerdo e movendo cara a dereita, el comeza a dereita e move cara á esquerda. E entón eu tamén escolleu un figurino novo para el. Entón, podo atopar un outro traxe que era un peixe Mancha, e eu era como, legal, iso parece velenosa, entón imos finxir que se trata dun peixe velenoso. E entón eu dixo, OK, así, en vez de comer o peixes velenosos e ter o seu aumento de puntuación, realmente quere que diminúa. Entón, aquí temos puntuación decrecente por 1 sempre que o tiburón come. E entón, eu realmente gusta das roupas que riscam proporcionada, e eu olhei e entón eu atope as Shark 's - parecía un tiburón enfermo. E entón eu editei eu fixen verde. E eu era como, legal, é un tiburón enfermo. Todo ben. Entón, imos Imos engadir ao noso guión algún tipo de forma de facer a chave de tiburón en estar enfermo sempre que come un peixe envelenado. Aceptar. Entón porque copiamos todos os scripts do noso orixinal peixe no peixe veleno, xa ten ese sprite aquí que di que, cando eu estou chomped abaixo, son eu realmente chomped abaixo? Así, podemos aproveitar este comunicar ao quenlla, oh, así, acaba de comer un peixe velenoso. Vostede está enfermo. E así, este sería o tipo de acción? O que sería quere facer? Transmitido. Si, exactamente. Entón imos transmisión. Imos chamalo de tiburón enfermo. Aceptar. Entón, agora, o obxectivo, obviamente, vai ser a persoa que está recibir este evento. Entón, imos engadir cando recibir o obxectivo estar enfermo. Aceptar. Entón, sabemos que temos ese costume - o obxectivo está enfermo. E entón sabemos de antes que tipo de apreciar cando podemos facer unha pausa un pouco antes de volver. Si? ESTUDANTE: Como copiar script un sprite para outro? ZAMYLA Chan: Ah. Polo tanto, neste exemplo, cando dupliquei o sprite, a copiar un script a outro sprite, o que eu fixen aquí foi só dicir duplicado, e realmente fixo un novo enteiro sprite con todos os scripts incluídos. Pero digamos que queira só copiar un guión axeitado para outro sprite, entón o que quere facer é, en realidade, só arrastrar iso, pair sobre outro guión, e agora aquí duplicado el. Neste caso, el xa tiña, por iso, pode simplemente borrar iso de novo. Pero para copiar un script a outro, o que fai é só arrastralo ata os outros sprites. Aceptar. Entón, estamos de volta ao tiburón estar enfermo. Tiburón Así que se recibiron está enfermo, e el di, OK, así, unha vez que eu estou enfermo, eu vou cambiar a miña fantasía que di "Tiburón enfermo", e agora, imos engadir unha espera de apreciar o verde. E entón nós imos estar con fame de novo, polo tanto, pode só volver ao obxectivo estar con fame. Todo ben. Entón, imos comer este peixe morado. Isto é bo. Boa pregunta. O que aconteceu co contador? Aceptar. Entón, temos que definir puntuación 0 aquí, pero esta puntuación - o que esta marca de selección non é el esconde ou amosar de novo a variable a partir da pantalla. Pero o que podemos facer máis que desmarcar ou alomenos-lo - podemos realmente ter ese bloque aquí di "amosar ou ocultar a variable. "Entón imos estar seguro de que cada vez que comezar o xogo que a variable é mostrado. Aceptar. Entón, agora a variable é mostrado. Comemos un peixe velenoso, e ficamos enfermos. Cool. Todo ben. Entón, agora, é estraño para un xogo para nós ter negativo puntos, non? Entón, el segue a comer estes e como - así como sobre cando temos negativo, se comeu máis peixes velenosos moitos, ao longo do xogo - tiburón está moi enfermo. Todo ben. Entón, o que cómpre facer é que precisaremos transmitir algún evento - ao longo do xogo. Entón, nós poderíamos facelo de varias maneiras, en realidade. Nós poderiamos ter un lugar na fase dun guión que continuamente cheques é a puntuación negativa? É a puntuación negativa? Se si, entón será transmitida neste evento. Entón esta é unha forma de facelo. Ou podemos sacar proveito do feito de que sabemos que o único xeito que a súa puntuación pode ser negativo é cando come unha peixes velenosos, non? Porque cando come outro peixe, o seu puntuación vai aumentar. Polo tanto, non hai uso comprobar que debe ser ao longo do xogo ou non. Polo tanto, este é un proceso semellante aquí. Entón, nós realmente podemos só engadir a este "cando recibir tiburón enfermo. " Así dicimos engadir esta condición. Queremos dicir, o resultado é menor que 0. Entón, nós estamos indo para ir operadores, imos usar este menor que un, imos arrastrar a nosa puntuación aquí, digamos 0. E así, a puntuación é 0, entón queremos transmitir algo chamado xogo. Aceptar. Entón, dicir que temos ao longo do xogo. Imos pasar aquí ou algo así. Ben, nós queremos que o obxectivo só para volver a ter fame se o xogo pode ser reproducido. Entón, en vez de usar un "si", imos usar un "máis" construír. Entón, o que iso fai - di, OK, entón esa condición é verdade, entón facelo, pero se é falsa, entón facelo. Entón, imos engadir o resultado é menor que 0, entón transmitida ao longo do xogo, pero non - o seu puntuación aínda é positivo - a continuación, voltar a estar con fame. Aceptar. Cool. Polo tanto, agora que temos este xogo sobre o evento, teremos que ter algunha forma de responder a ela. Entón, imos facer un novo script que di "cando recibir xogo máis. "E o que temos aquí, baixo control e, de feito, esta deixar todo o botón, e por iso, basicamente, imita-lo premendo a parada de sinal vermello aquí. Polo tanto, imos ter a parada de tiburón. E así tamén nós queremos o peixe para deixar, entón imos arrastrar e copia-lo dentro Queremos todos os peixes para parar. E entón imos ter a parada de escenario tamén. Todo ben. Así, nadando, comemos un peixe, e a continuación, o programa conxela. Estou facendo clic abaixo, pero eu realmente non pode facer nada. OK, pero imos dicir que non queremos recordar ao usuario que teñen un valor negativo, por exemplo, entón podemos, por exemplo, esconder a variable da pantalla. Entón, cando o escenario recibe ao longo do xogo, a continuación, que vai ocultar a puntuación variable. Aceptar. Entón, imos comer peixe máis. E entón a puntuación desaparece, e só ten esta pantalla. Todo ben. Entón, iso é un xogo moi decente, e se tivese máis tempo, entón pode, eventualmente, engadir máis guións e moito máis. E entón, eu engade algúns peixes, os fixo progresar en velocidades diferentes e, a continuación, sempre que o obxectivo come un peixes velenosos, realmente di, "Blech!" E entón o que eu fixen é que eu engade un novo fondo para o fase - un xogo sobre o fondo. E entón o que o escenario fai durante o xogo sobre o evento manipulación é el cambia para o fondo do game over fondo. E, así, eu escondín todos os sprites do escenario para que só o xogo sobre o fondo foi mostrado. Hai un par de outras adicións pouco que eu engade, por exemplo, antes cando nos terminais o noso programa, entón a nosa tiburón, a próxima vez que comezamos, ía comezar en esta posición tamén. O que eu engade sempre que a bandeira verde é premendo, o obxectivo remonta á orixe e, a continuación, volveu para o dereito, de xeito que cada vez, ten unha tiburón comezando alí. Así podes probar en movemento e cousas do tipo que só para engadir detalles que fan que o seu xogo un pouco máis pulido. Alguén ten algunha dúbida sobre HungryShark? Cool. Todo ben. Entón, iso é un exemplo de algo que podes facer en scratch usando todas as ferramentas que discutir anteriormente. Entón, eu tamén incluído nos diapositivas paso a paso. Vai ve-los máis tarde. É só unha visión xeral dos procesos que fixemos - progresando de HungryShark0 todo o camiño para a nosa final. Un Si Pero iso é todo. Vou ir cara atrás se vostedes queren facer máis preguntas. Este foi Walkthrough 0. Grazas a todos por teren benvida, e eu vou ver vostede en Paso a paso 1.