peit jeu micro:bit

Projet: Petit jeu microbit, « Attrape la led »

Cahier des charges:              

Une led bouge selon le mouvement de la carte.

  • -Lorsque la carte est penchée en avant, faire se déplacer le point vers le haut.
  • -Lorsque la carte est penchée en arrière, faire se déplacer le point vers le bas.       
  • -Lorsque la carte est penchée vers la gauche, faire se déplacer le point vers la gauche.
  • -Lorsque la carte est penchée vers la droite, faire se déplacer le point vers la droite.

     Allumer une autre led « objectif » aléatoire qui ne bouge pas.

  • Lorsque le point touche le point d’objectif, jouer un son de victoire et montrer une image clignotante, puis replacer le point d’objectif aléatoirement pour que le jeu continue.

Voici le code avec explications:

from microbit import *
import random
import music

#définit les abscisses et ordonnées des 2 pixels au début
x=1
y=1
v=(random.randint(0, 4))
w=(random.randint(0, 4))
display.set_pixel(v,w,9)

while True:
#définit comment le point va se déplacer selon les mvt de la carte avec l'accéléromètre 
    accX=accelerometer.get_x()
    accY=accelerometer.get_y()
    if accX > 100 and x<4:
        x += 1
    elif accX < 100 and x>0:
        x -= 1
    elif accY > 100 and y<4:
        y += 1
    elif accY < 100 and y>0:
        y -= 1
    display.clear()
#place le point objectif
    display.set_pixel(x,y,9)
    display.set_pixel(v,w,9)
    sleep(100)
    
#lorsque le point touche le point objectif:
    if x==v and y==w:
#jouer un son se victoire
        music.play(music.POWER_UP)
#la luminosité des leds passe de 9 et baisse jusqu'à 0
        flash = [Image().invert()*(i/9) for i in range(9, -1, -1)]
#montrer 2 images de flash
        display.show(flash, delay=35)
        display.show(flash, delay=35)
        sleep(100)
#replacer un nouveau point d'objectif aléatoirement
        v=(random.randint(0, 4))
        w=(random.randint(0, 4))

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *