S'il reste du temps - Défi programmation n°6
En îlot
Les questions ci-dessous doivent obligatoirement être réalisées sur les deux ordinateurs de l'îlot. Manipulations raisonnées sous la responsabilité de l'élève gestionnaire. Ne pas utiliser les blocs de la version V2 de la carte micro:bit. |
OBJECTIF : réaliser un jeu "Flappy Bird". Au collège, visionner la vidéo depuis T/travail/TechnologiePC/4eme/Activité 7-1/Flappy.mp4
|
Principe :
Etape 1 : créer Flappy
1- Créer le programme dans l'interface de programmation en ligne correspondant à l'algorithme ci-dessous (créer Flappy au milieu de la colonne de gauche) :
2- Observer le résultat sur le simulateur. |
Etape 2 : déplacer Flappy vers le haut
3- Ajouter au programme de l'étape précédente les modifications données ci-dessous (sur fond de couleur) :
Au démarrage Stocker dans la variable Flappy, de type sprite, les coordonnées x = 0 et y = 2 (colonne 0, ligne 2) Régler le clignotement du sprite Flappy à 300 Fin démarrage |
|
Lorsque le bouton A est pressé Modifier la coordonnée Y du sprite Flappy de la quantité -1 (d'une ligne vers le haut) Fin lorsque |
4- Observer le résultat sur le simulateur.
Etape 3 : déplacer Flappy vers le bas
5- Ajouter au programme de l'étape précédente les modifications données ci-dessous (sur fond de couleur) :
Au démarrage Stocker dans la variable Flappy, de type sprite, les coordonnées x = 0 et y = 2 (colonne 0, ligne 2) Régler le clignotement du sprite Flappy à 300 Fin démarrage
Lorsque le bouton A est pressé Modifier la coordonnée Y du sprite Flappy de la quantité -1 (d'une ligne vers le haut) Fin lorsque
|
|
Lorsque le bouton B est pressé Modifier la coordonnée Y du sprite Flappy de la quantité +1 (d'une ligne vers le bas) Fin lorsque |
Etape 4 : départ du jeu et création du mur sur la colonne de droite avec choix aléatoire de la position du trou
7- Ajouter au programme de l'étape précédente les modifications données ci-dessous (sur fond de couleur) :
8- Observer le résultat sur le simulateur.
Etape 5 : déplacer le mur à vitesse lente vers la gauche jusqu'à atteindre la colonne 0
9- Ajouter au programme de l'étape précédente les modifications données ci-dessous (sur fond de couleur) :
10- Observer le résultat sur le simulateur.
Etape 6 : supprimer le mur une fois qu'il est arrivé au niveau de la colonne 0
11- Ajouter au programme de l'étape précédente les modifications données ci-dessous (sur fond de couleur) :
Au démarrage Stocker dans la variable Flappy, de type sprite, les coordonnées x = 0 et y = 2 (colonne 0, ligne 2) Régler le clignotement du sprite Flappy à 300 Stocker dans la variable Départ la valeur 0 Stocker dans la variable vitesse la valeur 500 |
|
Fin démarrage
Lorsque le bouton A est pressé Modifier la coordonnée Y du sprite Flappy de la quantité -1 (d'une ligne vers le haut) Fin lorsque
Lorsque le bouton B est pressé Modifier la coordonnée Y du sprite Flappy de la quantité +1 (d'une ligne vers le bas) Fin lorsque
Lorsque les boutons A et B sont pressés simultanément Stocker dans la variable Départ la valeur 1 Fin lorsque Toujours faire Tant que la variable Départ est égale à 1 faire Stocker dans la variable trou un nombre choisi au hasard entre 0 et 4 Stocker dans la variable brique0, de type sprite, les coordonnées x = 4 et y = 0 (colonne 4, ligne 0) Si la variable trou est égale à 0 (colonne 0) alors Régler la luminosité du sprite brique0 à la valeur 0 Sinon Régler la luminosité du sprite brique0 à la valeur 50 Fin Si Stocker dans la variable brique1, de type sprite, les coordonnées x = 4 et y = 1 (colonne 4, ligne 1) Si la variable trou est égale à 1 (colonne 1) alors Régler la luminosité du sprite brique1 à la valeur 0 Sinon Régler la luminosité du sprite brique1 à la valeur 50 Fin Si Stocker dans la variable brique2, de type sprite, les coordonnées x = 4 et y = 2 (colonne 4, ligne 2) Si la variable trou est égale à 2 (colonne 2) alors Régler la luminosité du sprite brique2 à la valeur 0 Sinon Régler la luminosité du sprite brique2 à la valeur 50 Fin Si Stocker dans la variable brique3, de type sprite, les coordonnées x = 4 et y = 3 (colonne 4, ligne 3) Si la variable trou est égale à 3 (colonne 3) alors Régler la luminosité du sprite brique3 à la valeur 0 Sinon Régler la luminosité du sprite brique3 à la valeur 50 Fin Si Stocker dans la variable brique4, de type sprite, les coordonnées x = 4 et y = 4 (colonne 4, ligne 4) Si la variable trou est égale à 4 (colonne 4) alors Régler la luminosité du sprite brique4 à la valeur 0 Sinon Régler la luminosité du sprite brique4 à la valeur 50 Fin Si Faire une pause d'une durée définie par la valeur contenue dans la variable vitesse Répéter 4 fois Si la variable trou est différente de 0 (colonne 0) alors Modifier la valeur de la coordonnée X du sprite brique0 de la quantité -1 Fin Si Si la variable trou est différente de 1 (colonne 1) alors Modifier la valeur de la coordonnée X du sprite brique1 de la quantité -1 Fin Si Si la variable trou est différente de 2 (colonne 2) alors Modifier la valeur de la coordonnée X du sprite brique2 de la quantité -1 Fin Si Si la variable trou est différente de 3 (colonne 3) alors Modifier la valeur de la coordonnée X du sprite brique3 de la quantité -1 Fin Si Si la variable trou est différente de 4 (colonne 4) alors Modifier la valeur de la coordonnée X du sprite brique4 de la quantité -1 Fin Si Faire une pause d'une durée définie par la valeur contenue dans la variable vitesse Fin Répéter |
|
Supprimer le sprite brique0 (effacer) Supprimer le sprite brique1 (effacer) Supprimer le sprite brique2 (effacer) Supprimer le sprite brique3 (effacer) Supprimer le sprite brique4 (effacer) |
|
Fin Tant que Fin Toujours |
12- Observer le résultat sur le simulateur.
Etape 7 : incrémenter le score à chaque mur franchi par Flappy et fin du jeu si Flappy touche le mur
13- Ajouter au programme de l'étape précédente les modifications données ci-dessous (sur fond de couleur) :
14- Observer le résultat sur le simulateur.
Etape 8 : accélérer le déplacement du mur si le score est supérieur à 10
15- Ajouter au programme de l'étape précédente les modifications données ci-dessous (sur fond de couleur) :
Au démarrage Stocker dans la variable Flappy, de type sprite, les coordonnées x = 0 et y = 2 (colonne 0, ligne 2) Régler le clignotement du sprite Flappy à 300 Stocker dans la variable Départ la valeur 0 Stocker dans la variable vitesse la valeur 500 |
|
Fin démarrage
Lorsque le bouton A est pressé Modifier la coordonnée Y du sprite Flappy de la quantité -1 (d'une ligne vers le haut) Fin lorsque
Lorsque le bouton B est pressé Modifier la coordonnée Y du sprite Flappy de la quantité +1 (d'une ligne vers le bas) Fin lorsque
Lorsque les boutons A et B sont pressés simultanément Stocker dans la variable Départ la valeur 1 Fin lorsque Toujours faire Tant que la variable Départ est égale à 1 faire Stocker dans la variable trou un nombre choisi au hasard entre 0 et 4 Stocker dans la variable brique0, de type sprite, les coordonnées x = 4 et y = 0 (colonne 4, ligne 0) Si la variable trou est égale à 0 (colonne 0) alors Régler la luminosité du sprite brique0 à la valeur 0 Sinon Régler la luminosité du sprite brique0 à la valeur 50 Fin Si Stocker dans la variable brique1, de type sprite, les coordonnées x = 4 et y = 1 (colonne 4, ligne 1) Si la variable trou est égale à 1 (colonne 1) alors Régler la luminosité du sprite brique1 à la valeur 0 Sinon Régler la luminosité du sprite brique1 à la valeur 50 Fin Si Stocker dans la variable brique2, de type sprite, les coordonnées x = 4 et y = 2 (colonne 4, ligne 2) Si la variable trou est égale à 2 (colonne 2) alors Régler la luminosité du sprite brique2 à la valeur 0 Sinon Régler la luminosité du sprite brique2 à la valeur 50 Fin Si Stocker dans la variable brique3, de type sprite, les coordonnées x = 4 et y = 3 (colonne 4, ligne 3) Si la variable trou est égale à 3 (colonne 3) alors Régler la luminosité du sprite brique3 à la valeur 0 Sinon Régler la luminosité du sprite brique3 à la valeur 50 Fin Si Stocker dans la variable brique4, de type sprite, les coordonnées x = 4 et y = 4 (colonne 4, ligne 4) Si la variable trou est égale à 4 (colonne 4) alors Régler la luminosité du sprite brique4 à la valeur 0 Sinon Régler la luminosité du sprite brique4 à la valeur 50 Fin Si |
|
Si la variable score est supérieure à 10 alors
Fin Si |
|
Faire une pause d'une durée définie par la valeur contenue dans la variable vitesse Répéter 4 fois Si la variable trou est différente de 0 (colonne 0) alors Modifier la valeur de la coordonnée X du sprite brique0 de la quantité -1 Fin Si Si la variable trou est différente de 1 (colonne 1) alors Modifier la valeur de la coordonnée X du sprite brique1 de la quantité -1 Fin Si Si la variable trou est différente de 2 (colonne 2) alors Modifier la valeur de la coordonnée X du sprite brique2 de la quantité -1 Fin Si Si la variable trou est différente de 3 (colonne 3) alors Modifier la valeur de la coordonnée X du sprite brique3 de la quantité -1 Fin Si Si la variable trou est différente de 4 (colonne 4) alors Modifier la valeur de la coordonnée X du sprite brique4 de la quantité -1 Fin Si Faire une pause d'une durée définie par la valeur contenue dans la variable vitesse Fin Répéter Si le sprite Flappy touche le sprite brique0 OU le sprite Flappy touche le sprite brique1 OU le sprite Flappy touche le sprite brique2 OU le sprite Flappy touche le sprite brique3 OU le sprite Flappy touche le sprite brique4 alors Fin du jeu (Game Over + affichage du score) Fin Si Supprimer le sprite brique0 (effacer) Supprimer le sprite brique1 (effacer) Supprimer le sprite brique2 (effacer) Supprimer le sprite brique3 (effacer) Supprimer le sprite brique4 (effacer) Stocker dans la variable score le résultat de la somme variable score + 1 |
|
Fin Tant que Fin Toujours |
16- Observer le résultat sur le simulateur.
17- Faire une démonstration du bon fonctionnement au Professeur sur le simulateur.
18- Insérer une photo du programme bloc dans votre document élève "Activité 71 - 4emeYilotZ" (impression écran > ctrl+V > recadrer). 19- Télécharger le programme dans la carte micro:bit et l'essayer en réel. |
|