[Powered by Google Translate] ZAMYLA CHAN: Très bien.
Bonjour à tous et bienvenue dans Procédure pas à pas 0.
Zamyla mon nom, et je vais être à la tête de ces
procédures pas à pas cette année.
En CS50, chaque problème posé est accompagné d'un pas à pas
où nous allons passer par le problème de l'ensemble de la semaine, il parle
à travers, parler comment commencer, discuter de différents
techniques et astuces pour vraiment percer le problème mis en
quelques piqûres gérables.
Je suis également très heureux de répondre à toutes les questions que vous
avoir sur le problème posé.
Sans plus tarder, je suis content que vous soyez ici, que vous soyez
ici en personne ou de tuning en ligne.
Nous allons commencer.
>> Donc, la première p-ensemble dans CS50 -
en fait, nous n'allons pas entrer dans la dactylographie et la machine
Code choses tout à fait encore.
Nous allons en fait utiliser Scratch, qui est un
programme qui nous permet de faire des glisser-déposer
programmation.
Ainsi, même si nous ne sommes pas taper, il nous permet vraiment de
explorer quelques-uns des concepts fondamentaux que
nous allons utiliser tout au long de CS50.
Maintenant, certains de ces concepts sont
énumérées ici dans la boîte à outils.
Ce que je voudrais faire pour chaque guide est de vous présenter tous les
avec un ensemble d'outils que vous pouvez utiliser pour la procédure pas à pas.
Et oui, ne vous inquiétez pas.
Nous allons passer en revue tous ces termes et tous ces
au cours de la procédure pas à pas des théories.
Maintenant, si vous finissez par utiliser tous ces outils, ou tout simplement
certains d'entre eux, c'est vraiment bon de savoir ce que vous êtes équipé
avec pouvoir de s'attaquer au problème posé.
>> Ainsi, dans Scratch, le jargon première fois que vous devez savoir, c'est ce que
un sprite est.
Ainsi, chaque objet ou chaque personnage, que ce soit un chat un chien
ou une balle, est appelé un sprite.
Et donc, si je veux, par exemple, deux chats - si oui ou non ils sont
identique -
Je vais avoir besoin de faire deux sprites distincts dans Scratch.
Et si les sprites des scripts qui leur sont associés.
Les scripts sont en fait ce que vous allez pouvoir le construire -
glisser-déposer - avec vos blocs.
Et donc ce que les scripts ne est une sorte de déterminer et de définir comment
le sprite se comporte.
Les sprites sont pas en fait juste des images, parce que nous avons
costumes aussi associées aux sprites ce genre de
déterminer ce que le sprite ressemble.
Et vous pouvez avoir plus d'un costume pour un sprite.
>> Donc, à un certain moment au cours de votre programme Scratch, comme nous allons le montrer
plus tard aujourd'hui lors de la procédure pas à pas, vous pouvez réellement
changer le costume de votre sprite pour faire croire soit
légèrement différente ou complètement différent.
Et donc il ya trois façons de créer un sprite Scratch.
One, vous pouvez dessiner votre propre Scratch
construit dans l'éditeur de peinture.
Vous pouvez télécharger votre propre image, utilisez l'une de Scratch built-in
les, ou, la dernière option, recevoir un sprite aléatoire.
Maintenant, si vous vous sentez particulièrement chanceux, alors je
vous accueillir à tenter votre chance et de créer un sprite aléatoire.
>> Donc, tous les sprites sont placés sur
le stade de Scratch.
La scène - on peut le considérer comme notre toile.
Et si tous les sprites sont placés sur la scène.
Et ce stade, ce qu'il fait est permet à tous les sprites
pour se déplacer sur celui-ci.
Et tout comme les sprites, le stade a également des scripts.
Et ainsi de ces scripts, de les placer sur la scène -
il est vraiment utile quand, par exemple, vous avez un script qui ne
exactement se rapportent à un sprite en particulier, mais plutôt
se rapporte à plusieurs sprites ou tout simplement, en général, quelque chose
que vous voulez faire.
Ainsi, vous pouvez placer ces scripts sur la scène à la place, et que
conception serait un peu mieux.
Maintenant, alors que vous pouvez avoir plusieurs sprites, il est bon de
garder à l'esprit que vous ne pouvez avoir qu'une seule étape.
Mais stades ont également horizons.
Contrairement aux costumes, comme les sprites faire, les étapes ont
milieux.
Et encore, vous pouvez dessiner votre propre ou téléchargez les vôtres
image à utiliser comme arrière-plan.
>> Il en va de ce que quelqu'un a des questions avant de continuer?
OK.
N'hésitez pas à m'interrompre pendant que la procédure pas à pas, et
Je suis heureux de répondre à toutes vos questions.
OK.
Ainsi, lorsque vous démarrez votre programme sprite, ce que vous allez
ne sont que vous allez cliquer sur le drapeau vert.
Mais si vous ne branchez rien à ce bloc de droite
ici, rien ne va se passer réellement.
Parce que, voyez-vous, ce que les scripts et le stade doivent
faire réellement connaître pour répondre à l'événement -
c'est ce que nous appelons, d'événements - du drapeau vert
d'être cliqué.
Vous devez donc fait attacher des blocs à la gorge à l'
inférieure de ce bloc drapeau vert cliqué, puis l'
programme saura quoi faire et comment réagir face à l'
drapeau vert est cliqué.
>> Eh bien, qu'est-ce qui vient après?
Eh bien, nous avons une pléthore de blocs dans Scratch à utiliser, et
où la viande, vraiment, de votre programme se trouve dans ces
déclarations.
Et si ces déclarations sont commodément
organisé par la couleur.
Vous avez actions liées à la circulation,
son, regards, etc.
Et si vous pouvez le voir, vous pouvez naviguer entre eux dans le
onglets dans votre programme de Scratch.
Et donc, alors que vous avez d'autres choses construites autour d'elle,
ce que les états font réellement est dit en fait l'
sprites ou au stade de faire quelque chose.
Plutôt que de simplement dire, OK, quand vous faites cela, le
déclarations contiennent en réalité la vraie viande de celui-ci.
Disons que vous souhaitez uniquement exécuter une certaine action, par exemple
vous voulez que le chat à miauler quand une certaine chose qui se passe.
Nous pouvons profiter de booléens, qui vous a appris à
Première leçon.
Et si ce sont des expressions qui évaluent
vrai ou faux.
Et si ceux-ci sont identifiés dans Scratch par le -
vous voyez les angles à la fin de ces blocs.
Et si vous avez une variété de différents types de booléens.
Vous avez "est le plus pressé vers le bas", "fait 2 plus 2
équivalent à 5, «ou» est l'utilisateur en appuyant sur une touche certaine
le clavier? "
>> Maintenant, vous ne pouvez pas utiliser ces seuls.
Qu'est-ce que vous avez à faire est de les combiner avec une condition.
Ainsi, la condition est là, sous l'onglet Contrôle de Scratch.
Et ils ont un espace réservé commodément que peu
montre la forme du bloc que vous devez mettre dedans.
Ainsi, en fonction du contexte de la situation, vous pouvez choisir
un booléen, puis placez-le dans votre état.
Et là vous avez une instruction conditionnelle.
Si vous mettez instructions à l'intérieur de ce bloc, alors vous avez un
structure mise en place, par lequel une fois qu'une certaine condition est remplie dans les
la gauche, vous avez alors exécuter l'instruction.
Oui?
>> ÉTUDIANT: Si une variable représente un nombre, vous pouvez
utiliser la variable à l'intérieur du booléenne, comme le vert,
par exemple?
ZAMYLA CHAN: Oui, vous le pouvez.
Vous pouvez faire glisser et déposer la valeur de variable à l'intérieur du
il forme circulaire.
>> Maintenant, l'un des avantages de l'informatique est le vaste pouvoir
et la vitesse à laquelle ils peuvent exécuter des processus répétitifs.
Et si, au lieu de, disons, la répétition d'une instruction plus
et encore et encore et en fait taper que sur - ou
dans ce cas, dans Scratch, glisser-déposer et
glisser-déposer -
ce que nous pouvons faire est de l'encapsuler dans une boucle.
Et oui, les boucles peuvent être utilisés soit pour exécuter des choses
avec une boucle infinie pour toujours, ou pour un
définir le nombre de fois -
dire, répéter "dire salut" 10 fois ou jusqu'à ce qu'un certain
condition est vraie.
Et à nouveau, vous voyez que Scratch est insinuant que lorsque
vous avez une condition telle que "répéter jusqu'à ce que», alors la seule
chose qui va s'adapter à l'intérieur il est une valeur booléenne.
Très bien.
>> Alors maintenant, nous savons que nous pouvons encapsuler répétitif
processus à l'intérieur des boucles.
Vous pouvez voir pourquoi quelque chose comme cela pourrait ne pas être idéal.
Il ne tient pas sur la diapositive.
Essentiellement, il n'a tout simplement la même chose encore et encore
10 fois, en fait.
Il se déplace 10 pas, dit bonjour, se déplace 10 pas, dit bonjour.
Alors maintenant, vous pouvez voir que nous avons une fois de boucles, quelque chose comme
c'est beaucoup mieux.
C'est plus court, il est plus petit, et il termine actuellement l'
même chose.
Maintenant, dans Scratch cela pourrait ne pas faire une grande différence, mais
il enregistre effectivement un peu de temps.
>> Donc sur l'expression variable -
vous pouvez réellement utiliser des variables et de les mettre à l'intérieur de
conditions.
Comme l'a dit juste là, vous voyez, nous avons une variable nommée
«Contrer», et nous assimilant ce que pour voir si
il est inférieur à 0.
Ainsi, les variables sont essentiellement, je dirais,
récipients pour valeurs.
Dans Scratch, ces types de valeurs peuvent être soit des mots ou
ils peuvent être des nombres.
Et ainsi, avec ces variables, ce que nous pouvons faire avec eux, c'est que nous
peuvent définir leur valeur.
Ainsi, dans le premier exemple ici, nous avons l'exemple de texte
contenant la valeur "Bonjour le monde!" Dans le second exemple,
il est supposé que nous avons déjà une variable nommée
«Contrer», et dans ce cas, nous le changer par 3.
Nous l'incrémentation de 3.
Et puis, dans le dernier exemple, les variables peuvent être glissés
à mettre dans une expression booléenne.
>> Maintenant, lorsque vous créez une variable, ce que vous avez à
décider si vous faites la variable pour l'ensemble des
sprites dans votre programme Scratch, ou tout simplement pour l'
spécificités sprite dont vous avez sélectionnés lorsque vous effectuez
la variable.
Et donc c'est une décision très importante à prendre.
Et il s'agit vraiment de ce que vous voulez que le champ d'application
variable pour avoir.
Ainsi, par exemple, un exemple de portée locale serait si vous
choisissez juste pour ce sprite d'avoir la variable.
Donc, cela voudrait dire que seul ce sprite serait en mesure de
accéder à cette variable.
Seul ce sprite serait capable de le voir,
le modifier, de le modifier.
Si vous optez pour avoir une portée mondiale -
de sorte que c'est si vous dites que pour tous les sprites, si
vous sélectionnez cette option -
alors cela signifie que l'étape ainsi que tous les sprites
sera en mesure de voir, modifier et accéder à cette variable
que vous avez créé.
Toute question à ce jour sur des variables ou quoi que ce soit?
Oui.
>> ÉTUDIANT: Pour les variables, peut-on avoir deux variables de
le même nom s'ils sont sur des sprites différents?
ZAMYLA CHAN: Tant qu'ils sont sprites locaux ---
ah, oui, désolé.
Donc la question est de savoir si vous pouvez avoir deux variables de
le même nom dans un programme et si vous avez deux variables avec
le même nom mais sont tous deux sprites locales, afin sprite un,
le chat, a un nom de variable "compteur", et farfadet deux, le
chiens, a une variable nommée «contre», aussi longtemps que ceux
sont deux sprites locales, leur champ d'application ne s'étend pas aux
le reste du programme.
Et si aucun des autres sprites ou l'
étape sera perturbé.
Très bien.
>> Donc je l'ai mentionné avant le point d'entrée lorsque nous avons eu l'
quand elle est verte bloc signalé cliqué.
Et qu'est-ce que c'est -
il est dit, OK, quand l'événement arrive que le drapeau vert est
cliqué, c'est ce que vous devriez faire.
Et si ce n'est pas réellement le seul événement
que nous avons dans Scratch.
Nous avons aussi d'autres événements.
Donc, nous avons, par exemple, lorsqu'une touche
le clavier est enfoncée.
Et vous pouvez en fait choisir les lettres A à Z, 0
à 9 ou les touches fléchées.
Et puis nous avons aussi d'autres événements, tels que lorsque votre
sprite est cliqué.
Et quand vous commencez avec cela, vous remarquez que la tendance clé
est qu'ils ne disposent que d'une rainure sur le fond, et ainsi
alors que, encore une fois, les clés vous à ce que rien ne se fixe au-dessus de
ce bloc.
Vous construisez à partir de cela et ci-dessous.
>> Maintenant, dites, qu'est-ce qui se passe si l'on veut un événement de se produire juste
quand, je ne sais pas, un chat est en contact avec une certaine partie de
la scène ou quelque chose comme ça?
En fait, nous n'avons pas intégré dans
pour indiquer que l'événement.
Donc, ce que nous aurons à faire est effectivement de créer notre propre événement.
Et c'est ce qu'on appelle de la radiodiffusion.
Alors, quand vous voulez pour signaler qu'un certain qui s'est passé,
puis vous utilisez - dans l'onglet Contrôle, il ya un bloc appelé
«Diffuser». Et alors, vous allez taper le nom de la
Si vous voulez diffuser, puis selon
sprite ou sprites -
vous pouvez avoir plusieurs sprites réagir à ce message -
ou le stade devra s'en occuper, devront
le recevoir, vous avez à dire, OK, je comprends que cela a
qui s'est passé, donc je vais le faire avec elle.
Et donc, chaque fois que vous diffuser un événement, c'est avec le
entendu que chaque sprite que ou d'une autre sprite est
allez avoir à recevoir cet événement et d'y répondre.
>> Maintenant, le dernier concept avant d'entrer dans un exemple réel
d'un programme de Scratch est fils.
Alors discussions, c'est quand votre ordinateur est exécuté
processus simultanés en même temps.
Je vous garantis que nous avons tous profité de
discussions lorsque nous nous sommes regarder un film en même temps que
tapant un essai ou quelque chose comme ça.
L'ordinateur exécute plusieurs choses en même temps
temps, tout comme Scratch possible.
Donc, comme vous pouvez le voir dans cet exemple, ces deux scripts peuvent
être utilisé pour le sprite exactement la même, parce que ces
commence blocs points d'entrée peuvent effectivement utilisé
multiples de fois.
Je vous garantis que, probablement, le drapeau vert cliqué bloc
sera l'un des plus populaires
blocs de votre programme.
Donc, ici, nous voyons que lorsque le drapeau vert est cliqué, il ya
un processus en cours, ainsi que lorsque le drapeau vert est
cliqué, il ya un processus distinct en cours.
Et donc Scratch se déroulera ces deux en même temps.
Et si l'utilisation de ces discussions, sachant que vous pouvez réellement
avoir plus d'un point d'entrée -
même si c'est le même point d'entrée -
ça va devenir vraiment utile si vous souhaitez, par exemple,
séparer les tâches distinctes les unes des autres.
Très bien.
Donc, nous allons effectivement se pencher sur l'exemple d'un programme de Scratch.
>> OK.
Donc, j'ai déjà fait un petit programme pour nous ici.
Donc je vais juste cliquer sur le drapeau vert pour commencer et voir
ce qu'il fait.
Nous avons donc un poisson orange ici -
un sprite poissons -
semble se déplacer, puis réinitialiser et revenir en arrière.
Et puis nous avons un sprite requin.
Et ce sprite requin peut se déplacer, il peut tourner, il peut
nager autour.
OK.
Donc, c'est assez amusant.
Mais nous pouvons certainement ajouter plus de cela.
Par exemple, nous voyons que lorsque le requin est en mouvement, il peut
fait descendre l'écran et presque
disparaître de la vue.
Donc, nous voulons changer cela, parce que nous ne voulons pas que le
requins de s'échapper.
Et nous allons donc arrêter notre script, puis modifier le requin
son exécution, peut-être ajouter quelque chose.
Notez que dans ce sprite particulier ici, la boucle infinie
se termine par un bord droit.
Il n'a pas de rainure.
Donc en fait, cela a un sens, parce que c'est une boucle infinie.
C'est l'exécution de quelque chose d'infiniment.
Donc, il ne pourra jamais se terminer.
Même s'il y avait quelque chose en dessous, serait
jamais en arriver là.
Alors vous êtes réellement obligés d'introduire un fil.
>> Très bien.
Donc, nous allons ajouter un autre script.
Donc, je vais commencer par ce point d'entrée de l'état vert
drapeau est cliqué.
Donc, ce que je veux faire est de vérifier en permanence si l'
requin va être en contact avec le bord.
Mais je sais que, en fait, dans la motion, il ya une nette
petit bloc qui dit, oh, si à fleur de rebond.
Donc, ce que nous voulons faire est d'exécuter en continu.
Et donc ce que "si à fleur de peau rebond" fait - elle a effectivement
vérifie déjà si je suis sur le bord, puis rebondir.
Nous avons donc besoin de trouver une sorte de boucle en continu
exécuter cette instruction.
Donc, si nous regardons sous contrôle, quelqu'un at-il une idée de
ce que la boucle nous pourrions utiliser?
Ouais.
>> ÉTUDIANTS: La boucle indéfiniment.
ZAMYLA CHAN: Exactement, oui.
La boucle infinie.
Donc, nous allons suivre cela ici, et puis dire, si à fleur de rebondir.
Et puis nous allons voir.
Très bien.
Ainsi, le poisson se déplace comme d'habitude.
Et puis, oh -
maintenant le requin ne peut pas s'échapper et rebondit sur l'écran.
Cool.
Très bien.
Alors que je cherchais po
Je ne peux pas - oui?
>> ÉTUDIANT: Comment faites-vous qui s'appliquent au requin comme il se déplace
pour les poissons?
ZAMYLA CHAN: Ah.
Donc, la raison pour laquelle seul le requin rebondit, par opposition à
poissons ainsi, c'est parce que ce script que nous avons écrit est à l'intérieur
le sprite de requin.
Vous voyez, ici, le sprite de requin est sélectionné.
Très bien.
Ajoutons donc quelque chose d'autre.
J'ai exploré les différents costumes que
Scratch a, et j'ai vu ce joli petit requin-chomp.
J'ai donc pensé que, bon, eh bien, peut-être que nous pouvons mettre en œuvre la
requin chomping, par exemple, quand on appuie sur l'espace.
Je vais juste y mettre fin.
Très bien.
Oui.
>> L'ÉLÈVE: Pourriez-vous montrer le - est que, dans Costumes?
ZAMYLA Chandler: Oh, oui.
Je suis donc allé dans Costumes, et puis j'ai regardé sous Importer.
Et donc ici, a Scratch toute une série de costumes que
vous pouvez choisir.
Et alors il ya tout un tas d'animaux, puis l'
requin a un couple de costumes qui y sont associés.
OK.
Donc dans ce script ici, je suis déjà vérifier en permanence
dans la boucle pour toujours, OK, bien, si la flèche de gauche est enfoncée,
alors je veux tourner dans le sens antihoraire.
Si la flèche de droite est pressée, je veux tourner dans le sens horaire.
Si la flèche vers le haut est pressé, alors je
envie de progresser vers l'avant.
Donc, ce que nous pouvons faire est de simplement ajouter à ce script, au lieu de
ajoutant un contrat distinct, parce que cela est déjà le check-in
dont le thème touches sont pressées.
>> Ajoutons donc une qui dit que si la clé de l'espace - nous allons utiliser le
touche espace pour chomp bas.
Donc, ces flèches gauche enfoncé, et cetera, ce sont
dans le plus lumineux bleu.
Allons donc à la détection de la luminosité de bleu, et de regarder vers le bas.
Oh, et voici un espace enfoncée.
Donc, ce que nous voulons faire est d'avoir l'interrupteur de requin à sa
chomping bas costume.
Cela a à voir avec la façon dont le requin
semble, donc nous allons Looks.
Et ici nous avons, idéalement, passer à
costume de requin chomp.
Mais quand nous chomp bas, nous ne voulons pas le requin à être
chomping vers le bas pour toujours, nous allons donc ajouter, OK, eh bien,
après qu'il avale, nous voulons qu'elle revenir.
OK, nous allons donc voir ce que cela fait.
Nous avons donc la déplacer.
OK.
Nous avons donc qu'il ronge.
C'est une sorte de chomping rapidement cependant, parce que dans Scratch,
c'est de les exécuter instantanément.
Alors, allons-y pour contrôler et faire apprécier sa
chomp, attendez une seconde.
Et ici, il avale vers le bas un peu plus longtemps avant qu'il ne devienne
sauvegarder à sa faim.
>> OK.
Donc, je suis très heureux avec les requins maintenant.
Mais le poisson, ce qui semble faire - c'est un progrès
deux étapes, en fait, cinq fois.
Il se déplace par pas de 50.
Et alors qu'est-ce qu'il fait ici, dans ce bloc supérieur ici, c'est que je suis
dire, OK, bien, ça va aller à une certaine valeur de x.
Pour trouver les coordonnées, vous pouvez en fait juste la souris sur
l'écran, puis en bas -
juste ici -
il va vous montrer ce que les coordonnées sont.
Ainsi, vous pouvez profiter de cela pour saisir les coordonnées
que vous souhaitez.
Et donc ce que cette déclaration ici est dit est dit, OK,
De plus, le poisson commence à cette valeur x donnée puis l'
hauteur de celui-ci peut changer.
Je vais en fait de choisir une hauteur aléatoire qui reste encore
dans les limites de la scène.
Et donc ici, ce que je profite de l'est
la diffusion d'événements.
Donc, vous voyez que ce gestionnaire d'événements est poisson1 nouvelle.
Donc, chaque fois que le poisson reçoit la nouvelle poisson1 cas, il va
exécuter cette.
Et puis vous voyez que, après qu'il avance son montant fixe
des fois, puis il diffuse effectivement
encore une fois, OK, nouvelle poisson1.
Mais à la place, que diriez-vous nous allons faire en sorte que le seul poisson
continue à l'extrémité de l'écran sans le réinitialise,
au lieu de juste un peu d'aller vers le centre de celui-ci.
Ainsi, au lieu de dire, répéter cinq fois - parce que nous ne
vraiment savoir combien de temps sera nécessaire jusqu'à ce qu'il
arrive à la fin de l'écran, nous allons utiliser quelque chose d'autre.
>> Donc, je vais séparer ce, parce que nous
ne veulent pas vraiment cela.
Pour supprimer des blocs dans Scratch, ce que vous faites, c'est que vous faites simplement glisser
vers la gauche, la libération, puis il est supprimé.
Si vous décidez que vous ne voulez pas faire cela, alors vous pouvez
toujours undelete il.
Mais nous voulons nous débarrasser de cela.
Ce que nous voulons faire, c'est que nous voulons continuer à avancer de 50 étapes et
s'arrêtant une seconde jusqu'à ce que nous touchons à la fin de l'écran.
Ainsi peut-on repérer une boucle que nous pourrions utiliser cette
répète un processus jusqu'à ce que nous touchons à l'écran.
>> L'ÉLÈVE: Répétez jusqu'à ce que.
ZAMYLA CHAN: J'ai entendu dire "répéter jusqu'à ce que», et c'est exact.
Alors oui, cette répétition jusqu'à ce bloc prend aussi un -
mais nous voyons que cette répétition jusqu'à ce que le bloc n'est pas tout à fait
complète, non?
Nous avons donc besoin de dire, OK, bien, répétez jusqu'à quand?
Nous disons donc, OK, bien, répéter jusqu'à ce que le poisson est en contact avec le
bord de l'écran.
Et je vais vous dire que c'est en vertu de détection.
Il ya cette touchante booléenne.
Et si vous pouvez sélectionner ici ce que vous voulez à la vérification
que le poisson est en contact.
Donc, ici, nous voulons dire de toucher le bord.
Et puis, nous voulons ajouter ce retour po
Et maintenant, si nous regardons nos poissons vont, une fois qu'il touche le
bord, il va revenir à nouveau.
Très bien.
Donc, je suis heureux.
Et ouvrons HungryShark1.
>> OK, un peu comme une émission de cuisine, j'ai ajouté un peu
plus de fonctionnalités.
Ainsi, par exemple, vous voyez que le poisson est maintenant réalité
glisse tout en douceur, contrairement à avant, quand il était
type de déplacement et d'arrêt, le déplacement et l'arrêt -
essentiellement juste sauter Pixel ensemble.
J'ai regardé dans la motion, que cet énoncé de descente, et je
dit, OK, au lieu de simplement le déplacement et l'arrêt, le déplacement
et l'arrêt, je vais glisser de 70 unités vers la droite,
mais rester à mon poste y même ici.
Très bien.
Nous avons donc un requin qui peut chomp.
Cool.
Mais il est appelé HungryShark, après tout, nous allons donc avoir la
requins mangent le poisson.
>> Alors, comment pourrions-nous dire le poisson ou le requin dire qu'il a
chomped bas?
Comment pourrions-nous communiquer?
Oui.
L'ÉLÈVE: Sur le deuxième costume du requin,
il attrape le poisson.
ZAMYLA CHAN: Oui, exactement.
Donc, nous savons que lorsque nous sommes commutation du costume à l'
chomp, chomp que nous avons vers le bas.
Maintenant, nous finirons par avoir à vérifier.
Disons que nous voulons le poisson à disparaître une fois son mangé.
Nous devrons en quelque sorte communiquer au poisson
il va falloir se cacher, par exemple, ou disparaître
l'écran une fois qu'il a été chomped vers le bas sur.
>> Alors, quel genre de concept, ce genre d'outil que nous pouvons utiliser pour
le requin communiquent aux poissons, OK,
J'ai chomped bas?
L'ÉLÈVE: la radiodiffusion.
ZAMYLA CHAN: Oui, exactement, la diffusion d'un événement.
Alors allons-y pour contrôler et disons diffusion.
Et nous allons diffuser chomp.
Très bien.
Mais une fois que nous avons diffusé quelque chose, c'est avec le
hypothèse que nous allons en fait quelque chose
le recevoir.
Et pour que ça va être le poisson.
Donc, disons que, lorsque je reçois chomp.
Maintenant, quand le requin chomp bas juste un espace vide, nous n'avons pas
voulez du poisson de réagir à ça du tout.
Donc, disons, OK, eh bien, que si le requin est en contact avec le
poisson au moment de la chomp -
c'est là que nous allons faire quelque chose.
Alors, nous allons utiliser la condition si, à droite,
parce que nous vérifions si quelque chose est vrai ou non.
Donc, si nous revenons à détection, alors nous pouvons
utiliser ici, si touchant.
Et puis ici, nous allons choisir le requin.
Puis, sous regards, ce bloc cache -
qui va essentiellement faire les poissons disparaissent de la scène.
Nous allons faire le cacher, mais nous voulons un autre poisson, non?
Notre requin a faim.
Nous voulons lui donner plus de poissons.
Alors nous allons également diffuser un nouveau poisson à nouveau.
OK.
Alors voyons voir ce que cela fait.
>> Cool.
Donc, il avale vers le bas et un autre poisson apparaît.
Mais c'est un peu trop rapide pour un autre poisson où aller.
Donc, nous allons juste attendre une seconde avant que nous
diffuser un nouveau poisson.
Très bien.
OK.
Donc, c'est une très bonne décision d'un match.
Mais tous les jeux besoin d'un score, non?
Alors, que pouvons-nous utiliser pour compter les points?
Oui.
L'ÉLÈVE: Autre -
ZAMYLA CHAN: Ouais.
Exactement.
Ouais.
Donc, nous voulons garder la trace de fondamentalement la façon dont
beaucoup de poissons qu'il a mangé.
Pour ce faire, nous devrons faire une variable.
Appelons ce point.
Et alors on peut supposer, puisqu'il s'agit d'un jeu que nous jouons,
nous allons vouloir le poisson de pouvoir -
dire, une fois que son mangé il peut augmenter le score ou
quelque chose et puis la scène sera probablement faire
quelque chose avec la plaie ainsi.
Je vais donc choisir de faire cette variable une approche globale et dire
pour tous les sprites.
OK.
Alors quand est-ce que nous voulons augmenter le score?
Quand un poisson a été mangé.
Et si nous avons déjà un processus qui a affaire ici
avec le poisson d'être mangé.
Ajoutons donc cette déclaration ici -
changer Score de 1.
Cool.
Donc, une fois que vous mangez un poisson, le score augmente.
>> Très bien.
Donc, dire que je suis fatigué de ce jeu.
Je m'arrête.
Et puis, oh, je veux revenir à la partie.
Je veux commencer une nouvelle partie.
Eh bien, le score est toujours de 3, même si je suis
jouer une nouvelle partie.
Nous n'avons pas vraiment envie de marquer de ne jamais remettre, non?
Donc, nous allons ajouter une déclaration lorsque le jeu est lancé dans le
scène-à-dire, OK, eh bien, nous voulons rétablir le score.
Nous voilà donc définir le score variable à 0.
Et maintenant, chaque fois que vous lancez un jeu, le score
commence à 0.
Cool.
OK.
Alors maintenant, nous allons passer à HungryShark2.
>> J'ai donc fait un peu plus maintenant, et ce que j'ai fait est
un clic droit sur le sprite du poisson.
Je voulais plus de poissons, et ainsi j'ai cliqué en double et il a fait
un nouveau sprite identique à celui-là et aussi copié dans tous les
son ainsi.
Alors ce fish2 est essentiellement identique à
poisson1, sauf qu'au lieu de partir de la gauche et
déplacement vers la droite, il commence à droite et se déplace à gauche.
Et puis j'ai aussi choisi un nouveau costume pour elle.
Ensuite, j'ai trouvé un autre costume que c'était un poisson tacheté, et je
C'était comme, cool, ça a l'air empoisonné, nous allons donc faire semblant
qu'il s'agit d'un poisson venimeux.
Et alors j'ai dit: OK, eh bien, au lieu de manger la
poissons toxiques et d'avoir votre score en hausse, en fait je
veux à diminuer.
Donc, ici, nous avons note diminue de 1 chaque fois que la
requin mange.
Et puis, j'ai vraiment aimé les costumes que Scratch
fourni, et j'ai regardé et puis j'ai trouvé les shark's -
il ressemblait à un requin malade.
Et alors je l'ai édité je l'ai fait vert.
Et je me suis dit, cool, c'est un requin malade.
Très bien.
>> Alors laissez nous allons ajouter à notre script une sorte de façon de faire de la
commutateur de requin en être malade quand il
mange un poisson empoisonné.
OK.
Ainsi, parce que nous avons copié tous les scripts de notre origine
poisson dans le poisson poison, il a déjà du sprite ici
qui dit que, quand je suis chomped bas, suis-je
effectivement chomped bas?
Ainsi, nous pouvons profiter de cette communiquer à la
requin, oh, eh bien, vous venez de manger un poisson poison.
Vous êtes malade.
Et alors ce serait ce genre d'action?
Que faudrait-il envie de faire?
Diffusion.
Oui, exactement.
Donc, nous allons diffusion.
Appelons-le requin malade.
OK.
Alors maintenant, le requin, évidemment, va être celui qui est
recevoir cet événement.
Ajoutons donc quand je reçois le requin étant malade.
OK.
Donc, nous savons que nous avons ce costume -
le requin est malade.
Et puis, nous savons par avance que nous apprécions type de
où l'on peut mettre en pause un peu avant de revenir.
Ouais?
>> ÉTUDIANT: Comment copier le script à partir de
un sprite à l'autre?
ZAMYLA CHAN: Ah.
Donc, dans ce cas, quand je venez de dupliquer le sprite, à
copier un script à un autre sprite, ce que j'ai fait ici est
juste dire deux exemplaires, et elle a effectivement fait une toute nouvelle
sprite avec tous les scripts inclus.
Mais disons que vous voulez il suffit de copier un script certaine à une autre
sprite, alors qu'est-ce que vous feriez est en fait juste glisser ce,
planer au-dessus d'un autre script, et maintenant il fait double emploi.
Dans ce cas, il déjà eu, pour que nous puissions simplement supprimer
encore une fois.
Mais pour copier un script dans un autre, ce que vous faites est juste
faites-le glisser sur les autres sprites.
OK.
>> Donc, nous sommes de retour au requin d'être malade.
Requin Alors il est reçu est malade, et il dit: OK, eh bien,
une fois que je suis malade, je vais passer à mon costume qui dit
"Requin malade», et maintenant, nous allons simplement ajouter une attente à
apprécier le vert.
Et puis nous allons encore faim, donc nous pouvons simplement
revenir au requin d'avoir faim.
Très bien.
Donc, nous allons manger ce poisson violet.
C'est très bien.
Bonne question.
Qu'est-il arrivé au comptoir?
OK.
Donc, nous avons mis score à 0 ici, mais ce score - ce qui
cette case à cocher ne se le cache ou unhides la variable
à partir de l'écran.
Mais ce que nous pouvons faire au lieu de le vérifier ou décochant -
nous pouvons avoir ici ce bloc dit "afficher ou masquer
la variable. "Alors, faisons en sorte que chaque fois que nous commençons à
le jeu que la variable est affichée.
>> OK.
Alors maintenant, la variable est affichée.
Nous mangeons un poisson poison, et nous tombons malades.
Cool.
Très bien.
Alors maintenant, c'est bizarre pour un jeu pour nous d'avoir des effets négatifs
points, non?
Donc, il continue à manger ceux-ci et c'est comme -
de sorte que diriez-vous chaque fois que nous obtenons négative, si nous avons mangé trop
nombre de poissons toxiques, game over - requin est trop malade.
Très bien.
Alors qu'est-ce que nous devrons faire, c'est nous aurons besoin de
diffuser un événement -
game over.
Donc, nous pourrions faire cela de plusieurs manières, en fait.
Nous pourrions avoir quelque part dans la scène un script qui
en permanence des contrôles est le score négatif?
Le score négatif?
Si oui, alors nous diffusons cet événement.
>> Donc, c'est une façon de le faire.
Ou nous pourrions profiter du fait que nous savons que la
seule façon que votre score pourrait être négatif, c'est quand vous mangez un
poissons toxiques, non?
Parce que quand vous mangez un autre poisson, votre
note va augmenter.
Donc, il ne sert à vérifier si elle doit être
jeu au-dessus ou non.
Il s'agit donc d'un processus similaire ici.
Nous pouvons donc ajouter quelque chose à ce "quand je reçois requin
malade. "
Donc dire que nous ajoutons à cette condition.
Nous voulons dire, si le score est inférieur à 0.
Donc, nous allons aller aux opérateurs, nous allons utiliser
cette inférieur à un, nous allons traîner nos
score ici, disons 0.
Et donc, si le score est de 0, alors nous voulons diffuser
quelque chose qui s'appelle game over.
>> OK.
Donc, dire que nous avons game over.
Nous allons le déplacer ici ou quelque chose.
Eh bien, nous voulons que le seul requin de retourner à avoir faim si
le jeu peut toujours être lus.
Ainsi, au lieu d'utiliser un «si», nous allons utiliser
un "if else" construire.
Donc, ce que cela fait - il dit, OK, donc si cette condition est
vrai, alors le faire, mais si c'est faux, alors ce faire.
Ajoutons donc si le score est inférieur à 0, vous
diffuser game over, mais si ce n'est pas - si votre
score est toujours positif -
puis retournez à avoir faim.
OK.
Cool.
Alors, maintenant que nous avons ce jeu sur événement, nous allons avoir
une certaine façon d'y répondre.
>> Faisons donc un nouveau script qui dit: «Quand je reçois jeu
plus. "Et ce que nous avons ici sous le contrôle est en fait ce
arrêter tout bouton, et il imite, fondamentalement, vous cliquez sur
le stop rouge ici.
Donc, nous allons avoir l'arrêt de requin.
Et nous voulons aussi que le poisson d'arrêter, nous allons donc faire glisser et
le copier po
Nous voulons que tous les poissons d'arrêter.
Et puis nous allons avoir l'arrêt stade.
Très bien.
Donc, nagent, on mange un poisson, et
puis le programme se bloque.
Je clique en bas, mais je ne peux pas faire grand chose.
OK, mais disons que nous ne voulons pas de rappeler à l'utilisateur que
ils ont une valeur négative, par exemple, alors nous pouvons, pour
Par exemple, cacher la variable de l'écran.
Ainsi, lorsque l'étage reçoit game over, puis il va se cacher
le score variable.
OK.
Donc, nous allons manger du poisson une de plus.
Et puis la partition disparaît, et vous avez juste cet écran.
>> Très bien.
Donc, c'est un jeu assez décent, et si vous aviez plus
temps, alors vous pourriez éventuellement ajouter
son de plus en plus.
Et alors, j'ai ajouté un peu de poisson plus, leur fit progresser
à des vitesses différentes, puis chaque fois que le requin mange un
poissons toxiques, il dit en fait, "Blech!"
Et puis, ce que je n'ai est, j'ai ajouté un nouveau fond à l'
étape - un jeu sur fond.
Et donc ce que l'étape de fait pendant le jeu sur l'événement
manipulation est il passe à l'arrière-plan de jeu plus
fond.
Et ainsi, je me suis caché tous les sprites de la scène afin que
seulement le jeu sur fond a été montré.
Il ya quelques autres petits ajouts que j'ai ajouté,
Par exemple, avant, quand nous avons terminé notre programme, notre
requin, la prochaine fois que nous avons commencé, serait mise en service en
cette position également.
Ce que j'ai ajouté est chaque fois que le drapeau vert est cliqué, puis
le requin remonte à l'origine, puis tournée vers
le droit, de sorte que chaque fois, vous avez une
requin partir de là.
>> Ainsi, vous pouvez expérimenter en mouvement et des choses comme, que
juste pour ajouter de petites touches qui rendent votre
jeu un peu plus poli.
Quelqu'un at-il des questions sur HungryShark?
Cool.
Très bien.
C'est donc un exemple de quelque chose que vous pourriez faire
dans Scratch utilisant tous les outils dont nous avons discuté plus tôt.
Donc, j'ai aussi inclus dans les coulisses procédure pas à pas.
Vous les verrez plus tard.
C'est juste un aperçu des processus que nous avons fait -
progressant de HungryShark0 tout le chemin à notre finale.
Un
Ouais.
Mais c'est tout.
Je vais rester derrière, si vous voulez les gars d'
pose plus de questions.
Ce fut Procédure pas à pas 0.
Je vous remercie tous d'être venus, et je vous verrai à Procédure pas à pas 1.