Ignorer la navigation

Etape 9 - 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

Mode opératoire :

Niveau Expert

1- Mettre au point le programme du jeu Flappy Bird (voir description ci-dessous) :

Au collège, visionner la vidéo depuis T/travail/TechnologiePC/4eme/Activité 6-1/Flappy.mp4

Flappy est matérialisé par une LED clignotantes qui se déplace uniquement sur la colonne 0 (déplacement vers le haut par appui sur le bouton A et déplacement vers le bas par appui sur le bouton B).

L'appui simultané sur les bouton A et B démarre la partie.

Les obstacles sont matérialisées par 4 leds allumées d'une colonne de la matrice (luminosité réduite à la valeur 50). Le trou est matérialisé par la cinquième led qui est éteinte et dont la position est choisie aléatoirement lors de la première apparition du mur sur la colonne 4 de la matrice. Les 4 leds allumées se déplacent de la droite vers la gauche (de la colonne 4 vers la colonne 0 - la led éteinte ne bouge pas). La vitesse de déplacement de l'obstacle est définie par une pause de 500 ms entre deux colonnes.

Si l'obstacle ne touche pas Flappy au niveau de la colonne0, le score s'incrémente (+1).

Si l'obstacle touche Flappy, la partie est terminée et le score est affiché.

Si le score est supérieur à 10, la vitesse de déplacement de l'obstacle est accélérée (pause entre deux colonnes = 300 ms).

L'obstacle est composé de 5 briques (brique0 (brique de la ligne0), brique1 (brique de la ligne1), brique2 (brique de la ligne2), brique3 (brique de la ligne3), brique4 (brique de la ligne4)).

Flappy et chaque brique des obstacles sont programmés avec des lutins (sprites - catégorie )

Coordonnées des LEDs de la matrice

Algorithme

Au démarrage

Initialiser les variables et créer le sprite Flappy clignotant

Fin démarrage

  

Lorsque les boutons A et B sont pressés simultanément

Mettre à 1 une variable signalant l'ordre départ du jeu

Fin lorsque

   

Lorsque le bouton A est pressé

Déplacer Flappy d'une case vers le haut

Fin lorsque

   

Lorsque le bouton B est pressé

Déplacer Flappy d'une case vers le bas

Fin lorsque

    

Toujours faire

Tant que l'ordre de départ est signalé

Choisir aléatoirement la ligne où se trouve le trou de l'obstacle

Créer les sprites de l'obstacle brique0 à 4 avec une luminosité réglée à la valeur 50

Régler la luminosité à 0 du sprite brique0 à 4 correspondant à la ligne choisie où se trouve le trou

accélérer le déplacement du mur si le score est supérieur à 10

Déplacer 4 fois les 4 briques du mur (pas la brique éteinte) d'une case vers la gauche (faire une pause entre chaque déplacement)

Arrêt du jeu Si Flappy touche une brique de l'obstacle

Augmenter le score de +1 et supprimer les briques de l'obstacle

2- Faire une démonstration du bon fonctionnement au Professeur sur le simulateur.

3- Insérer une photo du programme bloc dans votre document élève "Activité 61 - 4emeYilotZ" (impression écran > ctrl+V > recadrer).

4- Télécharger le programme dans la carte micro:bit et l'essayer en réel.

Niveau intermédiaire

1- Mettre au point, en utilisant les blocs donnés ci-dessous, le programme du jeu Flappy Bird (voir description ci-dessous) :

Flappy est matérialisé par une LED clignotantes qui se déplace uniquement sur la colonne 0 (déplacement vers le haut par appui sur le bouton A et déplacement vers le bas par appui sur le bouton B).

L'appui simultané sur les bouton A et B démarre la partie.

Les obstacles sont matérialisées par 4 leds allumées d'une colonne de la matrice (luminosité réduite à la valeur 50). Le trou est matérialisé par la cinquième led qui est éteinte et dont la position est choisie aléatoirement lors de la première apparition du mur sur la colonne 4 de la matrice. Les 4 leds allumées se déplacent de la droite vers la gauche (de la colonne 4 vers la colonne 0 - la led éteinte ne bouge pas). La vitesse de déplacement de l'obstacle est définie par une pause de 500 ms entre deux colonnes.

Si l'obstacle ne touche pas Flappy au niveau de la colonne0, le score s'incrémente (+1).

Si l'obstacle touche Flappy, la partie est terminée et le score est affiché.

Si le score est supérieur à 10, la vitesse de déplacement de l'obstacle est accélérée (pause entre deux colonnes = 300 ms).

L'obstacle est composé de 5 briques (brique0 (brique de la ligne0), brique1 (brique de la ligne1), brique2 (brique de la ligne2), brique3 (brique de la ligne3), brique4 (brique de la ligne4)).

Flappy et chaque brique des obstacles sont programmés avec des lutins (sprites - catégorie )

Coordonnées des LEDs de la matrice

