a
Tendances
AccueilActualitésComment coder un jeu d’obstacle à la Flappy Bird avec Scratch ?
scratch

Comment coder un jeu d’obstacle à la Flappy Bird avec Scratch ?

FACILE
MOYEN
DIFFICILE
EXPERT
Geek Junior - Le webmag des ados connectés. Apps, jeux vidéos
Qu’est ce qu’il te faut ?

Geek Junior te propose de réaliser un jeu d’obstacles à la manière de Flappy Bird. L’objectif ? Éviter les obstacles qui défilent et marquer le plus de points. Grâce à ce tutoriel tu vas découvrir une technique de scrolling facile et utiliser la fonctionnalité Clone de Scratch pour créer un nombre illimité d’obstacles.

1

Graphisme

Pour ce projet, tu as besoin de deux arrière-plans et quatre sprites :

  • Un arrière-plan Présentation pour afficher les règles du jeu.
  • Un arrière-plan Jeu qui est un fond uni.

TutoScratch 1 2

  • Le sprite joué : un oiseau.
  • Les obstacles qui défilent : deux tuyaux situés en haut et en bas de l’écran.
  • Un sprite Fin : il s’affiche lorsque la partie est terminée.

TutoScratch 03

2

Programme des arrière-plans

Le programme permet de :

1. Afficher l’arrière-plan en fonction de la phase de jeu.
2. Lancer la partie grâce au message Jeu. Ce message est utilisé pour démarrer les programmes des sprites Oiseau et Tuyau 12.
3. Modifier toutes les cinq secondes la vitesse de déplacement des obstacles grâce à la variable Vitesse.

TutoScratch 04

Astuce : La vitesse de déplacement des obstacles est modifiée d’une manière aléatoire grâce au bloc suivant :

TutoScratch 05

Tu peux également utiliser ce bloc pour changer la vitesse aléatoirement dans le temps.

3

Programme Oiseau

Le sprite Oiseau correspond au sprite joué. Lorsque le programme est lancé, il n’est pas encore visible.

TutoScratch 06

Situé au centre de la scène (x :0 ; y :0), le joueur déplace l’oiseau vers le haut ou vers le bas grâce à la touche Espace.

  • Si Espace est appuyée : la valeur de l’ordonnée (y) est incrémentée (ajouter 5 à y) et l’oiseau monte.
  • Si Espace est relâchée : la valeur de l’ordonnée (y) est décrémentée (ajouter -5 à y) l’oiseau descend.

TutoScratch 07

 

Dans un programme Incrémenter signifie augmenter une valeur et Décrémenter signifie diminuer une valeur.

 

  • Si l’oiseau touche les obstacles (sprites Tuyau 1 – 2), la partie s’achève avec l’envoi du message Fin.

TutoScratch 08

Voici l’intégralité du programme !

TutoScratch 09

4

Programme Tuyau 1 et Tuyau 2

Le programme de ces deux sprites est identique. Comme pour le sprite Oiseau, quand le programme est lancé, ils ne sont pas encore visibles sur la scène.

TutoScratch 10

Pour l’instant ce projet ne comporte que deux obstacles représentés par les deux tuyaux. Pour augmenter le nombre d’obstacles, nous allons utiliser la fonctionnalité Clone. Ces deux programmes, presque identiques, sont utilisés pour définir et lancer la création d’un clone pour le sprite Tuyau 1 et pour le sprite Tuyau 2 (avec un décalage de 5 secondes).

TutoScratch 13

Lorsque les tuyaux apparaissent, la valeur de leur abscisse (x) doit être supérieure à 240 afin qu’ils soient positionnés à l’extrême droite de la scène. Pour varier la hauteur des tuyaux, leur ordonnée (y) est modifiée d’une manière aléatoire.

  • Le tuyau 1 est situé sur le bas de la scène : entre 0 et -60

TutoScratch 14

  • Le tuyau 2 sur la partie haute : entre 0 et 60.

TutoScratch 15

 

TutoScratch 16a

Remarque : La scène de Scratch correspond à un repère orthonormé ayant pour coordonnées :

TutoScratch 17

 

 

 

.abscisses (x) = coordonnées comprises entre -240 et 240
.ordonnées (y) = coordonnées comprises entre -180 et 180

 

 

 

 

Toutes les coordonnées indiquées dans ce tutoriel doivent être adaptées à ton graphisme. Pour chaque sprite, tu trouveras leurs coordonnées en temps réel dans la fenêtre. À toi de faire des tests pour trouver les valeurs les mieux adaptées à ton projet.

TutoScratch 18

Le programme des clones est identique pour les deux sprites.

1. Chaque clone créé se déplace de la droite (x=260) vers la gauche de la scène (x=-260) pour créer un effet de scrolling.
2. Le temps de déplacement est géré par la variable Vitesse. La vitesse de déplacement des obstacles change pendant la partie, ce qui permet de complexifier le jeu.
3. Lorsque le clone a atteint l’extrémité gauche de la scène, il disparait.
4. La variable Score qui permet de comptabiliser le nombre d’obstacles évités par le joueur est incrémentée de 1.
5. Le clone créé est supprimé.

TutoScratch 19

Cette pile de blocs est utilisée pour arrêter le programme de ces sprites lorsque le joueur a touché un obstacle.

TutoScratch 20

5

Programme Fin

TutoScratch 21

Ce sprite apparait sur la scène lorsque la partie est terminée, c’est-à-dire lorsque le joueur a touché un obstacle. Son programme permet :

1. D’initialiser la variable Score qui est cachée pendant toute la partie.
2. D’afficher la variable Score en même temps que le sprite Fin lorsque la partie est terminée.

TutoScratch 24

Le Mag Geek Junior
11 numéros par an
par abonnement et chez ton marchand de journaux

Geek Junior est l’ unique magazine d’ éducation numérique pour les collégiens

Geek Junior © Tous droits réservés 2015 - 2025 - Édité par Geek Junior SAS - N° de CPPAP 0621W93953. Marque déposée - Made in Gaillac (Tarn)