Ping pong

Outils

Ordinateur avec scratch 2.0 ou mblock

Matériel

Règle de jeu ping pong.

Files

Étape  1 : Ajouter le décor

  • Changer l'arrière-plan en suivant les illustrations.

Étape  2 : Créer des lutins: 2 raquettes et une balle

Première raquette:

  • Pour créer un nouvel lutin il faut cliquer sur l'outil  "Dessiner un nouvel objet" (numéro -1) présenté dans l'illustration.
  • Tracer une rectangle verticale (numéro -2)
  • Choisir ton couleur dans la palette (numéro -4)
  • Colorier ton rectangle avec l'outil colorier une forme (numéro -3).
  • Déplacer avec le souris ton lutin au milieu de la fenêtre.
  • Changer le nom du costume pour faciliter le programme. (numéro -5).

Deuxième raquette:

  • Plus besoin de créer un nouvel objet.
  • Cliquer-droite sur la première puis choisir dupliquer (numéro -6).
  • Choisir une couleur différent de la première.
  • Colorier votre raquette (numéro -7)
  • Changer le nom du costume  afin de faciliter le programme (numéro -9).

Balle:

  • Re-cliquer sur "Dessiner un nouvel objet" (numéro -10)
  • Tracer un petit cercle au milieu de la fenêtre (numéro -11)
  • Choisir une couleur différente des 2 raquettes (numéro -13)
  • Colorier votre balle (numéro -12)
  • Changer le nom du costume afin de faciliter le programme (numéro -14)

Étape  3 : Coder la raquette du premier joueur

  • Activer la raquette (jaune) du premier joueur.
  • Commencer le code par le bloc "quand le drapeau vert est cliqué".
  • Trouver grâce à votre souris les coordonnées où la raquette doit se placer à chaque début du programme et notez le dans le bloc "aller à x: .. y: .." dans la catégorie mouvement.
  • La condition "si ... alors" est utilisée ici pour déclencher les déplacements des raquettes quand vous appuyez sur une touche (pour monter ou descendre).
  • Définir à partir du bloc "touche ... pressé?" dans le capteur, les noms des touches à appuyer pour monter et descendre les raquettes (ici a pour monter et w pour descendre).
  • Le bloc "ajouter ...y " défini le nombre de pas de déplacement des raquettes (5 pour monter et -5 pour descendre);
  • Enfin le bloc "répéter indéfiniment" pour continuer les mouvements à chaque fois que vous appuyez sur les touches.

Étape  4 : Coder la raquette du deuxième joueur

C'est presque les mêmes codes que celui du premier

  • Activer la raquette (rouge) du deuxième joueur.
  • Commencer le code par le bloc "quand le drapeau vert est cliqué".
  • Trouver grâce à votre souris les coordonnées où la raquette doit se placer à chaque début du programme et notez le dans le bloc "aller à x: .. y: .." dans la catégorie mouvement.
  • La condition "si ... alors" est utilisée ici pour déclencher les déplacements des raquettes quand vous appuyez sur une touche (pour monter ou descendre).
  • Définir à partir du bloc "touche ... pressé?" dans le capteur, les noms des touches à appuyer pour monter et descendre les raquettes (flèche haut pour monter et flèche bas pour descendre).
  • Le bloc "ajouter ...y " défini le nombre de pas de déplacement des raquettes (5 pour monter et -5 pour descendre);
  • Enfin le bloc "répéter indéfiniment" pour continuer les mouvements à chaque fois que vous appuyez sur les touches.

Étape  5 : Coder les déplacements de la balle

  • Activer la balle en cliquant dessus.
  • Commencer le script par le bloc "quand le drapeau vert est cliqué"
  • Trouver grâce à votre souris les coordonnées où la balle doit se placer à chaque début du programme (normalement au milieu de la scène) et notez le dans le bloc "aller à x: .. y: .." dans la catégorie mouvement.
  • Utiliser le bloc "s'orienter à ...degrés" dans la catégorie mouvement afin de déterminer l'orientation de la balle à chaque commencement du programme.
  • Laisser l'ordinateur choisir la valeur de l'angle de l'orientation  (1 - 360°) en choisissant le bloc "nombre aléatoire entre .... et .... degrés" qui se trouve dans la catégorie opérateurs.

Étape  6 : Déplacer automatiquement la balle

Nous avons commencé les scripts de la balle par son orientation à chaque début du programme. Dans cette section nous allons définir son vitesse ainsi que ses déplacements dans la scène.

Continuer les scripts que nous avons déjà commencé dans l'étape précédente avec ces nouveaux instructions:

  • Répéter indéfiniment l'action d'avancer de ... la balle  (ici nous avons choisi son vitesse à 5).
  • Si le bord de la scène est atteint, fais rebondir la balle.

Étape  7 : Quand la balle touche la raquette

Toujours dans le code de la balle, nous allons le continuer quand elle touche à une des raquettes (ici nous avons utilisé le nom baton_1 et baton_2 pour les raquettes).

  • La condition si ... alors est utilisée pour définir l'angle de l'orientation après le contact de la balle avec une des raquettes qui est à 360° moins son direction.
  • Trouver le bloc du 360° ... dans la catégorie opérateurs, et direction dans mouvement.
  • Trouver le baton_1/baton_2 touché? dans la catégorie capteur.
  • Revenir dans mouvement pour récupérer le bloc s'orienter à .. degres.
  • Tous ces scripts devraient être entrer dans le boucle répéter indéfiniment que nous avons déjà mentionné les étapes précédentes.

Étape  8 : Modifier l'arrière plans

Nous allons améliorer notre travail, nous allons d'abord modifier notre arrière-plans. Nous allons tracer deux lignes horizontales de différentes couleurs dans les  2 côtés: gauches et droites de l'arrière plans, comme présenté dans l'illustration. Ces 2 lignes nous permettent après de savoir le joueur gagnant et perdant que nous allons voir ensemble dans l’étape suivante.  Autrement dit, celui qui arrive à toucher la ligne derrière son adversaire gagne la partie.

Nous allons procéder comme suit:

  • Cliquer la scène à coté des lutins (numéro -1)
  • Cliquer ensuite l'onglet "arrière-plans" à coté du "instructions" (numéro -2)
  • Tracer maintenant les 2 lignes de différentes couleurs sur l'arrière plans (numéro -3 et numéro -4).

Étape  9 : Terminer le code de la balle

Nous allons revenir dans le code  de la balle après avoir modifier notre arrière plans. Ne change pas les scripts, nous allons continuer celui que nous avons déjà commencé.

  • Activer la balle en cliquant dessus.
  • Revenir dans l'onglet instructions.
  • Mettre une condition si...alors pour définir si la balle touche la couleur "noir" (utilisé le bloc couleur touché?), le joueur 2 gagne.
  • Par contre si elle touche la couleur "violet" (utilisé le bloc couleur touché?) est touchée le joueur 1 gagne.
  • Trouver le bloc couleur touché? dans la catégorie capteur.
  • N'oubliez pas d'ajouter des bulles de conversations catégorisé dans l'apparence pour afficher  la visibilité du gagnant.
  • Arrêter le programme en utilisant le bloc stop tout dès la fin de la partie.
  • Tous ces instructions devraient être tous dans le répéter indéfiniment que nous avons déjà utilisé.