Jeu#

Dans cette partie, vous allez programmer un jeu pas à pas.

Le but du jeu est d'atteindre un emplacement donné en partant du centre de l'écran du micro:bit. Les déplacements s'effectuent au moyen de l'accéléromètre, comme si vous aviez une boule en équilibre sur l'écran.

Accéléromètre#

Le programme affiche ce que les fonctions accelerometer.get_x() et accelerometer.get_x() renvoient. Essayez de comprendre comment cela fonctionne en inclinant le microbit doucement dans différentes directions.
Quelles sont les valeurs de x et y quand vous penchez à droite?
Quelles sont les valeurs de x et y quand vous penchez à gauche?
Quelles sont les valeurs de x et y quand vous penchez vers l'avant?
Quelles sont les valeurs de x et y quand vous penchez vers l'arrière?

from microbit import *

while True:
  print("x =", accelerometer.get_x(), "y =", accelerometer.get_y())
  sleep(1000)

Fonctionnalités de base#

  1. Le jeu contient quatre variables globales

    x: première coordonnée de la position du joueur. Au début du jeu, le joueur se trouve au centre de l'écran.

    y: deuxième coordonnée de la position du joueur. Au début du jeu, le joueur se trouve au centre de l'écran.

    but_x: première coordonnée de la position du but à atteindre. Elle est déterminée aléatoirement.

    but_y: deuxième coordonnée de la position du but à atteindre. Elle est déterminée aléatoirement.

    Déclarez et initialisez les quatres variables. Affichez la position du joueur avec une intensité maximale et la position du but à atteindre avec une intensité faible (par exemple 5).

  2. En utilisant une boucle while True, faites en sorte que lorsque vous inclinez le micro:bit dans une direction, le pixel se déplace aussi dans cette direction.

    Utilisez les valeurs de accelerometer.get_x() et accelerometer.get_y().

  3. Après le déplacement, testez

    • si le pixel est sorti des dimensions de l'écran. Dans ce cas, la manche est perdue.

    • si le pixel est arrivé au but. Dans ce cas, la manche est gagnée.

    Affichez une image différente pour chacun de ces cas (et ajouter une musique).

  4. Afin de pouvoir effectuer plusieurs manches à la suite, créez une fonction nouvelle_manche() qui va réinitiliser les valeurs des variables (positions de l'utilisateur et du but)

  5. Ajoutez un score. Pour gagner une partie, il faut obtenir un score de 3. Chaque manche réussie rapporte un point. Une manche perdue remet le score à zéro.

Programmation du jeu#

Tout le jeu sera programmé dans cet éditeur. Pensez à tester chaque nouvelle fonctionnalité avec plusieurs situations différentes.

from microbit import *

# écrivez le programme ici

Améliorations#

  1. Quand l'utilisateur appuye sur le bouton A, la partie est mise en pause. Pour reprendre la partie, il faut appuyer sur le bouton B.

  2. À chaque nouvelle partie, la vitesse de déplacement doit augmenter.

  3. Trouvez vos propres améliorations ou variantes.

from microbit import *

# écrivez le programme ici

Nouveau jeu#

Imaginez votre propre jeu.

from microbit import *

# écrivez le programme ici