Sélectionner une page

champs de GobosApprends à programmer le jeu des Gobos en 7 étapes :

But : Aide le chat à naviguer dans un champ de gobos :

  • toucher un gobojaune donne des points
  • toucher un goborose stoppe le jeu

A la fin, tu pourras consulter la solution en cliquant sur : jeu des Gobos puis, clique sur le bouton Voir à l’intérieur pour accéder aux scripts.

Etape 0 : prépare la scène du jeu

  1. Lance scratch et renomme le lutin sprite1  «chat»
  2. Choisis un arrière-plan 
  3. Ajoute un lutin gobo, renomme le «aToucher»
  4. Ajoute un lutin gobo, colorie le en rose, renomme le «aEviter»
  5. Crée une variable de nom «nbPoints»
  6. diminue un peu la taille des lutins présents  

Aide : pistes de solution

  1. Voir «i» bleu du coin en haut à gauche du lutin
  2.  Voir «Nouveau lutin»
  3. Voir «Nouveau lutin»,  puis «costumes», puis …
  4. Voir «Données»  dans les scripts 

0.1 renomme le lutin sprite1  en «chat»

Clique sur «i» bleu du coin en haut à gauche du lutin Sprite 1 (le chat) et renomme le en « chat » :

scratch renommer le lutin

0.2- choisis un arrière-plan

menu arrierre-planClique sur l’icône pour ouvrir la bibliothèque des arrière-plans :

Ensuite, choisis l’arrière-plan que tu veux (comme désert):

désert

0.3- choisis un 1er lutin Gobo ‘aToucher’

Ensuite, choisis un premier lutin Gobo et renomme le ‘aToucher’ !

menu nouveau lutinClique sur l’icône pour ouvrir la bibliothèque des lutins :

Choisis la catégorie Fantaisie, puis clique sur Gobo.

lutin Gobo dans Scratch

Puis renomme ce lutin Gobo en ‘aToucher‘ en cliquant sur le «i» bleu du coin en haut à gauche du lutin.

scratch renommer lutin

0.4- choisis un second lutin Gobo ‘aeviter’

Ensuite, choisis un second lutin Gobo, colorie le en rose et renomme le ‘aEviter’ !

Colorie ton lutin avec la couleur ‘rose’ à l’aide de l‘outil à dessin :

scratch colorie ton lutin Gobo

Puis renomme ce lutin Gobo en ‘aEviter

renommer lutin Gobo_2

Ensuite, ajuste la taille des lutins en cliquant sur l’outil agrandir ou rétrécir:

menu agrandir réduire les lutins

Fais en sorte que la scène ressemble à celle-ci,

la scene Gobo au début

0.5- gére le score de la partie

Crée une variable ‘nbPoints‘ pour compter les points en cliquant sur la catégorie : Données.

scratch nbPoints Gobo

Etape 1 : Faire que le lutin «chat» suive le curseur

Dans les scripts du lutin «chat», quand on clique sur le drapeau vert fais en sorte :

  1. que le lutin «chat» se place à gauche de la scène et le montrer
  2.  de mettre à 0 la variable «nbPoints» et la montrer
  3. que le lutin «chat» attende que le pointeur de souris (la flèche qui bouge) soit près de lui
  4. que le le lutin «chat» suive continuellement le pointeur de souris
  5. Dans les scripts des lutins «aToucher» et à «aEviter», quand on clique sur le drapeau vert fais en sorte que les lutins «aToucher» et «aEviter» soient cachés

Aide : pistes de solutions

  1.  « Mouvement » : aller à  x :  …   y : … ,   « Apparence» :  montrer
  2.  «Données» : mettre,    «Données» :  montrer la variable
  3. «Contrôle» : attendre jusqu’à,   «Opérateurs»  :  <  ,  «Capteurs»  :  distance de
  4.  «Contrôle» : répéter indéfiniment,  «Mouvements» : aller à

1.1- définit la position de départ du lutin chat à gauche de la scène

Tu peux définir la position de départ du lutin chat.

Déplace le chat à l’endroit où tu veux qu’il démarre, puis fais glisser le bloc scratch aller à x et y au sommet du script ‘déplacer le chat’ :

