A2 · Episode 10 · 6:07

Using the Timer in Scratch

This episode demonstrates how to use Scratch's built-in timer to dynamically increase gameplay difficulty—specifically, by boosting the mouse sprite's movement speed every five seconds. It covers timer initialization, reading its value, resetting it, and linking it to a variable that controls sprite behavior.

Source:Montagne Vincent / tube-numerique-educatif.apps.education.fr · License:CC BY 4.0

Transcript

  1. Coder un jeu avec Scratch, neuvième épisode dans lequel nous allons voir comment

    Coding a game with Scratch—Episode 9, in which we’ll learn

  2. utiliser le chronomètre qui est disponible dans Scratch.

    how to use the built-in timer in Scratch.

  3. Alors par exemple ici, dans le jeu du chat et la souris,

    For example, in this ‘Cat and Mouse’ game,

  4. vous voyez le chronomètre en bleu là qui décompte et toutes les cinq secondes,

    you can see the blue countdown timer there—every five seconds,

  5. la vitesse de la souris augmente de deux.

    the mouse’s speed increases by 2.

  6. Là elle est de cinq, elle va bientôt passer à sept.

    Right now it’s at 5, and will soon jump to 7.

  7. Voilà, ce qui augmente la difficulté du jeu en fait.

    This gradually increases the game’s difficulty.

  8. Ici j'utilise le chronomètre pour augmenter la difficulté du jeu,

    Here, I’m using the timer to increase game difficulty,

  9. mais on peut imaginer l'utilisation du chronomètre pour compter les points,

    but you could also use it to tally points,

  10. pour donner un score par exemple, on peut imaginer énormément de choses.

    for instance, to calculate a final score—you can imagine countless other uses.

  11. Donc nous allons voir comment fonctionne ce chronomètre dans Scratch et nous y

    So next, we’ll explore how this timer works in Scratch,

  12. allons tout de suite.

    and dive right in!

  13. Alors nous y voici donc, et nous retrouvons les scripts que nous avons laissés à

    Here we are, back in the project interface,

  14. l'épisode précédent.

    and all the scripts from last episode remain.

  15. Alors j'y reviens rapidement.

    Let me quickly recap.

  16. Pour le chat, j'ai d'abord ici une initialisation,

    For the Cat sprite, I first set up initialization,

  17. puis après dans la boucle répéter indéfiniment,

    then inside the ‘forever’ loop,

  18. on teste si la souris est touchée. Si la souris est touchée,

    I check whether it touches the mouse—if it does,

  19. le chat a un effet de pixellisation,

    the Cat displays a pixelation effect,

  20. puis il envoie à tous les autres lutins un message" game over".

    and then broadcasts the message ‘game over’ to all other sprites.

  21. À côté, c'est le script

    Next, this script,

  22. pour ses déplacements.

    controls the Cat’s movement.

  23. Si je regarde le chien, le chien est caché en début de partie quand on commence le

    Now for the Dog sprite: it starts hidden at the beginning of the game,

  24. jeu, et il n'apparaît qu'à l'écran lorsqu'il reçoit le message" game over".

    and only appears on screen after receiving the ‘game over’ message.

  25. Pareil pour le lutin texte" game over" qui apparaît uniquement quand la partie est

    Likewise, the ‘game over’ text sprite appears only when the game ends.

  26. finie. Et la souris sur laquelle nous allons travailler maintenant,

    And now, for the Mouse sprite—which we’ll focus on next—

  27. donc j'ai un script d'initialisation, ensuite j'ai son déplacement,

    I’ve written an initialization script and a movement script:

  28. elle se dirige tout le temps vers le chat, et lorsque le chat est touché,

    it constantly moves toward the Cat—and when touched by the Cat,

  29. elle a un script avec un effet graphique.

    it runs a script that applies a visual effect.

  30. Et quand elle reçoit le message game over,

    When she receives the 'game over' message,

  31. elle disparaît.

    she disappears.

  32. Alors nous allons travailler sur la souris et nous allons commencer tout d'abord par

    Next, we’ll work on the mouse sprite, and start by

  33. créer une variable.

    creating a variable.

  34. Donc le but c'est que la vitesse de la souris augmente toutes les cinq secondes.

    Our goal is for the mouse’s speed to increase every five seconds.

  35. Alors on va commencer par créer une variable.

    So let’s begin by creating a variable.

  36. ici qu'on va appeler vitesse

    Here, we’ll name it 'mouse speed',

  37. souris par exemple.

    for example.

  38. Comme ceci. Donc cette variable,

    Like this. This variable

  39. c'est la variable dans laquelle nous allons mettre la vitesse de la souris.

    is where we’ll store the mouse’s current speed.

  40. Alors ici, vitesse souris peut prendre la valeur que je veux.

    Right now, 'mouse speed' can be set to any value.

  41. Alors par exemple, au lieu d'avancer de 5 dans le script,

    For instance, instead of moving forward by 5 in the movement script,

  42. nous allons avancer de la vitesse souris.

    we’ll now move forward by the value of 'mouse speed'.

  43. Mais au début du jeu, il va falloir que j'initialise cette vitesse dans le script

    However, at the start of the game, I need to initialize this speed in the initialization script,

  44. d'initialisation, et on va mettre la vitesse de la souris, par exemple,

    and set the mouse’s speed—say,

  45. à 3. Donc au début du jeu, la vitesse de la souris est à 3,

    to 3. So at the beginning of the game, the mouse’s speed is 3,

  46. et dans le script du déplacement, on avance de la vitesse de la souris,

    and in the movement script, we move forward by the value of 'mouse speed',

  47. c'est- à- dire à 3, tant

    i.e., 3 steps,

  48. que cela n'aura pas été changé.

    until that value is changed.

  49. Maintenant, ce que je veux, c'est écrire un script qui me permette,

    Now, I want to write a script that will,

  50. toutes les 5 secondes, d'ajouter 2 à cette vitesse, à cette variable.

    every 5 seconds, add 2 to this speed—that is, to this variable.

  51. Alors pour cela, nous allons utiliser dans les capteurs, le chronomètre.

    To do this, we’ll use the 'timer' block from the 'sensors' category.

  52. Donc nous avons deux blocs ici qui concernent le chronomètre.

    There are two timer-related blocks here.

  53. D'abord la réinitialisation du chronomètre,

    First is 'reset timer',

  54. c'est- à- dire on met le chronomètre à 0.

    which sets the timer back to zero.

  55. Donc ça, on va le mettre dans l'initialisation,

    So, we’ll place this in the initialization section,

  56. dans le script d'initialisation, quand on clique sur le drapeau vert,

    that is, in the initialization script that runs when you click the green flag.

  57. le chronomètre est à 0.

    At that point, the timer resets to zero.

  58. Et ici, je peux lire avec ce bloc la valeur du chronomètre.

    Here, I can use this block to read the current value of the timer.

  59. Donc ce que nous allons faire, c'est que si le chronomètre est supérieur à 5,

    So what we’ll do is: if the timer exceeds 5,

  60. Donc on va prendre un bloc dans les opérateurs, le bloc supérieur à.

    we’ll pick the ‘greater than’ block from the Operators category.

  61. Donc si le chronomètre.

    So, if the timer…

  62. Je vais mettre ici est supérieur

    I’ll place ‘greater than’ here,

  63. à 5. Alors nous allons ajouter 2 à la vitesse de la souris.

    and set it to ‘5’. Then, we’ll add 2 to the mouse’s speed.

  64. Donc alors, on va mettre

    So then, we’ll set:

  65. la vitesse, on va pardon ajouter.

    the mouse’s speed — sorry, we’ll ‘increase’ it,

  66. 2 à la vitesse de la souris,

    add 2 to the mouse’s speed,

  67. comme ceci. Et on va remettre le chronomètre à zéro.

    like this. And we’ll reset the timer to zero.

  68. Et comme ça, si on répète cela indéfiniment, toutes les 5 secondes,

    This way, if we repeat it indefinitely, every 5 seconds,

  69. on va ajouter 2 à la vitesse de la souris.

    the mouse’s speed will increase by 2.

  70. Alors ce script, on peut le commencer dès que la partie commence,

    We can start this script as soon as the game begins,

  71. donc on va mettre un événement" quand le drapeau vert est cliqué".

    so we’ll add a ‘when green flag clicked’ event.

  72. On répète indéfiniment, si le chronomètre est supérieur à 5,

    Repeat indefinitely: if the timer is greater than 5,

  73. alors. La vitesse de la souris augmente de 2 et on remet le chronomètre à 0.

    then increase the mouse’s speed by 2 and reset the timer to 0.

  74. Donc dans mon initialisation, j'ai bien

    So in my initialization, I’ve indeed first set the speed to 3,

  75. commencé par mettre la vitesse à 3, je remets le chronomètre à 0 au début du jeu,

    and reset the timer to zero at the start of the game,

  76. et dans le script de mouvement, il faut bien avancer de vitesse souris,

    and in the movement script, we must move forward ‘by mouse speed’,

  77. car c'est ça qui va changer.

    since that’s the value which will change.

  78. Alors si je regarde ce qui se passe maintenant,

    Now, let’s see what happens:

  79. donc quand je clique sur le drapeau vert, la souris avance tout doucement,

    When I click the green flag, the mouse moves slowly,

  80. et petit à petit, elle va augmenter, voilà.

    and gradually speeds up — there you go!

  81. Alors on va rajouter quelque chose, le chronomètre,

    Next, we’ll add a timer.

  82. on peut l'afficher à l'écran en cochant la case qui est devant le bloc ici.

    You can display it on screen by checking the box next to this block.

  83. Et ici, vous voyez, le chronomètre est ici,

    Here you can see the timer is right here.

  84. comme ça j'ai la vitesse de la souris et le chronomètre.

    Now I can see both the mouse speed and the timer.

  85. Alors ici, le chronomètre, il s'arrête pas, il continue,

    This timer doesn’t stop automatically—it keeps running.

  86. mais quand je clique sur le drapeau vert, voilà, le chronomètre a commencé à 0,

    But when I click the green flag, the timer starts at zero.

  87. et lorsqu'il va arriver à 5 secondes, si j'y arrive, je recommence,

    When it reaches 5 seconds—if I manage to do so—I’ll restart.

  88. s'il arrive à 5 secondes, vous allez voir.

    If it does reach 5 seconds, you’ll see what happens.

  89. que la vitesse de la souris va passer à 5, voilà, elle a augmenté,

    At that point, the mouse speed changes to 5—see, it’s increased.

  90. donc ça va un petit peu plus vite, et.

    So the mouse moves slightly faster.

  91. Là, elle est passée à 7, et voilà.

    Now it’s gone up to 7—that’s it.

  92. Donc voilà comment utiliser le chronomètre

    That’s how to use the timer in Scratch.

  93. qui est disponible dans Scratch.

    It’s built into Scratch and ready to use.

  94. C'est une utilisation, il y en a évidemment d'autres.

    This is just one way to use it—there are obviously many others.

  95. Ce script est opérationnel et il est terminé.

    This script is fully functional and complete.

  96. Cet épisode est terminé, ne ratez pas le prochain épisode dans lequel nous verrons

    This episode ends here—don’t miss the next one, where we’ll learn

  97. comment créer un jeu de tir, pour cela nous utiliserons les clones.

    how to create a shooting game using clones.

  98. À bientôt.

    See you soon!