A2 · Episode 3 · 5:50

Game Initialization in Scratch

This episode teaches how to initialize game elements in Scratch: setting the cat and mouse to their starting positions, sizes, and orientations so the game resets correctly every time the green flag is clicked.

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

Transcript

  1. Coder un jeu avec Scratch, troisième épisode dans lequel nous allons nous intéresser

    Coding a game with Scratch—this is episode three, in which we’ll focus on

  2. à l'initialisation d'un programme,

    program initialization,

  3. qui est absolument indispensable pour tous les jeux.

    which is absolutely essential for all games.

  4. Il s'agit de donner par exemple ici au chat et à la souris une position initiale,

    For example, we need to set initial positions for the cat and the mouse,

  5. une taille initiale.

    as well as their initial sizes.

  6. Si je n'ai pas d'initialisation au début de mon programme,

    If my program lacks initialization at the start,

  7. le chat et la souris resteraient dans la position où ils étaient quand la partie

    the cat and the mouse would remain exactly where they were when the previous game ended,

  8. s'est arrêtée.

    i.e., where they paused.

  9. Or je veux que la souris aille dans le coin en haut à gauche,

    Yet I want the mouse to appear in the top-left corner,

  10. que le chat aille dans le coin en haut à en bas,

    and the cat in the bottom-right corner,

  11. et qu'ils se remettent à une taille normale au début du jeu.

    and both to return to their normal size at the start of the game.

  12. C'est ce que l'on appelle l'initialisation,

    This is called initialization,

  13. et ce que nous allons apprendre à coder avec Scratch tout de suite.

    and right now we’ll learn how to code it using Scratch.

  14. Alors nous voici donc avec notre jeu du chat et de la souris.

    Here we are, then, with our ‘cat-and-mouse’ game.

  15. Donc ça c'est la position initiale que je souhaite,

    This is the initial setup I want:

  16. c'est- à- dire quand je commence le jeu,

    That is, when I start the game,

  17. le chat est en bas à droite de l'écran et la souris en haut à gauche,

    the cat appears in the bottom-right corner of the screen, and the mouse in the top-left corner,

  18. et leurs dimensions respectives sont celles- ci.

    and their respective sizes are as shown here.

  19. Alors voyons voir ce qui se passe maintenant si je lance le jeu,

    Now let’s see what happens when we run the game:

  20. j'ai enlevé le script qui initialise le jeu, on va voir ce qui se passe.

    I’ve removed the initialization script to see what happens.

  21. Donc si la souris mange le chat, voilà ce qui se passe,

    For instance, if the mouse eats the cat, this is what happens;

  22. et maintenant si je reclique sur le drapeau de démarrer,

    Now, if I click the green flag again to restart,

  23. j'ai enlevé le script uniquement pour le chat.

    I’ve removed the initialization script only for the cat.

  24. Donc la souris recommence bien au bon endroit, mais vous voyez le chat,

    So the mouse correctly returns to its proper starting position—but look at the cat:

  25. lui, il a recommencé là où il était resté après s'être fait croquer par la souris,

    it resumes from where it was left after being eaten by the mouse,

  26. et il est resté à la taille à laquelle il était.

    and keeps the same size it had at that moment.

  27. Et si je recommence encore une fois, il est encore plus petit,

    And if I repeat it once more, it becomes even smaller,

  28. puisqu'à chaque fois sa taille diminue.

    since its size decreases each time.

  29. C'est une partie du script que je ne vous montre pas pour le moment,

    This is a part of the script that I won’t show you right now,

  30. on la verra plus tard.

    we’ll see it later.

  31. Mais en tout cas, ce n'est pas convenable, puisque moi ce que je veux,

    But in any case, this isn’t appropriate, since what I want is

  32. c'est que quand je clique sur le bouton vert,

    that when I click the green button,

  33. le chat revienne à sa position initiale et à sa taille initiale.

    the cat returns to its original position and original size.

  34. Alors ça se passe quand on clique sur le drapeau vert.

    So this happens when the green flag is clicked.

  35. Donc déjà, je vais prendre dans les événements le bloc" quand le drapeau vert est

    So first, I’ll pick the block from the ‘Events’ category:

  36. cliqué" et nous allons faire des choses à partir de là.

    ‘when green flag clicked’, and we’ll do things starting from there.

  37. Alors première chose qu'on peut faire,

    So the first thing we can do is

  38. c'est remettre le chat à sa taille initiale. Vous voyez ici le bloc" mettre à un

    reset the cat to its original size. You see here the block:

  39. certain pourcentage de sa taille initiale".

    ‘set size to a certain percentage of original size’.

  40. Là on est à 5, 6%, c'est la taille actuelle en fait.

    Right now it shows 5.6%, which is actually its current size.

  41. Là actuellement le chat est à 5, 6% de sa taille initiale.

    Right now, the cat’s size is 5.6% of its original size.

  42. Je vais le mettre à 75% parce que je trouve que 100%, c'est trop gros.

    I’ll set it to 75%, because I think 100% is too big.

  43. Donc je le mets à 75% de sa taille initiale,

    So I set it to 75% of its original size,

  44. c'est comme ça que je veux qu'il soit au début du jeu.

    and that’s how I want it to appear at the start of the game.

  45. Maintenant au niveau de sa position, je vais dans les blocs des mouvements,

    Now for its position, I go to the ‘Motion’ blocks,

  46. et on va mettre le chat à une certaine position, vous voyez x,

    and place the cat at a specific coordinate — you see x and y.

  47. y. Alors pour vous expliquer ça,

    To explain this to you,

  48. je vais basculer sur un arrière- plan qui est celui- ci.

    I’ll switch to this background.

  49. Il faut comprendre que dans Scratch, les points ont des coordonnées,

    You need to understand that in Scratch, points have coordinates,

  50. les lutins ont des coordonnées, car nous avons un repère ici,

    sprites also have coordinates, because we have a coordinate system here,

  51. vous voyez deux axes qui sont tracés, un axe en orange,

    you see two axes drawn — an orange one horizontally,

  52. c'est l'axe horizontal, c'est l'axe des abscisses, et verticalement,

    that’s the horizontal axis, the x-axis; and vertically,

  53. l'axe des ordonnées.

    that’s the y-axis (the vertical axis).

  54. Donc l'abscisse, c'est x, peut varier entre- 240

    So the x-coordinate can range from -240 to 240.

  55. et 240. L'ordonnée, sur l'axe vertical, peut varier entre- 180 et+ 180.

    The y-coordinate (on the vertical axis) ranges from -180 to +180.

  56. Les coordonnées 0, 0, x égal 0, y égal 0, correspondent au centre de l'écran.

    The coordinates (0, 0), where x equals 0 and y equals 0, correspond to the screen’s center.

  57. Et vous pouvez remarquer aussi qu'en bas à droite

    Also, you’ll notice that in the bottom-right corner of the game screen,

  58. de l'écran de jeu, il y a les deux coordonnées X et Y qui sont affichées,

    the X and Y coordinates are displayed,

  59. qui correspondent aux coordonnées du pointeur de la souris.

    showing the current position of the mouse pointer.

  60. Si je mets au centre de l'écran, j'arrive à 0 0.

    If I move the mouse to the screen’s center, the coordinates become 0, 0.

  61. Et là où je veux que le chat soit au départ, je suis ici vers 200- 140

    And I want the cat to start here—roughly at (200, -140)—

  62. peut- être. Donc c'est là que je vais mettre mon chat au départ.

    so that’s where I’ll place my cat initially.

  63. Donc si je reviens, alors je vais revenir sur l'arrière- plan que j'utilise,

    Now I’ll go back to the background I’m using,

  64. je reviens sur mon lutin, si ça veut bien marcher, et je reviens au script.

    return to my sprite (if it responds properly), and then go back to the script area.

  65. Donc ici, je vais mettre mon lutin sur X,

    Here, I’ll set my sprite’s X position,

  66. on va le mettre à 200 et sur Y à- 140. Voyons

    set it to 200, and its Y position to -140. Let’s see how that looks.

  67. voir ce que ça donne maintenant.

    …

  68. Donc si je clique sur le drapeau vert, le lutin est bien revenu à

    When I click the green flag, the sprite returns to the correct position,

  69. la bonne position, à la bonne taille,

    and also resumes the correct size,

  70. mais par contre il n'est pas orienté comme je veux,

    but its direction isn’t what I want:

  71. il est orienté vers le bas, parce que quand il a terminé la partie précédente,

    it’s facing downward, because at the end of the previous level,

  72. il était orienté vers le bas.

    it was facing downward.

  73. Moi je orienté vers la gauche.

    I want it to face left instead.

  74. Donc je vais prendre le bloc s'orienter à, je l'oriente vers la gauche,

    So I’ll use the ‘point in direction’ block and set it to face left,

  75. c'est- à- dire- 90 degrés.

    which is -90 degrees.

  76. Voyons voir ce que ça donne maintenant.

    Let’s see how that works now.

  77. Ah, là il s'est orienté vers la gauche, mais il est à l'envers.

    Ah—it’s now facing left, but it’s upside down!

  78. Alors si vous avez regardé les épisodes précédents,

    If you’ve watched earlier episodes,

  79. vous savez qu'on peut fixer le sens de la rotation à droite- gauche.

    you know we can lock the rotation mode to left-right flipping.

  80. Là, par défaut, il était à 360 degrés.

    Here, the default value is 360 degrees.

  81. Donc voyons voir ce que cela donne maintenant.

    So let’s see what happens now.

  82. Le chat est dans la bonne position au bon endroit.

    The cat is now in the correct position.

  83. Alors on va faire plusieurs essais pour voir si ça marche.

    We’ll run several tests to check whether it works.

  84. Il a l'air de revenir toujours au bon endroit et dans la bonne position.

    It appears to always return to the right spot and face the right direction.

  85. Alors j'ai un script à peu près équivalent pour la souris.

    I also have a roughly equivalent script for the mouse.

  86. qui elle revient en haut à gauche de l'écran, contrairement au chat,

    Unlike the cat, the mouse returns to the top-left corner of the screen.

  87. le script de la souris le voici.

    Here’s the mouse’s script.

  88. L'initialisation c'est ceci, mettre la taille à 75%, on va à X- 200,

    Initialization sets the size to 75%, moves to X = -200,

  89. Y 147, et on l'oriente à 90 degrés.

    Y = 147, and sets its direction to 90 degrees.

  90. Voilà, donc ça ce sont des scripts d'initialisation qui sont absolument

    These are initialization scripts,

  91. indispensables pour commencer un jeu dans de bonnes conditions.

    absolutely essential for starting a game under good conditions.

  92. Voilà, ce script et cet épisode sont terminés,

    That’s it—this script and this episode are now complete.

  93. ne ratez pas le prochain épisode dans lequel nous verrons comment écrire un script

    Don’t miss the next episode,

  94. qui permet à un lutin de se diriger automatiquement vers un autre lutin.

    in which we’ll learn how to write a script that makes a sprite automatically move toward another sprite.

  95. À bientôt!

    See you soon!