User manual
94
LED = [23,24,25,8]
for i in LED:
GPIO.setup(i, GPIO.OUT, initial=False)
Les ports GPIO pour les LED sont configurés comme des sorties selon le schéma connu dans une liste LED et
ils sont tous inactivés.
BOUT = [4,17,21,22]
for i in BOUT:
GPIO.setup(i, GPIO.IN)
Suivant le même principe, les ports GPIO sont configurés comme des entrées pour les quatre boutons dans
une liste
BOUT.
Les bases sont ainsi créées et elles définissent encore deux fonctions qui sont nécessaires plusieurs fois dans
le programme.
def LEDallumée(n, z):
GPIO.output(LED[n], True); time.sleep(z)
GPIO.output(LED[n], False); time.sleep(0.15)
La fonction LEDallumée() allume une LED qui éclaire alors pendant un certain temps. La fonction utilise
deux paramètres. Le premier paramètre
n donne le numéro de la LED compris entre 0 et 3, le deuxième
paramètre
z donne le temps pendant lequel la LED doit rester allumée. Après que la LED est éteinte à
nouveau, la fonction attend encore que 0,15 seconde se soit écoulée, pour voir les pauses courtes entre les
allumages des LED en cas d'appels multiples. Cela est particulièrement important lorsqu'une LED est allumée
plusieurs fois à la suite. Autrement, on ne pourrait pas s'en apercevoir.
def Appuyer():
while True:
if(GPIO.input(BOUT[0])):
return 0
if(GPIO.input(BOUT[1])):
return 1
if(GPIO.input(BOUT[2])):
return 2
if(GPIO.input(BOUT[3])):
return 3
La fonction Appuyer() se compose d'une boucle infinie qui attend que l'utilisateur appuie sur un des
boutons. Le numéro du bouton est ensuite transmis au programme principal.
ok = True Après la définition des fonctions, le vrai programme principal démarre et spécifie en premier une
variable
ok sur True. Dès que le joueur fait une erreur, ok passe à False. Si la variable est toujours True
après le nombre de tour prédéfini, le joueur a gagné la partie.
for tour in range(1, rchiffre +1):
Le jeu exécute le nombre de tours fixé dans la variable rzahl. Le compteur de tours est décalé de 1 vers le
haut pour que le jeu commence au tour 1 et non au tour 0.