Chipgrid / Documentation / Référence

Mobiles et voies

Des flèches qui traversent la grille et deviennent un bang en heurtant quelque chose, et les aiguillages et virages qui les guident.

E émetteur

Lance un > à sa droite tous les N ticks.

Tous les N ticks (tous les), lance un > vers la droite. Le mobile avance jusqu’à heurter quelque chose et devient un bang — la distance est un délai.

CaseRôleCe qu’elle prend
à gauchetous lesticks entre deux lancers

Histoire. Les collisions sont le cœur des jeux 8 bits : le matériel savait lui-même quand deux sprites se touchaient (le C64 avait un registre pour ça). Ici, une collision est une note.

Exemple

# ÉMETTEUR - exemple #
.
.8E.....P5C14
.
.6E.........N520

Ouvrir dans Chipgrid ↗

8E lance un mobile > vers la droite tous les 8 ticks. Il vole d’une case par tick jusqu’à heurter P, puis devient un bang qui le fait jouer. Le second émetteur tire tous les 6 ticks sur un bruit plus loin. Les deux se décalent peu à peu.

À essayer

  • Rapprochez ou éloignez P : la note se décale dans le temps, sans changer de vitesse.
  • Changez 8 en 3 : un flot de flèches.
  • Posez un F4 juste sous la case où la flèche s’arrête : l’écran flashe aussi.

> est

Avance vers l’est à chaque tick ; devient un bang s’il est bloqué.

Avance d’une case vers l’est à chaque tick. Si la case suivante n’est pas vide, il devient un bang * — heurter une voix par la gauche la fait jouer.

Exemple

# EST - exemple #
.
.>.....P4C14.....v
.
.............N010
..o.....<
...B2G4
.
.................P5E04
.
.............^

Ouvrir dans Chipgrid ↗

Quatre mobiles, un par direction, chacun visant une voix. À chaque tick, chacun avance d’une case. Quand la case suivante n’est pas vide, il s’arrête et devient un bang *, qui fait jouer la voix qu’il touche : > frappe P par la gauche, v tombe sur P par le haut, ^ atteint N par le bas, < heurte le mur o et son bang tombe au-dessus de B. La distance est un délai : 5 cases = 5 ticks. Un mobile ne vole qu’une fois.

À essayer

  • Pendant la lecture, tapez un nouveau > n’importe où à gauche d’une voix : il repart.
  • Posez un émetteur 4E au début d’une ligne : il lance un > tous les 4 ticks.
  • Éloignez une voix : la note arrive plus tard.

< ouest

Avance vers l’ouest à chaque tick ; devient un bang s’il est bloqué.

Avance d’une case vers l’ouest à chaque tick ; devient un bang s’il est bloqué.

Exemple

# OUEST - exemple #
.
.>.....P4C14.....v
.
.............N010
..o.....<
...B2G4
.
.................P5E04
.
.............^

Ouvrir dans Chipgrid ↗

Quatre mobiles, un par direction, chacun visant une voix. À chaque tick, chacun avance d’une case. Quand la case suivante n’est pas vide, il s’arrête et devient un bang *, qui fait jouer la voix qu’il touche : > frappe P par la gauche, v tombe sur P par le haut, ^ atteint N par le bas, < heurte le mur o et son bang tombe au-dessus de B. La distance est un délai : 5 cases = 5 ticks. Un mobile ne vole qu’une fois.

À essayer

  • Pendant la lecture, tapez un nouveau > n’importe où à gauche d’une voix : il repart.
  • Posez un émetteur 4E au début d’une ligne : il lance un > tous les 4 ticks.
  • Éloignez une voix : la note arrive plus tard.

^ nord

Avance vers le nord à chaque tick ; devient un bang s’il est bloqué.

Avance d’une case vers le nord à chaque tick ; devient un bang s’il est bloqué.

Exemple

# NORD - exemple #
.
.>.....P4C14.....v
.
.............N010
..o.....<
...B2G4
.
.................P5E04
.
.............^

Ouvrir dans Chipgrid ↗

Quatre mobiles, un par direction, chacun visant une voix. À chaque tick, chacun avance d’une case. Quand la case suivante n’est pas vide, il s’arrête et devient un bang *, qui fait jouer la voix qu’il touche : > frappe P par la gauche, v tombe sur P par le haut, ^ atteint N par le bas, < heurte le mur o et son bang tombe au-dessus de B. La distance est un délai : 5 cases = 5 ticks. Un mobile ne vole qu’une fois.

À essayer

  • Pendant la lecture, tapez un nouveau > n’importe où à gauche d’une voix : il repart.
  • Posez un émetteur 4E au début d’une ligne : il lance un > tous les 4 ticks.
  • Éloignez une voix : la note arrive plus tard.

