Mémoire

Introduction

Dans ce projet, vous allez créer un jeu de mémoire où vous devez mémoriser et répéter une séquence aléatoire de couleurs!

Ressources

Pour ce projet, on devrait utiliser Scratch 2. Scratch 2 peut être utilisé soit en ligne via jumpto.cc/scratch-on ou en téléchargeant à partir de jumpto.cc/scratch-off pour une utilisation hors-connexion.

Vous trouverez une version finalisée du projet en ligne, ou vous pouvez la télécharger en cliquant sur le lien ‘Matériaux du Projet’ qui contient :

  • Memory.sb2

Objectifs d’apprentissage

Défis

  • “Ajouter du son” - améliorer la simplicité d’utilisation du jeu;
  • “Créer 4 boutons” - manipuler des listes;
  • “Créer d’autres blocs” - créer des blocs personnalisés;
  • “Un autre costume” - améliorer la simplicité d’utilisation du jeu;
  • “Niveau de difficulté” - modifier les données stockées dans une liste.

Des couleurs aléatoires

Créons un personnage qui peut se transformer dans une séquence aléatoire de couleurs à mémoriser par le joueur.

  • Démarrez avec un nouveau projet Scratch et supprimez le lutin de chat pour commencer un projet vide. L’éditeur scratch se trouve en ligne à jumpto.cc/scratch-new.
  • Choisissez un lutin et un arrière-plan. Votre personnage n’a pas besoin d’être un humain, mais doit pouvoir changer de couleur.

  • Dans votre jeu, vous allez utiliser un chiffre différent pour représenter chaque couleur :
    • 1 = rouge;
    • 2 = bleu;
    • 3 = vert;
    • 4 = jaune.

    Donnez à votre personnage 4 costumes de couleurs différentes, un pour chacune des 4 couleurs ci-dessus. Vérifiez le bon ordre de vos costumes.

  • Pour créer une séquence aléatoire, vous avez besoin de créer une liste. Une liste est simplement une variable qui stocke des données dans un certain ordre. Créez une nouvelle liste nommée séquence. Seul votre personnage a besoin de voir la liste, donc nous pouvons choisir ‘Pour ce lutin uniquement’.

    Votre liste vide devrait apparaître en haut à gauche de votre scène, ainsi que plusieurs nouveaux blocs à utiliser avec des listes.

  • Ajoutez ce code à votre personnage afin d’ajouter un chiffre aléatoire à votre liste (et montrer le bon costume) 5 fois :

    Vous pouvez remarquer que vous avez aussi vidé la liste avant de commencer.


Défi : Ajouter du son

Testez votre projet plusieurs fois. Vous pouvez parfois remarquer que le même chiffre est choisi deux fois (ou plus) de suite, rendant la séquence plus difficile à mémoriser. Pouvez-vous faire jouer le son d’un tambour chaque fois que le personnage change de costume?

Pouvez-vous changer le son du tambour selon le chiffre aléatoire choisi? Ceci sera très similaire par rapport à votre code pour changer le costume du personnage.


Répéter la séquence

Ajoutons 4 boutons pour que le joueur puisse répéter la séquence mémorisée.

  • Ajoutez 4 lutins qui vont devenir des boutons. Modifiez vos 4 lutins pour qu’il y en ait un de chaque couleur.

  • Quand on clique sur le tambour rouge, il faut envoyer le message à votre personnage pour faire savoir que le bouton rouge a été cliqué. Ajoutez ce code à votre tambour rouge :

  • Quand votre personnage reçoit ce message, il doit vérifier si le chiffre 1 est au début de la liste (ce qui veut dire que rouge est la prochaine couleur dans la séquence). Si tout correspond, c’est que la réponse est bonne. Sinon, c’est “Partie terminée!”

  • Vous pouvez aussi faire clignoter des lumières lorsque la liste sera vide, ce qui signifie que vous avez bien deviné la séquence entière. Ajoutez ce code à la fin du texte quand ⚑ cliqué de votre personnage :

  • Cliquez sur votre scène et ajoutez ce code pour jouer n’importe quel son et faire changer la couleur du fond lorsque le joueur a gagné la partie.

Défi : Créer 4 boutons

