[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. 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.