DarwinBotsManual
Abrir la app EnglishEN

cond

Abre un gen nuevo: vacía la pila booleana y empieza la zona de condiciones, que termina en start o else.

Datos

Palabra
cond
Familia
Flujo
Qué hace
Cierra el gen anterior y abre uno nuevo con su zona de condiciones. Vacía la pila booleana. Ahí corre todo, pero los stores no escriben.
Costo
Control de flujo; end no cuesta
Se ejecuta en
siempre

cond abre un gen. Desde ahí hasta el start (o el else) va la zona de condiciones: comparaciones como > o = que van dejando verdaderos y falsos en la pila booleana. Al llegar el start, el cuerpo corre solo si todas son verdaderas.

' se reproduce si tiene más de 5000 de energía y no ve nada adelante
cond
 *.nrg 5000 >
 *.eye5 0 =
start
 50 .repro store
stop

Las dos condiciones, sobre .nrg y .eye5, se unen con y sin escribir nada más; para un o hace falta or. Con 6000 de energía el bot se divide con .repro en el segundo ciclo, no en el primero: los sentidos se publican al final de cada ciclo y en el primero todavía valen 0 (ver Ejecución y costos).

Lo que conviene saber de cond:

La estructura completa del gen está en Genes: cond, start, else y stop.