La firma propia (my*)
Once contadores que el motor saca del ADN del propio bot (cuántas veces mueve, gira, dispara, mira…) y que sirven para reconocer a los de la misma especie.
| Dirección | Sysvar | Tipo | Resumen |
|---|---|---|---|
| 721 | .myup | Sentido | Cuántas veces el ADN del propio bot escribe en .up (la orden de empujar hacia adelante): parte de la firma con la que se reconoce a la propia especie. |
| 722 | .mydn | Sentido | Cuántas veces el ADN del propio bot escribe en .dn (la orden de empujar hacia atrás): parte de la firma con la que se reconoce a la propia especie. |
| 723 | .mysx | Sentido | Cuántas veces el ADN del propio bot escribe en .sx (la orden de empujar hacia la izquierda): parte de la firma con la que se reconoce a la propia especie. |
| 724 | .mydx | Sentido | Cuántas veces el ADN del propio bot escribe en .dx (la orden de empujar hacia la derecha): parte de la firma con la que se reconoce a la propia especie. |
| 725 | .myaimdx | Sentido | Cuántas veces el ADN del propio bot escribe en .aimdx (la orden de girar a la derecha): parte de la firma con la que se reconoce a la propia especie. |
| 726 | .myaimsx | Sentido | Cuántas veces el ADN del propio bot escribe en .aimsx (la orden de girar a la izquierda): parte de la firma con la que se reconoce a la propia especie. |
| 727 | .myshoot | Sentido | Cuántas veces el ADN del propio bot escribe en .shoot (la orden de disparar): parte de la firma con la que se reconoce a la propia especie. |
| 728 | .myeye | Sentido | Cuántas veces el ADN del propio bot lee un ojo (*.eye1 a *.eye9): el contador más usado para reconocer a la propia especie. |
| 729 | .myties | Sentido | Cuántas veces aparece en el ADN del propio bot el número de .tie (330), se use como se use: parte de la firma para reconocer a la propia especie. |
| 730 | .mypoison | Sentido | Cuántas veces el ADN del propio bot escribe en .strpoison, la orden de fabricar veneno defensivo; a diferencia de las otras my*, no tiene pareja ref*. |
| 731 | .myvenom | Sentido | Cuántas veces el ADN del propio bot escribe en .strvenom, la orden de fabricar veneno de ataque; a diferencia de las otras my*, no tiene pareja ref*. |
Estas celdas no miden nada del mundo: cuentan cosas del propio ADN. .myup dice cuántas veces el ADN escribe en .up, .myeye cuántas veces lee un ojo, .myties cuántas veces aparece el número de .tie, y así. Juntas son una especie de firma del genoma.
Su uso es compararlas con lo que se ve. Cuando un bot mira a otro, las celdas de lo que se ve traen los mismos contadores, pero del ADN del otro: .refup frente a .myup, .refeye frente a .myeye, .reftie frente a .myties. Si coinciden, lo más probable es que sea de la misma especie. La comparación más usada del Bestiario, por lejos, es *.refeye *.myeye !=, «lo que veo no es de los míos»:
' marcar en la celda 60 cuando lo que hay adelante es de otra especie
cond
*.eye5 0 >
*.refeye *.myeye !=
start
1 60 store
stopEs una prueba aproximada: dos especies distintas pueden tener la misma cuenta, y una mutación puede cambiar la de un pariente. Por eso muchos bots comparan dos o tres contadores a la vez. El tutorial Un bot que reconoce a su especie lo desarrolla.
Ojo con los cadáveres: llegan con toda la firma en 0, así que frente a uno *.refeye *.myeye != da verdadero, como si fuera de otra especie. Lo mismo pasa con un obstáculo, que se distingue porque pone .reftype en 1.
Cuándo se calculan
El motor las calcula cuando el ADN cambia: al cargar el bot, al nacer, cuando un virus le agrega o le quita un gen y cuando muta. No las vuelve a escribir en cada ciclo, así que el bot puede pisarlas; pero lo que ven los demás sale de la cuenta del motor, no de la celda, así que escribir en ellas no sirve para disfrazarse.