scratch gobo aller à

Astuce : lit en bas à droite du jeux la valeur des coordonnées x et y de la balle et reporte ces valeurs dans le bloc aller à xy.

1.2- mettre à 0 la variable «nbPoints» et la montrer

Puis, ajoute le bloc d’initialisation du nombre de points (nbPoints) à ton script ‘chat déplacer’ :

scratch mettre score à zéro

1.3- Faire que le lutin «chat» attende que le pointeur de souris soit près de lui

Clique dans la catégorie contrôle puis glisse et dépose le bloc scratch attendre jusqu'à

ensuite, dans la catégorie capteur insère le bloc ch distance pointeur de sourisdans le bloc précédent

scratch attendre jusqu'à distance pointeur de souris

remarque : quand le pointeur de la souris se rapprochera à moins de 30 points du lutin chat alors on va déclencher des actions (création de clones qui bougent).

1.4- Contrôle le lutin «chat» pourqu’il suive continuellement le pointeur de souris

Sélectionne ton lutin chat et ensuite ajoute au scriptdéplacer le chat‘ :

scratch suivre pointeur souris indéfiniment

Clique ensuite sur le drapeau vert pour lancer tes scripts:

Ton chat suit désormais le déplacement de la souris. Essaie !

 

1.5- Masque les lutins «aToucher» et à «aEviter» quand on clique sur le drapeau vert

Dans les scripts des lutins «aToucher» et à «aEviter», quand on clique sur le drapeau vert fais en sorte que les lutins «aToucher» et «aEviter» soient cachés

Clique sur le lutin «aToucher» et crée le script suivant ‘lutin caché’ :

scratch bloc cachéClique sur le lutin «aEviter» et crée le script suivant ‘lutin caché’ :

scratch bloc caché

Remarque : en début de jeu, on ne veut pas que les lutins aToucher et aEviter s’affichent à l’écran !

Etape 2 : Faire apparaître et bouger le lutin «aToucher»

 Dans les scripts du lutin «aToucher», quand  il commence comme un clone :

  1. positionne le lutin «aToucher» au centre de la scène
  2. fais apparaître le lutin «aToucher»
  3. fais le s’orienter d’un angle aléatoire entre 0 et 180
  4. ensuite fais le avancer indéfiniment par pas de 5 et en rebondissant sur les bords
  5.  Dans le script du lutin «chat», et avant de lui faire suivre le  pointeur de souris, crée un clone du lutin «aToucher»

Aide :pistes de solutions

«Contrôle» : quand je commence comme un clone

  1.  
  2.  
  3. « Mouvement » : s’orienter à,   «Opérateurs» :  nombre aléatoire
  4. «Contrôle» : répéter indéfiniment,   «Mouvement » : avancer de ,  «Mouvement » : rebondir si le bord est atteint
  5. «Contrôle» : créer un clone de

2.1. positionne le lutin «aToucher» au centre de la scène et montre le

Dans la catégorie Contrôle, déplace le bloc scratch quand je commence comme un clônedans un nouveau script ‘déplacer clone‘ du lutin sélectionné.

Puis à l’aide de la catégorie mouvement, ajoute les blocs suivants :

scratch positionner un clone

2.3 fais le lutin  s’orienter d’un angle aléatoire entre 0 et 180

Dans la catégorie Mouvement, déplace le bloc s’orienter à  puis insère y le bloc nombre aléatoire.

sorienter nb aleatoire

 

2.4  fais avancer indéfiniment le lutin par pas de 5 et en rebondissant sur les bords

Emboîte le bloc rebondir si le bord est atteint. avec l’autre bloc (avancer de 5). Ensuite, clique dans la catégorie Contrôle et entoure avec un bloc répéter indéfiniment les autres blocs, comme ceci:

ch avancer et rebondir indefiniment

2.5 Crée un clone de ton lutin «aToucher»

Dans le script du lutin «chat», et avant de lui faire suivre le  pointeur de souris, crée un clone du lutin «aToucher»

