Reacciona!
Com estàs de reflexos? Comprovem-ho fent un joc … o un test psicotècnic:
Quan s'encengui el LED, prem el botó el més ràpid possible per apagar-lo. A la consola de l'entorn de programació es mostrarà el teu temps de reacció.
Funcionament del programa
- Un cop iniciada l'execució, el LED s'encendrà després d'un temps aleatori (per evitar la predicció).
- En encendre's el LED, s'iniciarà un temporitzador i el programa quedarà a l'espera que es premi el botó.
- En prémer el botó s'apagarà el LED, s'aturarà el temporitzador, i es calcularà i es mostrarà el temps de reacció.
Anem per parts
L'encesa del LED
Un cop iniciada l'execució, el LED s'ha d'encendre després d'un temps aleatori (per evitar la predicció):
Un cop encès el LED, el programa ha de quedar en standby fins que es premi el botó.
Quan això passi, s'apagarà el LED:
El temporitzador
Pensem:
En el nostre programa, en quin moment s'ha de posar en marxa el temporitzador? En quin moment s'ha d'aturar?
Com podem mostrar a la consola el temps de reacció?
![]() |
Cal tenir present afegir un missatge inicial d'obertura del port sèrie: ![]() Necessites ajuda per construir el programa? |
Desenvolupem-ho
Indicador visual de velocitat de reacció
Donat que la mitjana de velocitat visual és 215 ms, podem comparar el nostre temps de reacció amb aquest temps de referència, definint-lo com valor d'una variable. El valor d'aquesta variable s'haurà d'establir a l'inici del programa:
Un cop calculat el temps de reacció, es tracta de comparar-lo amb el temps de referència i definir una acció o altra segons si el temps de reacció ha estat major o menor que el temps de referència. Per exemple, que el missatge a mostrar a la consola sigui diferent en cada cas:
Control de dificultat
Es tracta que en iniciar-se el programa el jugador pugui escollir el nivell de dificultat, establint el temps de referència segons es premi un o altre botó:
![]() Necessites ajuda per construir el programa? |
El bucle mientras manté l'execució en standby fins que es premi un dels dos botons. Aquest nou comportament s'ha desenvolupat en una nova funció: ![]() |