Je décrirai tout d'abord l'interface graphique globalement, puis je détaillerai chaque partie.
L'interface présente dans l'ordre :
Le premier, intitulé "Go !", lance le calcul et présente les résultats s'ils rentrent dans les limites fixées par le WebMaster.
Le second annule les dernières manipulations de l'interface et replace les valeurs avec celles correspondant aux résultats présentés; il ne lance aucun calcul.
Le dernier lance les calculs avec les valeurs par défaut, comme si vous chargiez la page pour la première fois.
C'est un tableau de 5 lignes et 4 colonnes. Les lignes représentent les 5 membres. Les colonnes définissent les règles appliquées à chaque membre.
Chaque ligne définit l'ensemble des règles de comportement d'un membre. Les 5 membres sont la Main Droite, la Main Gauche, le Pied Droit, le Pied Gauche, et le Silence. Je sais que le silence n'est pas un membre mais fonctionnellement cela correspond.
Cette colonne est composée de boutons à cocher (Toggle Buttons). Le bouton défini si le membre fait partie des séquences générées. Remarquons qu'il faut cocher au moins deux membres dans la colonne pour que les résultats soient pertinents car les séquences composées uniquement d'un membre n'offrent pas beaucoup d'intérêt.
Cette colonne est composée de menus à options, un par membre. La valeur choisie spécifie le nombre maximal de coups consécutifs qui apparaissent dans les séquences. C'est utile pour limiter le nombre exercices proposés.
Ce menu à options permet de définir la longueur des séquences générées. De 0 à 16. Zéro est une valeur sans grand intérêt, il fut inclus pour tester les effets de bord du programme, il est resté. Attention, au delà de 5 le nombre de séquences générées peut devenir très long à récupérer. Aidez vous du tableau des estimations.
Ce sont des boutons radio. Choisissez le mode caractère ("Caracter") ou bien le mode partition ("Score"). Le mode caractère est moins gourmand en place et se charge donc plus vite que celui contenant les images (Comparer la taille des sources HTML dans les deux cas). Le mode partition est bien plus lisible. Je remercie Stan Mulder pour l'astuce (un examen de son HTML) permettant de générer des partitions avec seulement 8 petites images (regardez le source HTML)
Le programme est exhaustif, il recherche toutes les séquences possibles. Cela peut atteindre 152 587 890 625 combinaisons (5^16, cinq puissance 16) soit 134 Tera-octets de page HTML ! Vous comprendrez que je l'ai muselé pour éviter la surcharge des gentils serveurs qui l'hébergent. Cela dit, vous pouvez très bien utiliser ce programme vous-même et sauter les barrières en éditant le fichier de configuration. Le tableau d'estimation est formé de 4 lignes et 17 colonnes :
Si vous voulez sauvegarder une configuration dans votre bookmark, utilisez ce lien. Vous avez deux possibilités :
C'est le temps de calcul pur des séquences sans aucun formatage ni rebouclage. Vous remarquerez que ce temps est toujours bien plus court que le temps total où sont inclus les temps de mise en forme et d'impression. Cette partie est vraiment traitée efficacement.
Les estimations sur la taille des pages HTML sont évaluées en multipliant la taille d'une ligne par le nombre de lignes. La taille d'une ligne peut varier car certaines ne contiennent pas les marques <b> et </b> sur les numéros de séquences. Ce sont les séquences qui ne respectent plus les règles quand elles sont bouclées avec elles-mêmes ou avec leur opposée, les numéros n'apparaissent pas en gras. La valeur estimée est donc toujours supérieure ou égale à la valeur réelle.
C'est l'information pertinente du programme. Vous constatez que le nombre de séquences générées est le double du nombre de séquences annoncées. De plus, chaque séquence a une longueur double de celle choisie dans la configuration. C'est normal. En fait, chaque séquence est à travailler en boucle. D'abord avec elle-même puis avec son opposée, sachant que l'opposée d'une séquence est la séquence des coups opposés (cette phrase me rappelle des théorèmes de math). Les coups opposés sont définis dans la quatrième colonne du tableau de configuration, nommée "Opposite Members".
C'est le temps de calcul total, filtrage, formattage, et impression compris.