A2 · Episode 7 · 4:59
Variables: Implementing a Score System
This episode explains how to use variables in programming to track a player's score, specifically by incrementing it each time the mouse collects a muffin in a Scratch-based game.
Source:ericgrisperez / tube-numerique-educatif.apps.education.fr · License:CC BY 4.0
Transcript
Bonjour, suite de notre jeu de chat et de souris,
Hello, this is the continuation of our cat-and-mouse game.
donc la dernière fois nous avions mis en place des muffins à récupérer par la
Last time, we set up muffins for the mouse to collect.
souris. Donc notre jeu commence à devenir intéressant,
So our game is starting to get interesting.
le problème étant que pour le moment, lorsque j'attrape un muffin,
The problem is that right now, whenever I catch a muffin,
je ne sais pas combien j'en ai récolté.
I don’t know how many I’ve collected.
Donc si je fais un jeu avec mes copains,
So if I play this game with my friends,
j'aimerais savoir qui est le meilleur à ce jeu.
I’d like to know who’s the best at it.
Donc il me faudrait ici un
So I need a
score. J'ai ajouté ici une variable,
score. I’ve added a variable here.
donc maintenant lorsque j'attrape un muffin, j'ai
Now, each time I catch a muffin,
bien à chaque fois plus 1 qui vient s'ajouter à mon score.
my score increases by one.
Donc si je perds.
If I lose...
La partie, je peux montrer que j'ai réussi à faire deux sur ma partie.
this round, I can show that I scored two points.
Avant de nous lancer, voyons ce qu'est une variable.
Before we begin, let’s see what a variable is.
Une variable, c'est comme une boîte.
A variable is like a box.
Cette boîte sert à ranger une information dont le programme a besoin.
This box stores information the program needs.
Dans une variable, on peut mettre un nombre, par exemple un score.
In a variable, we can store a number—for example, a score.
Un texte, par exemple le nom du joueur,
We can also store text—such as the player’s name,
ou un temps ou encore une autre information.
or a time value—or any other information.
Dans un premier temps, je vais donner un nom à ma variable.
First, I’ll give my variable a name.
Par exemple, ici ce qui m'intéresse c'est de connaître le score du joueur.
For example, what matters to me is the player’s score.
Donc je vais nommer cette variable score.
So I’ll name this variable 'score'.
Chaque muffin fera augmenter le score de un point.
Each muffin will increase the score by one point.
Donc dans cette boîte, je viendrai ranger des nombres.
So in this box, I’ll store numbers.
Maintenant que je sais que ma variable se nomme score et qu'elle permet de ranger
Now that I know my variable is called 'score' and stores
des nombres, je vais pouvoir définir des conditions pour l'utiliser.
numbers, I can define conditions for using it.
Au début du jeu, elle devrait être à zéro, car pour le moment,
At the start of the game, it should be zero, because right now
je n'ai rien attrapé.
I haven’t caught any muffins yet.
À chaque fois que j'attrape un muffin, j'ajouterai un point.
Each time I catch a muffin, I’ll add one point.
Essayons de faire ça maintenant avec nos blocs Scratch.
Let’s try implementing this now using Scratch blocks.
Concrètement, voici ce qu'il va se passer.
Specifically, here’s what will happen.
J'ai ici ma variable score qui est indiquée en haut à gauche de mon écran.
Here is my ‘score’ variable, shown in the top-left corner of my screen.
Je lance mon jeu.
I start my game.
Ma souris peut se déplacer et peut aller attraper un muffin.
My mouse can move and go catch a muffin.
À chaque fois que la souris attrape un muffin,
Each time the mouse catches a muffin,
on peut voir que le score gagne un point.
we can see the score increase by one point.
Voyons maintenant comment faire ça avec les blocs Scratch.
Now, let’s see how to do this with Scratch blocks.
Nous voici dans la partie code.
We’re now in the Code section.
Nous allons travailler avec le muffin.
We’ll work with the muffin sprite.
C'est en effet lui qui donnera l'ordre à la variable d'augmenter de plus un point.
It’s actually the muffin that will tell the score variable to increase by one point.
Nous retrouvons ici le programme que nous avons fait où un son est joué si la souris
Here is the program we made earlier: a sound plays when the mouse is touched.
est touchée. Donc on va utiliser ce programme- là pour venir intégrer notre
So we’ll reuse this program to integrate our score variable.
variable. Pour créer une variable dans Scratch,
To create a variable in Scratch,
il suffit d'aller dans la catégorie Variables.
just go to the Variables category.
Ici, tu as un bouton pour créer une nouvelle boîte pour stocker des choses.
Here you’ll find a button to create a new ‘box’ for storing things.
Donc j'appuie sur Créer une variable.
So I click ‘Create a Variable’.
Cette variable, je vais l'appeler score, et j'appuie sur OK.
I’ll name this variable ‘score’, then click OK.
De nouveaux blocs sont maintenant disponibles.
New blocks are now available.
Donc ici, j'ai un menu déroulant qui me permet de choisir ma variable score.
Here I have a dropdown menu letting me select my ‘score’ variable.
Donc les blocs qui vont nous intéresser ici,
So the blocks we need are:
ça va être de mettre le score à zéro pour commencer le jeu,
set the score to zero at the start of the game;
et d'ajouter plus un à la variable score.
and add one to the ‘score’ variable.
Fais bien attention ici à vérifier que la variable choisie est bien la bonne.
Pay close attention here to make sure the chosen variable is indeed the correct one.
Ici, là où je veux ajouter un, c'est bien à score.
Here, where I want to add 1, it’s definitely the 'score' variable.
Donc à partir de ce programme qui est déjà rédigé et de ces deux blocs,
So, starting from this already-written program and these two code blocks,
essaye de faire en sorte que à chaque fois que le chat touche un muffin,
try to make it so that each time the cat touches a muffin,
le score augmente de un,
the score increases by 1;
et quand le jeu est lancé, que cette variable revienne bien à zéro.
and when the game starts, this variable must reset to zero.
Tu peux mettre pause sur la vidéo pour essayer de résoudre ce défi.
You can pause the video to try solving this challenge.
Voyons la correction ensemble.
Let’s review the solution together.
Donc première chose, on se pose la question à quel moment le score doit revenir à
So first, we ask ourselves: at what moment should the score reset to zero?
zéro. Eh bien tout simplement au début du jeu,
Well, simply at the start of the game—
c'est- à- dire quand le drapeau vert est appuyé, je dois revenir à zéro.
that is, when the green flag is clicked, I need to set the score to zero.
Donc ce bloc" mettre score à zéro",
So this 'set score to 0' block,
je vais venir l'intercaler entre ma boucle et mon drapeau vert.
I’ll insert right between my loop and the green flag.
Quand le drapeau vert est appuyé,
When the green flag is clicked,
je mets le score à zéro et ensuite je vérifie si le muffin est touché,
I first set the score to 0, then check whether the muffin is touched;
auquel cas, si la souris est touchée pardon,
if it is touched—sorry, if the mouse is touched,
et auquel cas je jouerai un petit son pour dire que je l'ai mangé.
then I’ll play a little sound to indicate it’s been eaten.
C'est à ce moment- là, une fois que le son est joué,
It’s precisely at this moment—once the sound has finished playing—
que je vais pouvoir ajouter plus un à score.
that I’ll add 1 to score.
Donc ici je peux le mettre juste ici et je peux tester mon jeu.
So I can place it right here and test my game.
Je mets en plein écran, j'appuie sur le drapeau vert.
I switch to full screen and click the green flag.
Je me prépare, et c'est parti.
I’m ready—let’s go!
Je vais attraper le muffin.
I’ll grab the muffin.
J'ai bien le son qui est joué et j'ai bien le muffin qui disparaît et un score qui
The sound plays correctly, the muffin disappears, and the score increases.
s'ajoute. Donc maintenant, nous avons réussi à faire en sorte que la variable
So now, we’ve successfully made the variable change.
évolue. Donc ici, il s'agit d'une variable de score,
Here, it’s a score variable,
mais on pourrait très bien imaginer aussi que notre souris a des vies et à chaque
but we could just as easily imagine the mouse has lives,
fois que le chat l'attrape, la vie descend.
and each time the cat catches it, a life is lost.