Easy demo for Ergo Jr + code source snap

5 bloc Snap! for plays easy demo

Stubborn (tétu)

untitled script pic

Chicken (poule)

untitled script pic (1)

Chenille

untitled script pic (2)

Puzzle

untitled script pic (3)

Dance

untitled script pic (4)

+++

Better version of snap (beta version)

topic refer:

1 Like

Stubborn (tétu)

untitled script pic (2.5 KB)
(clic on pic or herre to donwload)

Chicken (poule)

untitled script pic (1) (3.4 KB)
(clic on pic or here to donwload)

Chenille

untitled script pic (2) (3.4 KB)
(clic on pic or here to donwload)

l’information part du moteur m1, elle est transmise au moteur suivant …
le résultat est parfois déroutant :wink:

Exemple:
si m1 est dans une positon comprise entre -45 et 5 (50° d’amplitude)
il transmet sa position à m2
m2 recoi la position de m1
m2 se déplace dans la même position que m1 (par défaut en 0.4 secnode)
si propagation= True, il attend d’atteindre la position
pour envoyer sa propre position à m3
sinon il l’envoie quasi simultanément
m3 recoi la position de m2… etc

Puzzle

untitled script pic (3) (6.9 KB)
(clic on pic or here to donwload)

Chaud ou froid ??? tourve la position caché du robot:
white = gelé
blue = froid
cyan = tiéde
yellow = chaud
green = gagné !!!

Pour cela il faut créer des posture aléatoire soit 6 valeurs cibles:

  1. on tire 3 nombre au hasard entre -90 et 90 ;
  2. on assigne ces nombres aux moteurs m1 m2 et m5 ;
  3. puis:
    m3 = position_m2 x -1 ;
    m4 = position_m1 x -1 ;
    m6 = position_m5 x -1 ;

Ainsi le robot devrai sélectionné des postures aléatoire mais ne risquant pas de s’auto-endommager ^^

Ensuite il faut “mélanger”:

  1. on tire 6 nombres au hasard entre -35 et 35 ;
  2. on ajoute ces 6 nombres à chacune de nos 6 moteurs.

Ensuite, les couleurs:

  1. on prend la distance (en valeur absolue) entre la position cible et la position actuel
  2. on divise par 18
  3. si on est très loins (resultat > à 5 soit + de 72°) le moteur passe au ‘white’
    sinon la couleur adéquat:
    • blue entre 54 et 72°
    • cyan entre 36 et 54°
    • yellow entre 18 et 36°
    • green entre 0 et 18°

Dance

untitled script pic (4)
(3.0 KB) (clic on pic or here to donwload)

just … try !

Quand
m1 oscille 1 fois entre ses 2 extrêmes (par défaut -90° / 90°)
m4 à le temps d’osciller 2 fois entre ses 2 extrêmes (par défaut -90° / 90°)
m5, 4fois entre ses 2 extrêmes (par défaut -30° / 30°)
et m2,3, et 6, 8fois entre ses 2 extrêmes (par défaut -15° / 15°)

Attention l’enchaînement des instructions dans les boucles qui doivent se coordonner… nous somme ici en “mode séquentielle” !

Mais en snap il est facile d’exécuter du code de manière concurrente (“simultané”)
vous pouvez également construire ce genre de code:

ou plus joliment (et avec plus de Random)

PS: pour stopper des bloc qui “tourne en tâche de fond” utilise:
pypot-snap-blocks-demo script pic (13)