Modifications

Sauter à la navigation Sauter à la recherche
Ligne 558 : Ligne 558 :  
{{traduction}}
 
{{traduction}}
   −
Now that you've explored most of the features of the Sense HAT, you could combine them to create a project. Here's an example reaction testing game, which could be used by the astronauts to test their reflexes.
+
Maintenant que vous avez exploré les possibilités du Sense Hat, vous pourriez les combiner pour créer des projets. Voici un exemple de jeu testant la réaction humaine, jeu qui pourrait être utilisé par des astronautes pour tester leurs réflexes.
   −
The game will display an arrow on the LED matrix and select a random orientation for it. The player must rotate the board to match the arrow. If they match it in time the arrow turns green and their score increases; if not their arrow turns red and the game ends, telling them their score. The game keeps showing arrows in new orientations until the player loses, and each turn gets faster.
+
Le jeu affiche une flèche sur la matrice LED en choisissant une orientation au hasard. Le joueur doit tourner la carte pour garder la flèche vers le haut. S'il le fait dans le temps imparti, la flèche devient verte et le score augmente; dans le cas contraire, la flèche devient rouge et le jeu est terminé. Le jeu continue d'afficher des flèches dans des directions aléatoires jusqu'au moment où le joueur à perdu, et le jeu va de plus en plus vite.
   −
This idea combines:
+
Cette idée combine:
* Showing messages and images on the LED matrix
+
* L'affichage de message et images sur la matrice LED.
* Setting and detecting the orientation
+
* Sélection et détection d'une orientation
* Use of variables, randomisation, iteration, and selection
+
* L'utilisation de variables, nombre aléatoire, itération et sélection
   −
As this is more complicated than previous programs it's worth planning out the steps involved in '''pseudocode'''.
+
Il s'agit d'un programme plus compliqué que les exemples précédents, il est donc préférable d'identifier les étapes clés en les décrivant dans un  '''pseudocode'''.
   −
  <nowiki>import the required libraries (sense_hat, time, random)
+
  <nowiki>importer les bibliothèques nécessaires (sense_hat, time, random)
     create a sense object
+
     Créer l'objet ''sense''
   −
     Set up the colours needed
+
     Definir les couleurs nécessaire
     Create 3 different arrows (white, green, red)
+
     Créer 3 flèches différentes: une blanche (''white'' en anglais), verte (''green'' en anglais) et rouge (''red'').
     Set a variable pause to 3 (the initial time between turns)
+
     Initialiser la variable {{fname|pause}} à 3 (Le temps initial entre chaque round)
     Set variables score and angle to 0
+
     Initialiser les variables {{fname|score}} et {{fname|angle}} à 0
     Create a variable called play set to True (this will be used to stop the game later)
+
     Créer une variable {{fname|play}} (signifiant "''jeu''") initialisée à {{fname|True}} (Elle sera utilisé pour arrêter le jeu)
   −
     Begin a loop which continues while play == True
+
     Commencer la boucle {{fname|while}} pour continuer le jeux tant que {{fname|play}} est à True.
     Set a new random angle (use random.choice() method)
+
        {{fname|while play == True}}
     Show the white arrow and sleep for current pause length
+
     Choisir un nouvel angle au hasard (utiliser la méthode {{fname|random.choice()}})
     Check whether orientation matches the arrow
+
     Afficher une fleche blanche et attendre le temps indiqué dans {{fname|pause}}
     ---if it does then add a point and turn the arrow green
+
     Vérifier si l'orientation correspond à la flèche
     ---otherwise set play to False and turn the arrow red
+
     ---Si c'est le cas Alors ajouter un point et passer la flèche en vert.
     Shorten the pause duration slightly
+
     ---Sinon fixer {{fname|play}} à False (pour arrêter le jeu) et afficher une flèche rouge
     Pause before the next arrow
+
     Diminuer un peu le temps de pause
 +
     Faire une pause avant la prochaine flèche.
   −
     When loop is exited, display a message with the score</nowiki>
+
     Lorsque la boucle {{fname|while}} est terminée, afficher un message avec le score</nowiki>
   −
If you turned this into Python it could look like this:
+
Si vous transformez ce pseudo code en Python, vous obtiendrez un code similaire à celui-ci:
    
  <nowiki>from sense_hat import SenseHat
 
  <nowiki>from sense_hat import SenseHat
Ligne 597 : Ligne 598 :  
sense = SenseHat()
 
sense = SenseHat()
   −
# set up the colours (white, green, red, empty)
+
# Initialiser les couleur
   −
w = [150, 150, 150]
+
w = [150, 150, 150] # w = white (blanc)
g = [0, 255, 0]
+
g = [0, 255, 0]     # g = green (vert)
r = [255, 0, 0]
+
r = [255, 0, 0]     # r = red  (rouge)
e = [0, 0, 0]
+
e = [0, 0, 0]       # e = empty (vide... donc noir)
   −
# create images for three different coloured arrows
+
# créer les images de flèche avec 3 couleurs
 +
# différentes
 +
 
 +
# arrow = flèche
    
arrow = [
 
arrow = [
Ligne 616 : Ligne 620 :  
e,e,e,w,w,e,e,e
 
e,e,e,w,w,e,e,e
 
]
 
]
 +
 +
# arrow_red = flèche_rouge
    
arrow_red = [
 
arrow_red = [
Ligne 627 : Ligne 633 :  
e,e,e,r,r,e,e,e
 
e,e,e,r,r,e,e,e
 
]
 
]
 +
 +
# arrow_green = fleche_verte
    
arrow_green = [
 
arrow_green = [
Ligne 644 : Ligne 652 :  
play = True
 
play = True
   −
sense.show_message("Keep the arrow pointing up", scroll_speed=0.05, text_colour=[100,100,100])
+
sense.show_message("Garder la fleche pointee en haut", scroll_speed=0.05, text_colour=[100,100,100])
    
while play:
 
while play:
     last_angle = angle
+
     last_angle = angle # Mémoriser le dernier angle
 
     while angle == last_angle:
 
     while angle == last_angle:
 
         angle = random.choice([0, 90, 180, 270])
 
         angle = random.choice([0, 90, 180, 270])
Ligne 681 : Ligne 689 :  
     time.sleep(0.5)
 
     time.sleep(0.5)
   −
msg = "Your score was %s" % score
+
msg = "Votre score etait de %s" % score
 
sense.show_message(msg, scroll_speed=0.05, text_colour=[100, 100, 100])</nowiki>
 
sense.show_message(msg, scroll_speed=0.05, text_colour=[100, 100, 100])</nowiki>
  
29 917

modifications

Menu de navigation