En complément de la vidéo ...

... voici quelques exemples de méthodes souvent utilisées pour programmer la validation de réponse à nos jeux de pions.

MéthodePour « retourner » l’emplacement conditionnel des pions.

Voici, sous forme de copies d’écrans, une solution (partielle) à la validation du jeu « 3-liaisons ».

Observations sur cette copie de figure :

  • en gris on trouve les retours de 20 « expressions-programmes » (en rouge ce sont des expressions ordinaires : inutile de faire intervenir Blockly quand il n’y a ni conditions, ni boucles ...)

  • dès qu’un (ou des) pions sont déplacés ces retours sont mis à jour : ainsi on sait que le pion « 1 » est en A, le pion « 2 » en B et le pion « 3 » en E ; on sait également qu’il y a erreur pour la position des pions sur AB et sur EB (mais pas sur EA)

Et une seconde copie d’écran : la programmation du DG-Blocs:enA

L’écriture des autres expressions-programmes est laissée aux soins du lecteur ...

Conseil

L’exemple ci-dessus suggère ceci : il semble préférable d’écrire de nombreuses expressions-programmes assez courtes plutôt qu’un petit nombre d’expressions bien longues ; la recherche d’erreurs est probablement facilitée. Mais chacun reste libre ...

AttentionMots réservés

Dans tout langage de programmation il y a des mots réservés qu’il ne faut surtout pas utiliser pour nommer des variables ou des fonctions. Avec DGPad il y a en plus une lettre réservée, la lettre « d » ! Lettre à ne pas utiliser ni en Blockly, ni même pour le nom des expressions ordinaires.

MéthodePour vérifier si deux pions sont à la bonne distance (donc bien placés)

Quand les pions sont placés librement, leurs distances mutuelles sont des nombres à priori avec beaucoup de décimales et même avec beaucoup d’adresse à la souris on ne pourra jamais imposer à une distance de valoir 2 par exemple.

Mais nos pions sont aimantés par des points A, B, C ... à coordonnées exactes quelquefois, donc seront bien placés s’ils sont à une distance précise. Si on veut tester que les pions « Un » et « Deux » sont bien à la distance exacte 2.4 (un simple exemple pour fixer les idées) on pourra écrire ce style de test :

ou encore (pour ceux qui connaissent la notion de valeur absolue) :

Fondamental

Un rappel : pour comparer le contenu de deux variables en javascript on utilise == (en blockly c’est un seul =). Mais cela ne vaut que pour des entiers ! Pour la comparaison de décimaux (donc ici dès qu’il y a calcul de distances) cette comparaison se fait à 10 - n près, bref on travaille sur des encadrements).