[Powered by Google Translate] ZAMYLA CHAN: Tudo bem.
Olá, todos, e bem vindo ao Passo a passo 0.
Zamyla do meu nome, e eu vou estar levando estes
orientações este ano.
Em CS50, cada conjunto de problemas é acompanhada por uma explicação passo a passo
em que nós vamos passar por conjunto da semana problema, converse
através, falar de como começar, discutir diferentes
técnicas e dicas para realmente quebrar o problema em definir
algumas mordidas gerenciáveis.
Eu também estou muito feliz em responder quaisquer perguntas que você
ter sobre o conjunto de problemas.
Sem mais delongas, estou feliz por você estar aqui, se você é
aqui em pessoa ou sintonizar online.
Vamos começar.
>> Então, o primeiro conjunto de p-in CS50 -
na verdade, nós não vamos entrar em digitação e máquina
material de código bastante ainda.
Estamos, na verdade, vai estar usando Scratch, que é um
programa que nos permite fazer algumas arrastar e soltar
programação.
E assim, mesmo que não está digitando, ele realmente nos permite
explorar alguns dos conceitos fundamentais que
vamos usar durante todo CS50.
Agora, alguns desses conceitos são
aqui na caixa de ferramentas.
O que eu gostaria de fazer para cada passo a passo é apresentar a todos
com um conjunto de ferramentas que você pode usar para o passo a passo.
E assim, não se preocupe.
Nós vamos passar por cima de todos estes termos e todos estes
teorias durante o passo a passo.
Agora, se você acaba usando todas estas ferramentas, ou apenas
alguns deles, é muito bom saber o que você está equipado
com poder para enfrentar o conjunto de problemas.
>> Assim, em Scratch, a linguagem primeiro que você precisa saber é o que
é um sprite.
Assim, cada objeto ou cada personagem, seja ele um gato de um cão
ou uma bola, é chamado de sprite.
E assim, se eu quiser, por exemplo, dois gatos - se eles são ou não
idêntica -
Vou precisar fazer duas sprites separados em Scratch.
E assim sprites tem scripts associados a eles.
Scripts são realmente o que você vai estar construindo -
arrastando e soltando - com seus blocos.
E então o que os scripts não é uma espécie de determinar e definir como
o sprite se comporta.
Sprites não são, na verdade, apenas imagens, porque temos
trajes também associados com os sprites que tipo de
determinar o que o sprite parece.
E você pode ter mais de um traje para um dado Sprite.
>> Então, em algum momento durante o seu programa Scratch, como mostraremos
mais tarde hoje, durante o passo a passo, você pode realmente
mudar o figurino de seu sprite para torná-la ou
ligeiramente diferente ou completamente diferente.
E assim há três maneiras de criar um sprite no Scratch.
Um, você pode desenhar o seu próprio em Scratch
construído no editor de pintura.
Você pode enviar sua própria imagem, use um dos Scratch embutido
entes, ou, a última opção, obter um sprite aleatória.
Agora, se você estiver se sentindo particularmente sorte, então eu
Convidamos você a tentar a sua sorte e criar um sprite aleatória.
>> Assim, todos os sprites são colocados em
o estágio em Scratch.
O estágio - podemos tratá-la como nossa tela.
E assim todos os sprites são colocados no palco.
E nesta fase, o que ele faz é permite que todos os sprites
para mover-se sobre ele.
E, assim como sprites, o estágio também tem scripts.
E assim estes scripts, para colocá-los no palco -
é realmente útil quando, por exemplo, você tem um script que não faz
pertencem a exatamente uma entidade gráfica específica, mas sim
pertence a vários sprites ou apenas, em geral, algo
que você quer fazer.
Então você pode colocar esses scripts no palco em vez disso, e que
projeto seria um pouco melhor.
Agora, enquanto você pode ter vários sprites, é bom
tenha em mente que você pode ter apenas uma fase.
Mas estágios também têm origens.
Ao contrário de trajes, como sprites fazer, estágios têm
fundos.
E mais uma vez, você pode tirar suas próprias ou desenhos
imagem a ser usado como um fundo.
>> Então, alguém tem alguma pergunta antes de ir em frente?
OK.
Sinta-se livre para me interromper o que durante o passo a passo, e
Fico feliz em responder a quaisquer perguntas que você tem.
OK.
Então, quando você começar o seu programa de sprite, o que você está indo para
se é que você vai clicar na bandeira verde.
Mas se você não ligar nada a este bloco de direita
aqui, então, nada realmente vai acontecer.
Porque, veja, o que os scripts eo estágio precisa
fazer é realmente saber para responder ao evento -
isso é o que chamamos, eventos - de a bandeira verde
sendo clicado.
Então, você precisa realmente anexar blocos à ranhura na
inferior do bloco sinalizador verde clicado, e, em seguida, o
programa vai saber o que fazer e como responder à
bandeira verde ser clicado.
>> Bem, o que vem depois?
Bem, temos uma infinidade de blocos em Scratch para usar, e
onde a carne, realmente, de seu programa reside nestes
declarações.
E assim, essas afirmações são convenientemente
organizado por cor.
Você tem ações relacionadas ao movimento,
som, looks, et cetera.
E assim você pode ver, você pode navegar entre eles no
guias em seu programa Scratch.
E assim, enquanto você vai ter outras coisas construídas em torno dela,
que as declarações realmente fazer é realmente diz a
sprites ou o estágio de fazer alguma coisa.
Ao invés de apenas dizer, OK, quando você faz isso, o
declarações realmente conter a carne real do mesmo.
Vamos dizer que você quer apenas executar uma determinada ação, digamos
você só quer o gato a miar quando uma determinada coisa acontece.
Podemos tirar proveito de booleanos, o que você aprendeu na
palestra um.
E estes são expressões que avaliam
verdadeiro ou falso.
E estes são identificados em Scratch pelo -
você vê os ângulos no final desses blocos.
E então você tem uma variedade de diferentes tipos de booleanos.
Você é "a mais a ser pressionado para baixo", "faz 2 mais 2
equivale a 5, "ou" é o utilizador pressiona uma tecla específica no
o teclado? "
>> Agora, você não pode apenas usar estas sozinho.
O que você tem a fazer é combiná-los com uma condição.
Assim, a condição está lá sob a guia de controle em Scratch.
E assim, eles convenientemente ter um espaço reservado pouco que
mostra a forma do bloco que você precisa colocar nele.
Então, dependendo do contexto da situação, você pode escolher
um booleano e depois colocá-lo dentro de sua condição.
E aí você tem uma instrução condicional.
Se você colocar as instruções dentro desse bloco, então você tem uma
estrutura criada, em que uma vez que uma determinada condição é satisfeita em
a esquerda, então você executar a instrução.
Sim?
>> ESTUDANTE: Se uma variável representa um número, você pode
utilizar a variável dentro do Boolean, como o verde,
por exemplo?
ZAMYLA CHAN: Sim, você pode.
Você pode arrastar e soltar o valor da variável dentro do
circular moldar lá.
>> Agora, uma das vantagens dos computadores é a grande potência
ea velocidade com que eles podem executar processos repetitivos.
E assim, em vez de, digamos, repetindo uma instrução sobre
e uma e outra vez e realmente digitar isso - ou
neste caso, em Scratch, arrastando e soltando e
arrastando e soltando -
o que podemos fazer é compactá-lo em um loop.
E assim, os loops pode ser usado para executar qualquer coisas
infinitamente com um laço para sempre, ou para uma
definir o número de vezes -
dizer, repita "dizer oi" 10 vezes ou até um certo
condição é verdadeira.
E assim, novamente, você vê que scratch está insinuando que quando
você tem uma condição como "repetir até", então a única
coisa que vai caber lá dentro é um valor booleano.
Tudo bem.
>> Então, agora, nós sabemos que podemos encapsular repetitivo
processos dentro de loops.
Você pode ver porque algo assim não pode ser ideal.
Ela não se encaixa no slide.
Essencialmente, ele só faz a mesma coisa uma e outra vez
10 vezes, na verdade.
Move-se 10 passos, diz Olá, move-se 10 passos, diz Olá.
Então, agora você pode ver que uma vez que temos laços, algo como
este é muito melhor.
É mais curto, é menor, e ele realmente completa o
mesma coisa.
Agora, em Scratch isso pode não fazer muita diferença, mas
ele realmente poupa-lhe algum tempo.
>> Então, para a expressão variável -
você pode realmente usar variáveis ​​e colocá-los dentro de
condições.
Como expresso ali, você vê que temos uma variável chamada
"Contrariar", e nós estamos igualando que para ver se
é inferior a 0.
Assim, as variáveis ​​são essencialmente, eu diria,
recipientes para os valores.
No Scratch, os tipos de valores podem ser palavras ou
eles podem ser números.
E assim, com essas variáveis, o que podemos fazer com eles é que
pode definir o seu valor.
Assim, no primeiro exemplo aqui, temos o exemplo do texto
contendo o valor "Olá Mundo!" No segundo exemplo,
é assumido que já temos uma variável chamada
"Contrariar", e, nesse caso, estamos mudando isso por 3.
Estamos aumentando-o de 3.
E, em seguida, no exemplo anterior, as variáveis ​​podem ser arrastados
para ser colocado em uma expressão booleana.
>> Agora, quando você cria uma variável, o que você tem que
decidir é se você tornar a variável para todos os
sprites em seu programa Scratch, ou apenas para a
especificidades entidade gráfica em que você selecionou quando você faz
a variável.
E por isso esta é uma decisão muito importante a fazer.
E ela realmente se resume ao que você deseja que o escopo
variável de ter.
Assim, por exemplo, um exemplo de escopo local seria se
escolha apenas para esta entidade ter a variável.
Então, isso significaria que só sprite que seria capaz de
acessar essa variável.
Só que de sprite seria capaz de vê-lo,
mudá-lo, modificá-lo.
Se você optar por ter um alcance global -
de modo que é, se você diz para todos os sprites, se
você selecionar essa opção -
em seguida, o que significa que a fase, bem como todos os sprites
será capaz de ver, modificar e acessar essa variável que
que você criou.
Qualquer dúvida até agora sobre variáveis ​​ou qualquer coisa?
Sim.
>> ALUNO: Para as variáveis, você pode ter duas variáveis ​​de
o mesmo nome se eles estão em sprites diferentes?
ZAMYLA CHAN: Enquanto eles são sprites locais ---
ah, sim, me desculpe.
Portanto, a questão era saber se você pode ter duas variáveis ​​de
o mesmo nome de um programa e se você tiver duas variáveis ​​com
o mesmo nome, mas são ambos sprites locais, portanto, um duende,
o gato, tem uma variável de nome "balcão", e sprite dois, o
cão, tem uma variável chamada "contador", enquanto os
são os dois sprites locais, então o seu alcance não se estende a
o resto do programa.
E para que nenhum dos outros sprites ou o
fase vai ficar confuso.
Tudo bem.
>> Então eu mencionei antes o ponto de entrada, quando tivemos a
quando o bloco verde bandeira clicado.
E assim o que é isso -
ele diz, OK, quando o evento acontece que a bandeira verde é
clicado, este é o que você deve fazer.
E para que na verdade não é o único evento
que temos em Scratch.
Temos também outros eventos.
Assim, temos, por exemplo, quando uma tecla
o teclado é pressionado.
E você realmente pode escolher as letras de A a Z, 0
a 9, ou as teclas de seta.
E depois temos também outros eventos, tais como quando seu
Sprite é clicado.
E assim, quando você começar com isso, você percebe a tendência chave
é a de que eles só têm uma ranhura na parte inferior, e assim
então que, mais uma vez, as chaves de você em que nada dá acima
esse bloco.
Você constrói a partir desse e abaixo.
>> Agora, por exemplo, o que acontece se nós queremos algum evento acontecer apenas
quando, eu não sei, um gato está tocando uma determinada seção de
o palco ou algo assim?
Nós, na verdade, não têm qualquer construído em
evento para significar que.
Então, o que nós vamos ter que fazer é realmente criar o nosso próprio evento.
E isso é chamado de radiodifusão.
Então, quando você quer sinalizar que um certo aconteceu,
então você usa - no guia de controle, há um bloco chamado
"Transmitir". E então, você vai digitar o nome do
evento que pretende transmitir, e depois o que
sprite ou sprites -
você pode ter vários sprites reagindo a esta mensagem -
ou o estágio terá que lidar com isso, terá de
recebê-lo, terá que dizer, OK, eu entendo que isso tem
aconteceu, então eu vou fazer isso com ele.
E assim, sempre que você transmitir um evento, isso é com o
princípio de que qualquer sprite que ou outro sprite é
vai ter que receber esse evento e responder.
>> Agora, o último conceito antes de entrar em um exemplo real
de um programa de raspadinha é threads.
Tópicos assim é quando o computador está executando
processos simultâneos ao mesmo tempo.
Eu garanto que todos nós temos aproveitado
tópicos em que estamos assistindo a um filme ao mesmo tempo, como
digitando um ensaio ou algo assim.
O computador está a executar várias coisas ao mesmo
tempo, assim como zero pode.
Então, como você pode ver neste exemplo, esses dois scripts podem
ser utilizados para o sprite exatamente o mesmo, porque estes
começando blocos de ponto de entrada pode, na verdade, utilizados
múltiplos de vezes.
Eu garanto que, provavelmente, a bandeira verde clicado bloco
será uma das mais populares
blocos em seu programa.
Então aqui nós vemos que, quando a bandeira verde é clicado, há
um processo em curso, bem como quando a bandeira verde é
clicado, há um processo separado acontecendo.
E assim scratch irá executar estas duas ao mesmo tempo.
E assim com estes tópicos, sabendo que você pode realmente
ter mais de um ponto de entrada -
mesmo se for o mesmo ponto de entrada -
ele vai se tornar realmente útil se você quiser, por exemplo,
separar tarefas distintas uma da outra.
Tudo bem.
Então, vamos realmente olhar para um exemplo de um programa Scratch.
>> OK.
Então, eu já fiz um pequeno programa para nós aqui.
Então, eu estou indo só clicar na bandeira verde para começar e ver
o que ele faz.
Portanto, temos um peixe laranja aqui -
um sprite peixe -
parece mover-se e, em seguida, reiniciar e voltar.
E então nós temos um sprite tubarão.
E esse sprite tubarão pode se mover, ela pode girar, ele pode
nadar.
OK.
Então, esse é o tipo de diversão.
Mas nós definitivamente podemos adicionar mais para isso.
Por exemplo, vemos que quando o tubarão se move, ele pode
realmente sair da tela e quase
desaparecer de vista.
Então, nós queremos mudar isso, porque não queremos que o
tubarão para fugir.
E assim vamos parar nosso script e então editar o tubarão
scripts, talvez acrescentar algo.
Observe que, nesse particular, Sprite aqui, o loop para sempre
termina com uma borda reta.
Ele não tem qualquer ranhura.
Então, na verdade isso faz sentido, porque é um laço para sempre.
É a execução de algo infinitamente.
Então não vai terminar nunca.
Mesmo se houvesse algo abaixo dele, seria
nunca chegar a isso.
Então, na verdade você está forçado a introduzir uma discussão.
>> Tudo bem.
Então, vamos adicionar outro script.
Então eu vou começar com este ponto de entrada de quando verde
bandeira é clicado.
Então o que eu quero fazer é verificar continuamente se o
tubarão vai estar em contacto com a borda.
Mas eu sei que, na verdade, em Movimento, há um puro
pequeno bloco que diz, oh, se no salto borda.
Então, o que nós queremos fazer é executar continuamente.
E então o que este "se na borda, rejeição" faz - ele realmente
já verifica se eu estou na borda, em seguida, saltar para trás.
Portanto, temos de encontrar algum tipo de loop para continuamente
executar esta declaração.
Então, se olharmos sob controle, alguém tem uma idéia de
o loop pode querer usar?
Sim.
>> ESTUDANTE: O laço para sempre.
ZAMYLA CHAN: Exatamente, sim.
O laço para sempre.
Então, vamos acompanhar isso aqui, e em seguida, dizer que, se na borda, saltar.
E então vamos ver.
Tudo bem.
Assim, o peixe está se movendo como de costume.
E então, oh -
agora o tubarão não pode escapar e salta para fora da tela.
Cool.
Tudo bem.
Então, eu estava olhando para dentro
Eu não posso - sim?
>> ESTUDANTE: Como você faz que se aplicam ao tubarão enquanto ele se move
para o peixe?
ZAMYLA CHAN: Ah.
Assim, a razão pela qual apenas o tubarão salta, em oposição a
peixes, bem, é porque este roteiro que escreveu está dentro
o sprite tubarão.
Você vê, aqui em cima, o sprite tubarão é selecionado.
Tudo bem.
Então vamos acrescentar mais alguma coisa.
Eu estava explorando as fantasias diferentes que
Zero tem, e eu vi esse bonitinho tubarão chomp.
Então eu pensei que, hey, bem, talvez nós podemos implementar a
chomping tubarão, por exemplo, quando nós pressionamos espaço.
Eu só vou parar com isso.
Tudo bem.
Sim.
>> ESTUDANTE: Você poderia apenas mostrar o - é que, sob trajes?
ZAMYLA CHAN: Ah, sim.
Então eu fui em Trajes, e então eu olhei em Importar.
E aqui, Scratch tem toda uma série de fantasias que
você pode escolher.
E então há um monte de animais, e em seguida, o
tubarão tem um par de trajes associados.
OK.
Portanto, neste script aqui, já estou verificando continuamente
no loop eterno, OK, bem, se a seta para a esquerda é pressionado,
então eu quero girar anti-horário.
Se a seta para a direita é pressionada, eu quero girar no sentido horário.
Se a seta para cima é pressionado, então eu
quer progredir para a frente.
Então o que podemos fazer é apenas adicionar a este script, em vez de
adicionando um separado, porque isso já é o check-in
o tema de que as teclas estão sendo pressionadas.
>> Então, vamos adicionar uma que diz que se a tecla de espaço - vamos usar o
tecla de espaço para chomp para baixo.
Então, esses seta esquerdo pressionado, et cetera, estes são
no mais brilhante azul.
Então vamos para Sentindo o azul mais brilhante, e olhar para baixo.
Ah, e aqui é um espaço tecla pressionada.
Então, o que nós queremos fazer é ter a chave de tubarão para a sua
chomping baixo do traje.
Isso tem a ver com a forma como o tubarão
Parece, então vamos aos looks.
E aqui temos, convenientemente, mude para
traje de tubarão chomp.
Mas quando nós chomp para baixo, nós não queremos que o tubarão ser
chomping para sempre, então vamos adicionar, OK, bem, então,
depois Chomps, nós queremos que ele volte.
OK, então vamos ver o que faz.
Portanto, temos que mover.
OK.
Portanto, temos que mastigando.
É uma espécie de chomping rapidamente embora, porque no Scratch,
está executando-os instantaneamente.
Então, vamos para Controle e torná-lo apreciar o seu
chomp, espere um segundo.
E aqui Chomps abaixo um pouco mais de tempo antes que ele vai
de volta à sua fome.
>> OK.
Então, eu estou muito feliz com o tubarão agora.
Mas o peixe, o que parece estar a fazer - é uma progressão
dois passos, de facto, por cinco vezes.
Ele está se movendo 50 passos.
E então, o que está fazendo aqui neste bloco de cima aqui é que eu sou
dizendo: OK, bem, ele vai ir para um determinado valor de x.
Para encontrar as coordenadas, você pode realmente apenas do mouse sobre
da tela, e em seguida, na parte inferior -
bem aqui -
ele vai mostrar o que as coordenadas são.
Assim, você pode tirar proveito disso para introduzir as coordenadas
que você deseja.
E assim o que esta afirmação está dizendo aqui está dizendo, OK,
Além disso, o peixe é iniciado neste valor determinado x e em seguida, o
altura do que pode mudar.
Na verdade, estou indo para escolher uma altura aleatório que ainda permanece
dentro dos limites da fase.
E aqui, o que eu estou aproveitando é
transmissão de eventos.
Então você vê que esse manipulador de eventos é fish1 novo.
Assim, sempre que o peixe recebe o evento fish1 novo, ele vai
executar este.
E então você vê que, depois de ele se move para a frente o seu valor conjunto
de vezes, então, na verdade, transmite
novamente, OK, novo fish1.
Mas em vez disso, que tal vamos fazê-lo de modo que o único peixe
continua até o fim da tela antes de ser restaurada,
em vez de apenas um tipo de ir ao centro.
Então, em vez de dizer, repita cinco vezes - porque nós não
realmente sei quantas vezes será necessário até que
chega ao final da tela, vamos usar outra coisa.
>> Então, eu estou indo para separar isso, porque nós
realmente não quero isso.
Para eliminar blocos em Scratch, o que você faz é só arrastar
para o lançamento, à esquerda, e depois ele fica excluída.
Se você decidir que não queria fazer isso, então você pode
sempre anular a eliminação.
Mas nós queremos nos livrar disso.
O que nós queremos fazer é que nós queremos manter em movimento 50 etapas e
parando um segundo até que toque na extremidade da tela.
Portanto, ninguém pode manchar um loop que podemos querer usar isso
repete um processo apenas até que toque na tela.
>> ESTUDANTE: Repetir até.
ZAMYLA CHAN: Eu ouvi "repetir até que", e que é correto.
Então, sim, este repetir até bloco também tem um -
mas vemos que esta repetição até bloco não é muito
completo, certo?
Então, nós precisamos dizer, OK, bem, repita até quando?
Assim, dizemos, OK, bem, repita até que o peixe está tocando o
borda da tela.
E assim eu vou te dizer que que está sob Sensing.
Há essa Boolean comovente.
E assim você pode selecionar aqui o que você quer estar verificando
que o peixe está tocando.
Então, aqui, nós queremos dizer tocar a borda.
E então nós queremos adicionar este para trás dentro
E agora, se observarmos o nosso peixe ir, uma vez que toca o
borda, ele vai voltar novamente.
Tudo bem.
Então, eu estou feliz com isso.
E vamos abrir HungryShark1.
>> OK, como uma espécie de programa de culinária, eu adicionei um pouco
mais recursos.
Assim, por exemplo, você vê que o peixe agora é realmente
deslizando sem grandes dificuldades, em oposição ao anterior, quando foi
tipo de movimento e parada, se movendo e parando -
essencialmente apenas saltar pixels definidos.
Eu olhei em Movimento, encontrou esta afirmação deslize, e eu
disse, OK, em vez de apenas se movendo e parando, movendo-se
e parar, eu vou deslizar 70 unidades para a direita,
mas ficar na minha posição y mesmo aqui.
Tudo bem.
Portanto, temos um tubarão que pode chomp.
Cool.
Mas é chamado HungryShark, depois de tudo, por isso vamos ter a
tubarão comer o peixe.
>> Assim como podemos dizer o peixe ou dizer que o tubarão que ele tem
chomped baixo?
Como podemos comunicar?
Sim.
ESTUDANTE: Na segunda roupa do tubarão,
pega o peixe.
ZAMYLA CHAN: Sim, exatamente.
Então, nós sabemos que quando estamos mudando o traje para o
chomp, chomp que temos para baixo.
Agora, que acabará por ter que verificar.
Dizer que queremos o peixe a desaparecer uma vez que sua comida.
Vamos ter de alguma forma comunicar com os peixes que
ele vai ter a esconder, por exemplo, ou desaparecer
a tela uma vez que foi chomped baixo sobre.
>> Então, que tipo de conceito, que tipo de ferramenta que podemos utilizar para
têm a comunicar tubarão para o peixe, OK,
Eu chomped baixo?
ESTUDANTE: Radiodifusão.
ZAMYLA CHAN: Sim, exatamente, transmitindo um evento.
Então vamos para Controle e digamos transmissão.
E vamos transmitir chomp.
Tudo bem.
Mas uma vez que transmitir algo, isso é com o
suposição de que nós vamos mesmo ter algo
recebê-lo.
E assim que vai ser o peixe.
Então, vamos dizer, quando eu receber chomp.
Agora, quando o chomp tubarão para baixo apenas um espaço vazio, não temos
quer o peixe para reagir a isso em tudo.
Então, vamos dizer, OK, bem, só se o tubarão está tocando o
peixes na época da chomp -
que é quando nós vamos realmente fazer alguma coisa.
Então, vamos usar a condição se, à direita,
porque nós estamos verificando se algo é verdade ou não.
Então, se nós voltar para Sentindo, então podemos
usar aqui, se tocando.
E então aqui, vamos escolher o tubarão.
Em seguida, sob olhares, este bloco esconder -
que vai, basicamente, fazer os peixes desaparecem do palco.
Nós vamos fazer esconder, mas queremos outro peixe, certo?
Nosso tubarão está com fome.
Queremos dar-lhe mais peixes.
Então vamos também transmitir um novo peixe de novo.
OK.
Então vamos ver o que isso faz.
>> Cool.
Por isso, Chomps para baixo e outro peixe aparece.
Mas isso é um pouco rápido demais para um outro peixe para ir.
Então vamos esperar um segundo antes de nós
transmitir um novo peixe.
Tudo bem.
OK.
Portanto, esta é uma tomada muito boa de um jogo.
Mas todos os jogos precisa de uma pontuação, certo?
Então, o que poderíamos usar para manter a pontuação?
Sim.
ESTUDANTE: Outro -
ZAMYLA CHAN: Yeah.
Exatamente.
Sim.
Então, nós queremos acompanhar basicamente como
muitos peixes é comido.
Para fazer isso, nós vamos ter que fazer uma variável.
Vamos chamar essa pontuação.
E então, presumivelmente, uma vez que este é um jogo que estamos jogando,
vamos querer o peixe para ser capaz de -
dizer, uma vez que sua comida pode aumentar a pontuação ou
alguma coisa e, em seguida, o palco, provavelmente, terá de fazer
algo com a ferida também.
Então eu vou escolher para fazer esta uma variável global e dizer
para todos os sprites.
OK.
Assim, quando queremos aumentar a pontuação?
Quando um peixe foi comido.
E assim já temos um processo aqui que está lidando
com o peixe a ser comido.
Então, vamos adicionar esta declaração aqui -
Pontuação mudar em 1.
Cool.
Portanto, uma vez que você come um peixe, os aumentos de pontuação.
>> Tudo bem.
Então, dizer que estou cansado deste jogo.
Eu paro.
E então, oh, eu quero voltar para o jogo.
Eu quero começar um novo jogo.
Bem, o resultado ainda é três, mesmo que eu sou
jogar um jogo novo.
Nós realmente não queremos nunca marcar para reiniciar, certo?
Então, vamos adicionar uma declaração quando o jogo é iniciado no
palco para dizer, OK, bem, queremos redefinir o placar.
Então aqui nós definir a pontuação variável a 0.
E agora, sempre que você iniciar um jogo, a pontuação
terá início às 0.
Cool.
OK.
Então, agora, vamos continuar a HungryShark2.
>> Então eu fiz um pouco mais agora, eo que eu tenho feito é
cliquei direito sobre o sprite peixe.
Eu queria mais peixes, e assim que eu cliquei duplicado e isso fez
um sprite novo idêntico ao que uma e também copiado em todos os
assim os scripts.
Então, em seguida, este fish2 é essencialmente idêntico ao
fish1, mas em vez de a partir do lado esquerdo e
movendo para a direita, ele começa a direita e move para a esquerda.
E então eu também escolheu um figurino novo para ele.
Então, eu encontrei um outro traje que era um peixe manchado, e eu
era como, legal, isso parece venenosa, então vamos fingir
que se trata de um peixe venenoso.
E então eu disse, OK, bem, em vez de comer o
peixes venenosos e ter o seu aumento de pontuação, eu realmente
quer que ele diminua.
Então, aqui temos pontuação decrescente por 1 sempre que o
tubarão come.
E então, eu realmente gostei das roupas que riscam
fornecida, e eu olhei e então eu encontrei as shark's -
parecia um tubarão doente.
E então eu editei eu fiz verde.
E eu era como, legal, é um tubarão doente.
Tudo bem.
>> Então, vamos Vamos adicionar ao nosso roteiro algum tipo de forma de tornar a
interruptor de tubarão em estar doente sempre que
come um peixe envenenado.
OK.
Então porque nós copiamos todos os scripts de nosso original
peixe no peixe veneno, ele já tem esse sprite aqui
que diz que, quando eu estou chomped baixo, sou eu
realmente chomped baixo?
Assim, podemos aproveitar este comunicar ao
tubarão, oh, bem, você acabou de comer um peixe venenoso.
Você está doente.
E assim, este seria o tipo de ação?
O que seria quer fazer?
Transmitido.
Sim, exatamente.
Então vamos transmissão.
Vamos chamá-lo de tubarão doente.
OK.
Então, agora, o tubarão, obviamente, vai ser a pessoa que é
receber este evento.
Então, vamos adicionar quando eu receber o tubarão estar doente.
OK.
Então, sabemos que temos esse costume -
o tubarão está doente.
E então sabemos de antes que tipo de apreciar
quando podemos fazer uma pausa um pouco antes de voltar.
Sim?
>> ESTUDANTE: Como você copiar script
um sprite para outro?
ZAMYLA CHAN: Ah.
Portanto, neste exemplo, quando eu dupliquei o sprite, a
copiar um script para outro sprite, o que eu fiz aqui foi
apenas dizer duplicado, e ele realmente fez um novo inteiro
sprite com todos os scripts incluídos.
Mas digamos que você queira apenas copiar um roteiro certo para outro
sprite, então o que você gostaria de fazer é, na verdade, basta arrastar isso,
pairar sobre outro script, e agora aqui duplicado ele.
Neste caso, ele já tinha, por isso, pode simplesmente apagar
isso de novo.
Mas para copiar um script para outro, o que você faz é apenas
arrastá-lo para os outros sprites.
OK.
>> Então, estamos de volta ao tubarão estar doente.
Tubarão Assim que ele for recebido está doente, e ele diz, OK, bem,
uma vez que eu estou doente, eu vou mudar para a minha fantasia que diz
"Tubarão doente", e agora, vamos adicionar uma espera de
apreciar o verde.
E então nós vamos estar com fome novamente, portanto, pode apenas
voltar para o tubarão estar com fome.
Tudo bem.
Então, vamos comer este peixe roxo.
Isso é bom.
Boa pergunta.
O que aconteceu com o contador?
OK.
Então, temos que definir pontuação a 0 aqui, mas esta pontuação - o que
esta marca de seleção não é ele esconde ou exibir novamente a variável
a partir do ecrã.
Mas o que podemos fazer em vez de desmarcar ou verificando-lo -
nós podemos realmente ter esse bloco aqui diz "mostrar ou ocultar
a variável. "Então vamos ter certeza de que toda vez que começar
o jogo que a variável é mostrado.
>> OK.
Então, agora a variável é mostrado.
Nós comemos um peixe venenoso, e ficamos doentes.
Cool.
Tudo bem.
Então, agora, é estranho para um jogo para nós ter negativo
pontos, certo?
Então, ele continua a comer estes e é como -
assim como sobre sempre que temos negativo, se comeu demais
peixes venenosos muitos, ao longo do jogo - tubarão está muito doente.
Tudo bem.
Então, o que você precisa fazer é que precisaremos
transmitir algum evento -
ao longo do jogo.
Então, nós poderíamos fazer isso de várias maneiras, na verdade.
Nós poderíamos ter um lugar na fase de um script que
continuamente cheques é a pontuação negativa?
É a pontuação negativa?
Se sim, então será transmitida neste evento.
>> Então essa é uma maneira de fazê-lo.
Ou podemos tirar proveito do fato de que sabemos que o
única maneira que sua pontuação pode ser negativo é quando você come uma
peixes venenosos, certo?
Porque quando você come outro peixe, o seu
pontuação vai aumentar.
Portanto, não há uso em verificar se ele deve ser
ao longo do jogo ou não.
Portanto, este é um processo semelhante aqui.
Então, nós realmente podemos apenas adicionar a este "quando eu receber tubarão
doente. "
Assim dizemos adicionar esta condição.
Queremos dizer, se o resultado for menor que 0.
Então, nós estamos indo para ir para Operadores, vamos usar
este menor que um, vamos arrastar a nossa
pontuação aqui, digamos 0.
E assim, se a pontuação é 0, então queremos transmitir
algo chamado jogo.
>> OK.
Então, dizer que temos ao longo do jogo.
Vamos passar aqui ou algo assim.
Bem, nós queremos que o tubarão só para voltar a ter fome se
o jogo pode ainda ser reproduzido.
Então, em vez de usar um "se", vamos usar
um "se mais" construir.
Então, o que isso faz - ele diz, OK, então se essa condição é
verdade, então fazer isso, mas se é falsa, então fazer isso.
Então, vamos adicionar se o resultado for menor que 0, então você
transmitida ao longo do jogo, mas se não - se o seu
pontuação ainda é positivo -
em seguida, voltar a estar com fome.
OK.
Cool.
Portanto, agora que temos este jogo sobre o evento, teremos de ter
alguma forma de responder a ela.
>> Então, vamos fazer um novo script que diz "quando eu receber jogo
mais. "E o que nós temos aqui, sob controle é, na verdade, esta
parar todo o botão, e por isso, basicamente, imita-lo clicando
a parada de sinal vermelho aqui.
Portanto, vamos ter a parada de tubarão.
E assim nós também queremos o peixe para parar, então vamos arrastar e
copiá-lo dentro
Queremos todos os peixes para parar.
E então vamos ter a parada de palco também.
Tudo bem.
Assim, nadando, comemos um peixe, e
em seguida, o programa congela.
Estou clicando em baixo, mas eu realmente não pode fazer nada.
OK, mas vamos dizer que não queremos lembrar ao usuário que
eles tem um valor negativo, por exemplo, então podemos, por
exemplo, esconder a variável da tela.
Então, quando o palco recebe ao longo do jogo, em seguida, ele vai esconder
a pontuação variável.
OK.
Então, vamos comer peixe mais um.
E então a pontuação desaparece, e você só tem esta tela.
>> Tudo bem.
Então, isso é um jogo bastante decente, e se você tivesse mais
tempo, então você pode, eventualmente, adicionar
mais scripts e muito mais.
E então, eu adicionei alguns peixes mais, os fez progredir
em velocidades diferentes e, em seguida, sempre que o tubarão come um
peixes venenosos, ele realmente diz, "Blech!"
E então o que eu fiz é que eu adicionei um novo fundo para o
fase - um jogo sobre o fundo.
E então o que o palco faz durante o jogo sobre o evento
manipulação é ele muda para o fundo do game over
fundo.
E, bem, eu escondi todos os sprites do palco para que
somente o jogo sobre o fundo foi mostrado.
Há um par de outras adições pouco que eu adicionei,
por exemplo, antes quando nós terminamos o nosso programa, então a nossa
tubarão, da próxima vez que começamos, iria começar em
esta posição também.
O que eu adicionei é sempre que a bandeira verde é clicado,
o tubarão remonta à origem e, em seguida, voltado para
o direito, de modo que a cada vez, você tem uma
tubarão começando lá.
>> Assim você pode experimentar em movimento e coisas do tipo, que
apenas para acrescentar detalhes que tornam o seu
jogo um pouco mais polido.
Alguém tem alguma dúvida sobre HungryShark?
Cool.
Tudo bem.
Então, isso é um exemplo de algo que você pode fazer
em Scratch usando todas as ferramentas que discutimos anteriormente.
Então, eu também incluído nos slides passo a passo.
Você vai vê-los mais tarde.
É apenas uma visão geral dos processos que fizemos -
progredindo de HungryShark0 todo o caminho para a nossa final.
Um
Sim.
Mas isso é tudo.
Eu vou ficar para trás se vocês querem
fazer mais perguntas.
Este foi Walkthrough 0.
Obrigado a todos por terem vindo, e eu vou ver você em Passo a passo 1.