Sélectionne le lutin chat, puis dans la catégorie Contrôle, ajoute le bloc  scratch créer un clôneau script ‘déplacer le chat‘.

 

Etape 3 : Donne des points quand  le lutin «aToucher» touche le lutin «chat»

 Dans un deuxième script du lutin «aToucher»,  quand il commence comme un clone :

  1. fais lui  attendre de toucher le lutin «chat»
  2. puis ajoute 10 points à la variable «nbPoints»
  3. puis fais se cacher le lutin «aToucher»
  4. puis arrête tous les scripts du  lutin «aToucher»

Aide : pistes de solution

  1. 1. «Contrôle» : attendre jusqu’à,   «Capteurs»  : touché?
  2. «Données» : ajouter à
  3.  
  4. «Contrôle» : stop

3.1 fais attendre le lutin «aToucher» de toucher le lutin «chat»

Clique pour choisir le lutin «aToucher» :

A l’aide du bloc attendre jusqu’à et du bloc chat touché? attendre jusqua chat toucheajoute un second scriptchat touché pour faire attendre le lutin jusqu’à ce qu’il touche le chat:

attendre chat touche

3.2 ajoute 10 points à la variable «nbPoints»

scratch ajoute 10 points

3.3 fais se cacher le lutin «aToucher»

scratch se cacher

3.4 arrête tous les scripts du  lutin «aToucher»

scratch stop script

Etape 4 : Créer plusieurs clones du lutin «aToucher»

Dans les scripts du lutin «chat», et avant de lui faire suivre le  pointeur de souris,  crée plusieurs clones (par exemple 7) du lutin «aToucher»

scratch repeter 7 fois creer clone

Etape 5 : Faire apparaître et bouger le lutin «aEviter»

Dans les scripts du lutin «aEviter», quand  il commence comme un clone :

  1. positionne le lutin «aEviter» au centre de la scène
  2. fais apparaître le lutin «aEviter»
  3. fais le s’orienter d’un angle aléatoire entre 0 et 180
  4. ensuite fais le avancer indéfiniment par pas de 3 et en rebondissant sur les bords
  5. Dans les scripts du lutin «chat», et avant de lui faire suivre le  pointeur de souris, crée un clone du lutin «aEviter»

5.1 positionne le lutin «aEviter» au centre de la scène

Clique pour sélectionner le lutin «aEviter» :

quand je commence

5.2 fais apparaître le lutin «aEviter»

ch fais apparaitre le lutin

5.3 fais le s’orienter d’un angle aléatoire entre 0 et 180

scratch s'orienter aleatoirement

5.4 fais le avancer indéfiniment par pas de 3 et en rebondissant sur les bords

scratch avancer et rebondir tout le temps

5.5 crée un clone du lutin «aEviter» dans le script du lutin chat

clique pour sélectionner le lutin chat :

creer clone aeviter

Etape 6 : Arrêter le jeu quand  le lutin «aEviter» touche le lutin «chat»

Dans un deuxième script du lutin «aEviter», quand il commence comme un clone :

  1. fais lui  attendre de toucher le lutin «chat»
  2. puis fais se cacher le lutin «aEviter»
  3. puis arrête tous les scripts

6.1 fais lui  attendre de toucher le lutin «chat»

Clique pour sélectionner le lutin aEviter puis avec les blocs attendre jusqu’à et chat touché, crée un nouveau scriptchat touché‘ :

qd lutin touche

6.2 fais se cacher le lutin «aEviter»

cache

6.3 arrête tous les scripts

 

stop

 

Etape 7 : Créer des clones du lutin «aEviter»

Dans le script du lutin «chat», et avant de lui faire suivre le pointeur de souris, crée plusieurs clones du lutin «aEviter» :
Clique pour sélectionner le lutin chat :

cree plusieurs clones

 

Et voilà, arrives tu à ce résultat :

 

annexe 1 : le script complet du lutin chat

scratch script gobos du lutin chat

annexe 2 : les scripts complets du lutin aToucher

scatch scripts gobos du lutin aToucher

annexe 3 : les script complets du lutin aEviter

scratch scripts gobos du lutin aEviter