Projet micro:bit

Notre projet consiste à pouvoir jouer à Shifumi avec un joystick :

Pour cela :

Joystick incliné vers le haut ciseaux

Joystick incliné vers la droite papier

Joystick incliné vers la gauche pierre

Les images pierre, papier et ciseaux s’affichent pendant 5 secondes après que le joueur ait choisi, durant lesquelles il est impossible de changer (pas d’arbitre pour l’instant donc on limite au max la triche 👍).

Nous aurons donc besoin pour réaliser ce projet de cartes micro:bit, et d’un joystick par carte ; le nombre de joueurs est illimité, il faut seulement que chaque joueur ait une carte et son joystick raccordé (et bien sûr qu’il possède le programme pour jouer).

Le bouton « a » sert à compter le score ; il y ajoute 1 lorsqu’on appuie dessus puis le cache au bout de 0.8 seconde.

Le bouton « b » sert à afficher le score ; il l’affiche lorsqu’on appuie dessus et le cache au bout de 1.5 seconde.

Lien du diapo en relation avec notre projet : https://www.canva.com/design/DAEvJ3Vb3tQ/aeXeUnSKPepzUmfevlAMOw/edit

from microbit import*
analogueIn=pin1
analogueIn2=pin2

score=0

PIERRE=Image('00000:''09990:''09990:''09990:''00000')
CISEAUX=Image('99009:''99090:''00900:''99090:''99009')
PAPIER=Image('09990:''09090:''09090:''09090:''09990')
def joystick():
    level=analogueIn.read_analog()
    print(level)
    if level>1000:
        display.show(PAPIER)
        sleep(5000)
        display.clear()
    elif level<20:
        display.show(PIERRE)
        sleep(5000)
        display.clear()
    else:
        level=analogueIn2.read_analog()
        if level>1000:
            display.show(CISEAUX)
            sleep(5000)
            display.clear()

def bouton():
    global score
    if button_a.is_pressed():
        score=score+1
        display.show(score)
        sleep(800)
        display.clear()

    if button_b.is_pressed():
        display.show(score)
        sleep(1500)
        display.clear()
while True:
    joystick()
    bouton()

Une réponse

Laisser un commentaire

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