Reproducción
Las órdenes para tener hijos, sola o con pareja, y el sentido que avisa que el bot fue fecundado.
| Dirección | Sysvar | Tipo | Resumen |
|---|---|---|---|
| 300 | .repro | Comando | Ordena una reproducción asexual: el número es el porcentaje de energía, cuerpo y cloroplastos que se lleva el hijo. |
| 301 | .mrepro | Comando | Como .repro, pero el hijo nace con una probabilidad de mutar mucho mayor: reproducción para explorar. |
| 302 | .sexrepro | Comando | Ordena una reproducción sexual: solo funciona si el bot fue fecundado, y el hijo mezcla su ADN con el del esperma. |
| 303 | .fertilized | Sentido | Avisa que el bot recibió esperma: mayor que 0 mientras la fecundación está vigente, cuenta hacia abajo desde 9. |
Un bot tiene hijos escribiendo un porcentaje: la parte de sus recursos que le pasa al hijo. 50 .repro store lo parte en dos mitades; 10 .repro store tiene un hijo chico y se queda con casi todo. El hijo se lleva ese porcentaje de la energía, del cuerpo, de los cloroplastos y de los desechos, y nace pegado al padre, unido a él por un lazo de nacimiento.
Hay tres formas:
.repro: asexual. El hijo es una copia del padre, con las mutaciones normales..mrepro: asexual, pero el hijo muta mucho más. Sirve para explorar..sexrepro: sexual. Necesita estar fecundado (lo dice.fertilized) por el esperma de otro bot, y el ADN del hijo mezcla el de los dos.
Las tres comparten tres reglas que conviene tener presentes:
- El porcentaje se toma módulo 100.
100 .repro storees 0 y nunca produce un hijo;150equivale a 50. - La orden queda escrita hasta que sale bien. Si el parto falla (no hay lugar libre delante del bot, que es donde aparece el hijo, poco cuerpo, sin energía), el motor no la borra y se reintenta solo en cada ciclo. Para cancelarla, escribí 0.
- Tiene un costo. Se pierde un poco de energía en el traspaso y, según la configuración, el parto cobra además por el largo del ADN copiado (Copia del ADN).
El hijo nace con la memoria en 0, salvo el .timer y la memoria genética (ver Memoria libre y epigenética). En su primer ciclo ya lee su .nrg, pero .body y .robage le dan 0. Todo el proceso está en Reproducción.
Una idea de uso: reproducirse cuando sobra energía, con un porcentaje que deje al padre en condiciones de seguir.
' Cuando junta energía, tiene un hijo con un tercio
cond
*.nrg 6000 >
*.body 500 >
start
33 .repro store
stop