Il s'agit d'une version simplifiée du jeu Flappy Bird. L'objectif est de diriger un oiseau, qui se déplace continuellement vers le haut ou le bas, pour éviter les obstacles. Si le joueur touche un obstacle, il perd.
Le but de ce didacticiel est d'enseigner les bases des sprites, des tableaux et des boucles de jeu.
Tout d'abord, nous allons ajouter un sprite pour l'oiseau depuis le menu Jeu et le faire clignoter.
Il faudra créer la variable "bird". Le mot bird veut dire oiseau.
Le mot sprite veut dire lutin.
x correspond à l'axe des abscisses et y à l'axe des ordonnées.
bird: game.LedSprite = None
bird = game.create_sprite(0, 2)
bird.set(LedSpriteProperty.BLINK, 300)
Avant de créer le code des actions du jeu, ajoutons d'abord quelques contrôles afin de pouvoir nous déplacer. Nous allons contrôler l'oiseau en appuyant sur le bouton A pour monter ou sur le bouton B pour descendre.
C'est là que les choses commenceront à devenir intéressantes. Nous allons générer aléatoirement des obstacles. Tous les obstacles auront un seul trou pour que l'oiseau puisse voler à travers. Tout d'abord, créez un ensemble d'obstacles qui contiendront tous les sprites (lutins) d'obstacles.
Nous devrons créer une nouvelle variable "obstacles".
obstacles: List[game.LedSprite] = []
Générez maintenant des obstacles verticaux composés de 4 sprites et 1 trou aléatoire. Créez une nouvelle variable appelée "emptyObstacleY". En utilisant le bloc "choisir au hasard", générez un nombre aléatoire de 0 à 4 et stockez-le dans emptyObstacleY. En utilisant la boucle "for", itérez de 0 à 4. Pour chaque coordonnée non égale à "emptyObstacleY", créez et ajoutez des sprites d'obstacle à la fin du tableau d'obstacles.
N'oubliez pas de créer une variable "index"!
Maintenant, à chaque redémarrage de micro:bit, vous devriez voir différents obstacles verticaux générés automatiquement. Avant de continuer, assurez-vous que les obstacles sont générés de manière aléatoire et que l'oiseau monte et descend.
Accéder à chaque obstacle à l'aide d'une boucle "pour l'élément faire" (itérer sur le tableau des obstacles) et diminuer la coordonnée X de l'obstacle de 1. Faire un clic droit sur le bloc valeur et le renommer en obstacle ; puis faites glisser ce bloc d'obstacle au-dessus du sprite dans le bloc de changement x.
Les obstacles doivent se déplacer vers la gauche toutes les secondes.
Faites disparaître les obstacles après avoir atteint le coin le plus à gauche. Itérez sur tous les obstacles, supprimez les sprites d'obstacles où la coordonnée X est égale à 0 et supprimez-les du tableau des obstacles.
Pour le moment, notre code ne génère qu'un seul obstacle vertical. Nous devons mettre le code de génération d'obstacles dans la boucle éternelle afin qu'il continue à générer de plus en plus d'obstacles.
Maintenant, notre écran est plein d'obstacles mobiles. Créez des espaces entre les obstacles générés. Introduisons une variable ticks pour compter le nombre d'itérations effectuées par la boucle pour toujours et n'exécutons la création d'obstacles que si ticks est divisible par 3.
À l'heure actuelle, rien ne se passe lorsque l'oiseau est heurté par un obstacle. Corrigez cela en parcourant le tableau des obstacles et en vérifiant si une coordonnée de sprite d'obstacle est égale à la coordonnée de l'oiseau.
Des exercices Voici quelques fonctionnalités supplémentaires que vous pouvez ajouter au jeu :