Create: Computing AgesDoc Brass
Programmes intégrés

blink

fait clignoter une lampe

Tourne sur Tous Tous les ordinateurs · 9 lignes
Tapez ceci à l'invite d'un ordinateur pour le copier sur le support :
Terminal
> examples blink
> edit blink

Allume et éteint une sortie de redstone toutes les demi-secondes, sans fin. C'est le « bonjour le monde » de l'automatisation : la même boucle fait marcher un feu d'avertissement à un passage à niveau, une balise clignotante en haut d'une tour, ou l'impulsion qui fait avancer une machine.

Quoi construire

Posez une Lampe à redstone sur l'ordinateur. Tout ce qui réagit à la redstone marche à sa place : un piston, une porte, un bloc musical, une Liaison de redstone de Create réglée en émission.

Lancez-le avec blink, arrêtez-le avec Ctrl+T ou le bouton Stopper. À l'arrêt, la sortie garde sa dernière valeur : la lampe peut rester allumée jusqu'à ce qu'un autre programme la change ou que l'ordinateur redémarre ou s'éteigne.

Comment il marche

Brass
local side = "top"
local on = false

La face est gardée dans une variable : la changer revient à changer un mot, "bottom" (dessous), "left" (gauche), "right" (droite), "front" (avant) ou "back" (arrière), la gauche et la droite comptées face à l'écran. on retient l'état actuel de la lampe.

Brass
while true do
  on = not on
  rs.set(side, on)
  sleep(0.5)
end

while true do répète sans fin. not on inverse l'état : false devient true et inversement. rs.set() accepte true (pleine puissance, 15) ou false (0), ou un nombre de 0 à 15. Avec une demi-seconde allumée et une demi-seconde éteinte, la lampe clignote une fois par seconde.

Note

Les sorties de redstone atteignent le monde à la fin de chaque tick du jeu (20 par seconde), et seule la dernière valeur du tick compte. Clignoter plus vite que sleep(0.05), un tick, n'a aucun effet visible.

Idées

  • Clignotez plus vite ou plus lentement : changez 0.5. Prenez deux délais différents pour un éclair bref et une longue pause : rs.set(side, true) sleep(0.1) rs.set(side, false) sleep(1.9).
  • Faites clignoter deux lampes à tour de rôle, comme à un passage à niveau : mettez "left" à on et "right" à not on.
  • Ne clignotez que quand un levier à l'arrière est activé : entourez le corps de la boucle de if rs.get("back") > 0 then ... end, comme à l'étape 10 du tutoriel.
  • Clignotez un nombre de fois précis, puis arrêtez :

    Brass
    for i = 1, 5 do
      rs.set("top", true)
      sleep(0.5)
      rs.set("top", false)
      sleep(0.5)
    end
    print("5 clignotements")
    Écran
    5 clignotements
  • Envoyez une force plutôt qu'un simple allumé et éteint : rs.set(side, 7) donne un signal de 7, qui parcourt 7 blocs de poudre de redstone et qu'un Tube Nixie de Create affiche en chiffres. Voir rs et le guide de la redstone.

Le programme

blink
-- Fait clignoter une sortie de redstone : posez une lampe sur l'ordinateur.
-- Ctrl+T ou le bouton Stopper l'arrête.
local side = "top"  -- ou : bottom, left, right, front
local on = false
while true do
  on = not on
  rs.set(side, on)  -- true = 15, false = 0
  sleep(0.5)
end