Journal TapTempo en langage Linotte

Posté par (site web personnel) . Licence CC By‐SA.
Étiquettes :
24
9
mar.
2018

Bonjour,
Bah oui, il fallait bien une variante de TapTempo en langage Linotte quand même ! Pour réaliser cette exemple, j'ai un peu triché. J'ai modifié le moteur du langage pour y ajouter la méthode taille() à un casier (une liste). Cela permet d'alléger le code.

J'ai ajouté quelques commentaires pour expliquer certaines commandes.

 /*
 Version originale : http://linuxfr.org/users/mzf/journaux/un-tap-tempo-en-ligne-de-commande
 Comptatible à partir de Linotte 2.7.7
 */
 principale :
 horloge est un horodatage // greffon permettant de récupérer le temps
 tempo valant 0 // équivaut à "tempo est un nombre valant 0"
 entrée valant "" // variable utilisée pour stocker les touches
 entrées est un casier de nombres // tableau qui contiendra les délais entre les tempos
 début
 tant que vrai lis
 tempo vaut horloge.maintenant()
 demande entrée
 si entrée = "q" lis
 affiche "Au revoir !"
 termine
 ferme
 sinon lis
 ajoute (horloge.maintenant()) - tempo dans entrées
 si (entrées.taille()) > 2 lis
 affiche "Tempo : " + calculerbpm(entrées) + " bpm"
 ferme
 sinon affiche "Appuyer encore sur la touche entrée pour lancer le calcul du tempo..."
 ferme
 ferme
 calculerbpm : liste // paramètre liste, contient la liste des tempos
 retour valant 0
 début
 si (liste.taille()) > 5 ôte liste{0} de liste // On supprime le premier élément
 pour liste, retour += joker // Somme des valeurs de la liste
 retour vaut retour / (liste.taille())
 retourne arrondi (60000 / retour)

La boucle principale du programme se trouve dans la première fonctionne qui s'appelle ici principale (En Linotte, c'est toujours la première fonction du programme qui est exécutée en premier).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.