2- Faire une démonstration du bon fonctionnement au Professeur sur le simulateur.

3- Insérer une photo du programme bloc dans votre document élève "Activité 61 - 4emeYilotZ" (impression écran > ctrl+V > recadrer).

4- Télécharger le programme dans la carte micro:bit et l'essayer en réel.

Niveau débutant

1- Mettre au point, à partir de l'algorithme donné ci-dessous, le programme d'un jeu où le joueur doit éviter des bombes qui tombent du ciel (voir description ci-dessous) :

Flappy est matérialisé par une LED clignotantes qui se déplace uniquement sur la colonne 0 (déplacement vers le haut par appui sur le bouton A et déplacement vers le bas par appui sur le bouton B).

L'appui simultané sur les bouton A et B démarre la partie.

Les obstacles sont matérialisées par 4 leds allumées d'une colonne de la matrice (luminosité réduite à la valeur 50). Le trou est matérialisé par la cinquième led qui est éteinte et dont la position est choisie aléatoirement lors de la première apparition du mur sur la colonne 4 de la matrice. Les 4 leds allumées se déplacent de la droite vers la gauche (de la colonne 4 vers la colonne 0 - la led éteinte ne bouge pas). La vitesse de déplacement de l'obstacle est définie par une pause de 500 ms entre deux colonnes.

Si l'obstacle ne touche pas Flappy au niveau de la colonne0, le score s'incrémente (+1).

Si l'obstacle touche Flappy, la partie est terminée et le score est affiché.

Si le score est supérieur à 10, la vitesse de déplacement de l'obstacle est accélérée (pause entre deux colonnes = 300 ms).

L'obstacle est composé de 5 briques (brique0 (brique de la ligne0), brique1 (brique de la ligne1), brique2 (brique de la ligne2), brique3 (brique de la ligne3), brique4 (brique de la ligne4)).

Flappy et chaque brique des obstacles sont programmés avec des lutins (sprites - catégorie )

Coordonnées des LEDs de la matrice

Au démarrage

Stocker dans la variable Flappy, de type sprite, les coordoné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 les boutons A et B sont pressés simultanément

Stocker dans la variable Départ la valeur 1

Fin lorsque

   

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

    

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 coordonées x = 4 et y = 0 (colonne 4, ligne 0)

Régler la luminosité du sprite brique0 à la valeur 50

Stocker dans la variable brique1, de type sprite, les coordonées x = 4 et y = 1 (colonne 4, ligne 1)

Régler la luminosité du sprite brique1 à la valeur 50

Stocker dans la variable brique2, de type sprite, les coordonées x = 4 et y = 2 (colonne 4, ligne 2)

Régler la luminosité du sprite brique2 à la valeur 50

Stocker dans la variable brique3, de type sprite, les coordonées x = 4 et y = 3 (colonne 4, ligne 3)

Régler la luminosité du sprite brique3 à la valeur 50

Stocker dans la variable brique4, de type sprite, les coordonées x = 4 et y = 4 (colonne 4, ligne 4)

Régler la luminosité du sprite brique4 à la valeur 50

Si la variable trou est égale à 0 (colonne 0) alors

Régler la luminosité du sprite brique0 à la valeur 0

Sinon    Si la variable trou est égale à 1 (colonne 1) alors

Régler la luminosité du sprite brique1 à la valeur 0

 Sinon  Si la variable trou est égale à 2 (colonne 2) alors

Régler la luminosité du sprite brique2 à la valeur 0

Sinon   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 brique4 à la valeur 0

Fin Si

Si la variable score est supérieure à 10 alors

Stocker dans la variable vitesse la valeur 300

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 égale à 0 (colonne 0) alors

Modifier la valeur de la coordonnée X du sprite brique1 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique2 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique3 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique4 de la quantité -1

Sinon    Si la variable trou est égale à 1 (colonne 1) alors

Modifier la valeur de la coordonnée X du sprite brique0 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique2 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique3 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique4 de la quantité -1

 Sinon  Si la variable trou est égale à 2 (colonne 2) alors

Modifier la valeur de la coordonnée X du sprite brique0 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique1 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique3 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique4 de la quantité -1

Sinon   Si la variable trou est égale à 3 (colonne 3) alors

Modifier la valeur de la coordonnée X du sprite brique0 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique1 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique2 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique4 de la quantité -1

 Sinon   Modifier la valeur de la coordonnée X du sprite brique0 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique1 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique2 de la quantité -1

Modifier la valeur de la coordonnée X du sprite brique3 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

2- Faire une démonstration du bon fonctionnement au Professeur sur le simulateur.

3- Insérer une photo du programme bloc dans votre document élève "Activité 61 - 4emeYilotZ" (impression écran > ctrl+V > recadrer).

4- Télécharger le programme dans la carte micro:bit et l'essayer en réel.

Bonus rapidité

Le Rapporteur de votre îlot doit prévenir le professeur que vous avez terminé l'étape 89.