v sud

Avance vers le sud à chaque tick ; devient un bang s’il est bloqué.

Avance d’une case vers le sud à chaque tick ; devient un bang s’il est bloqué. Un mobile qui arrive juste au-dessus d’une voix la fait jouer.

Exemple

# SUD - exemple #
.
.>.....P4C14.....v
.
.............N010
..o.....<
...B2G4
.
.................P5E04
.
.............^

Ouvrir dans Chipgrid ↗

Quatre mobiles, un par direction, chacun visant une voix. À chaque tick, chacun avance d’une case. Quand la case suivante n’est pas vide, il s’arrête et devient un bang *, qui fait jouer la voix qu’il touche : > frappe P par la gauche, v tombe sur P par le haut, ^ atteint N par le bas, < heurte le mur o et son bang tombe au-dessus de B. La distance est un délai : 5 cases = 5 ticks. Un mobile ne vole qu’une fois.

À essayer

  • Pendant la lecture, tapez un nouveau > n’importe où à gauche d’une voix : il repart.
  • Posez un émetteur 4E au début d’une ligne : il lance un > tous les 4 ticks.
  • Éloignez une voix : la note arrive plus tard.

: aiguillage

Renvoie ailleurs un mobile qui l’atteint : :^ en haut, :v en bas, :< à gauche, :> à droite.

Un aiguillage pour les mobiles. Un mobile qui l’atteint par la gauche, le haut ou le bas repart dans le sens indiqué par la case à sa droite : :^ en haut, :v en bas, :< à gauche, :> à droite. Vide, il continue tout droit. La case accepte aussi 0 gauche, 1 droite, 2 haut, 3 bas : une horloge ou une séquence peut donc changer la route pendant la lecture. Laissez au moins une case vide entre l’aiguillage et une voix : le mobile a besoin d’un tick pour devenir un bang. Si la sortie est bloquée, le mobile s’arrête et fait un bang sur place. Sa case d’entrée bloque les mobiles venant de la droite.

CaseRôleCe qu’elle prend
à droitesortie< > ^ v, ou 0 gauche · 1 droite · 2 haut · 3 bas ; vide = tout droit

Exemple

# AIGUILLAGE - exemple #
.
........P5C02
.
.8E.....:^
.
.
........B3C2o

Ouvrir dans Chipgrid ↗

L’émetteur envoie des flèches > dans le couloir. Sur :^, chaque flèche monte, parcourt une case et heurte P par en dessous : un bang, et une note.

À essayer

  • Changez ^ en v : les flèches descendent et jouent la grosse caisse.
  • Videz la case : les flèches continuent tout droit, au-delà de l’aiguillage.

) turn right

Tourne un mobile à droite, de tous les côtés, et bange ce qui le touche. Quatre font une boucle.

Tourne un mobile vers la droite, de tous les côtés : est devient sud, sud ouest, ouest nord, nord est. Il n’a pas d’entrée : ses quatre côtés restent libres et une voie peut se refermer en boucle : quatre ) et une flèche, et elle tourne sans fin. Tout ce qui touche le virage reçoit un bang au passage du mobile, par la gauche, le haut ou le bas. Une boucle de 2 × (largeur + hauteur) − 4 ticks est un séquenceur visible.

Exemple

# TURN RIGHT - exemple #
.
.P4C12
.)>____)
.|.....|
.|.....|
.)_____)
.B2C2

Ouvrir dans Chipgrid ↗

Quatre virages et une flèche : une boucle sans fin. À chaque passage au virage du haut à gauche, le P au-dessus joue ; au virage du bas à gauche, le B en dessous joue. La boucle dure 2 × (6 + 3) − 4 = 14 ticks.

À essayer

  • Élargissez la boucle : le rythme ralentit.
  • Ajoutez une seconde flèche sur la voie : deux fois plus de notes.

( turn left

Tourne un mobile à gauche, de tous les côtés, et bange ce qui le touche.

Tourne un mobile vers la gauche, de tous les côtés, et bange ce qui le touche, comme ). ) pour les boucles dans le sens des aiguilles, ( pour l’autre sens : côte à côte, elles se répondent en miroir.

Exemple

# TURN LEFT - exemple #
.
.(___<(
.|....|
.(____(
.P5E12

Ouvrir dans Chipgrid ↗

La même boucle dans l’autre sens : ( tourne à gauche, celle-ci tourne donc dans le sens inverse des aiguilles.

À essayer

  • Écrivez une boucle de ) à côté pour un effet miroir.
Esc