Répétez les étapes ci-dessus pour vos boutons bleus, verts et jaunes. Quel code restera pareil et quel code faudrait-il modifier pour chaque bouton?

Vous pouvez aussi ajouter des sons lorsque vous appuyez sur les boutons.

N’oubliez pas de tester le code que vous venez d’ajouter! Pouvez-vous mémoriser une séquence de 5 couleurs? Est-ce que la séquence change à chaque fois?


De multiples niveaux

Jusqu’à maintenant, le joueur n’a qu’à se souvenir de 5 couleurs. Nous allons donc améliorer notre jeu en rendant la séquence plus longue.

  • Créez une nouvelle variable nommée pointage.

  • Ce pointage sera utilisé pour déterminer la longueur de la séquence que le joueur doit mémoriser. Pour commencer, le pointage (et la taille de la séquence) sera de 3. Ajoutez ce bloc de code au début du code quand ⚑ cliqué de votre personnage :

  • Au lieu de toujours créer une séquence de 5 couleurs, vous voulez avoir un pointage qui détermine la longueur de la séquence. Changez la boucle répéter de votre personnage (pour créer la séquence) en :

  • Enfin, vous aurez besoin d’ajouter une boucle répéter indéfiniment autour du code qui génère la séquence afin de créer une nouvelle séquence pour chaque niveau. Le code de votre lutin devrait apparaître comme suit :

  • Demandez à vos amis de tester votre jeu. Pensez à cacher la liste séquence avant de lancer le jeu!

Meilleur pointage

Ajoutons la possibilité d’enregistrer le meilleur pointage afin de pouvoir jouer contre vos amis.

  • Ajoutez 2 nouvelles variables à votre projet nommées meilleur pointage et meilleur joueur.
  • Si jamais le jeu s’arrête (en appuyant sur le mauvais bouton), vous aurez besoin de vérifier si le pointage du joueur est plus grand que le meilleur pointage actuel. Si c’est le cas, vous devez enregistrer le pointage comme le nouveau meilleur pointage et enregistrer le nom du joueur. Voici à quoi devrait correspondre votre bouton rouge :

  • Vous aurez besoin d’ajouter ce nouveau code aux 3 autres boutons aussi! Avez-vous remarqué que le code ‘Partie terminée’ est identique pour chacun des 4 boutons?

  • Si jamais vous changez une partie du code, comme pour ajouter un son ou changer le message ‘Partie terminée!’, vous allez devoir le changer 4 fois! Ça devient embêtant et vous perdez beaucoup de temps.
  • À la place, vous pouvez définir vos propres blocs afin de les réutiliser dans votre projet! Pour faire cela, cliquez Ajouter blocs et puis sur ‘Créer un bloc’. Nommez ce nouveau bloc ‘Partie terminée’.

  • Ajoutez le code du bloc sinon du bouton rouge au nouveau bloc que vous voyez :

  • Vous avez maintenant créé une nouvelle fonction appelée Partie terminée que vous pouvez utiliser où vous voulez. Glissez votre nouveau bloc Partie terminée vers les 4 scripts pour les boutons.

  • Ensuite, ajoutez un son lorsque vous cliquez sur le mauvais bouton. Vous avez juste à ajouter ce code une fois dans le bloc Partie terminée que vous venez de créer, et non à 4 occasions différentes!

Défi : Créer d’autres blocs

Est-ce que vous voyez d’autres séquences de code qui se répètent pour les 4 boutons?


Défi : Un autre costume

Avez-vous remarqué que votre jeu démarre avec votre personnage montrant une des 4 couleurs et qu’il affiche toujours la dernière couleur de la séquence pendant que le joueur répète la séquence?

Pouvez-vous ajouter un costume blanc qui sera affiché sur votre lutin au début de la partie, ainsi que lorsque le joueur tente de copier la séquence?


Défi : Niveau de difficulté

Pouvez-vous laisser votre joueur choisir entre des niveaux ‘mode Facile’ (utilisant juste les tambours rouges et bleus) et ‘mode Normal’ (qui utilise les 4 tambours)?

Vous pourriez même imaginer un mode ‘Difficile” qui utilise un 5ième tambour!

¡Producto añadido con éxito a la comparación de productos!