Au cours de cette séance, nous avons créé un petit jeu de réflexe. Le but de cet exercice était de
combiner l'utilisation d'une LED et de boutons.
Le principe est simple : dés le lancement du programme, la LED va s'allumer pendant un temps aléatoire,
une fois que la LED va s'éteindre, les joueurs doivent appuyer sur un bouton. Le joueur le plus
rapide, est le joueur qui a appuyé le premier juste après l'extinction de la LED.
Nous avons modifié aussi le programme pour que la LED soit en mode clignotant.
Les étapes sont les suivantes :
Le code source est le suivant :
# Importation LED
from gpiozero import LED
# Importation BUTTON
from gpiozero import Button
# Importation TEMPS
import time
# Importation ALEATOIRE
import random
# Déclaration des variables
# La LED est branchée sur le GPIO 17
led = LED(17)
# Le bouton 1 (joueur 1) est branché sur le GPIO 21
button_1 = Button(21)
# Le bouton 2 (joueur 2) est branché sur le GPIO 22
button_2 = Button(22)
# Allumer LA LED, pendant un certain temps, la fonction "random" retourne un résultat entre 0.0 et 1.0.
# Du coup, s'il on multiplie par 5.0, nous aurons un temps entre 0.0 et 5.0 secondes.
temps_led = random.random() * 5.0
# Allumer la LED
led.on()
# Attente du temps aléatoire
time.sleep(temps_led)
# Eteindre la LED
led.off()
# Boucle infinie
while True:
# Surveiller les BOUTONS
# Bouton 1 ?
if button_1.is_pressed:
# Affichage du gagnant
print("Joueur 1 gagne !")
# Arrêt de la boucle infinie
break
# Bouton 2 ?
if button_2.is_pressed:
# Affichage du gagnant
print("Joueur 2 gagne !")
# Arrêt de la boucle infinie
break