.timer
Un reloj que suma 1 por ciclo, que podés escribir y que el hijo hereda del padre: sirve para sincronizar a un linaje.
Datos
- Dirección
- 12
- Nombre
.timer- Tipo
- Entrada y salida: la escriben el bot y el motor
- Grupo
- Cuerpo, energía y estado
- Quién la escribe
- El motor le suma 1 en la fase de acciones; después de 32000 sigue en −32000. Tu ADN también puede escribirlo. Al cargar arranca al azar y el hijo lo hereda.
- Cuándo se borra
- No: el motor nunca lo pone en 0.
- Rango
- −32000 a 32000.
- Mutaciones
- la eligen como lectura (
*)
El motor le suma 1 al final de cada ciclo a lo que haya en .timer. A diferencia de .robage, el valor es tuyo: si escribís 0, el ciclo siguiente leés 1, y sigue contando desde ahí. Cuando pasa de 32000 salta a −32000 y sigue subiendo.
Dos detalles de dónde arranca:
- Un bot cargado al empezar la simulación recibe un valor al azar.
- Un hijo nace con el valor que tenía su padre (o su madre, en la reproducción sexual) y sigue la misma cuenta. Es, con la memoria genética, lo único de la memoria que se hereda (ver Memoria libre y epigenética).
Por eso es la herramienta para que todo un linaje actúe a la vez: los descendientes de un mismo fundador comparten el reloj sin hablarse.
' Cada 100 ciclos de reloj, media vuelta
cond
*.timer 100 mod 0 =
start
628 .aimdx store
stopTodos los hijos de este bot giran en los mismos ciclos que él. Si preferís contar desde el nacimiento de cada uno, poné el reloj en 0 al nacer con 0 .timer store dentro de un gen con *.robage 0 =.
Ojo con mod y los números negativos: con el reloj en −250, 100 mod da −50, no 50. La comparación con 0 funciona igual.