DarwinBotsManual
Abrir la app EnglishEN

.refaim

Hacia dónde apunta el bot que estás viendo, en la misma escala que .aim: para saber si te está mirando.

Datos

Dirección
711
Nombre
.refaim
Tipo
Sentido: el motor la escribe para que el ADN la lea
Grupo
Lo que se ve (ref*)
Quién la escribe
El motor, en la fase de acciones de cada ciclo, con el rumbo (.aim) del bot que ve tu ojo con foco. También al chocar con un bot. Lo leés en el ciclo siguiente.
Cuándo se borra
El motor, cada ciclo, cuando se borran los sentidos.
Rango
Casi siempre 0 a 1256, una vuelta; mientras el otro gira puede pasarse un poco.
Mutaciones
la eligen como lectura (*)

.refaim es la dirección en la que apunta el bot que ve tu ojo con foco: lo que ese bot lee en su .aim. Una vuelta completa son 1256; casi siempre está entre 0 y 1256, aunque mientras gira puede pasarse un poco.

Lo más útil es compararla con tu propio rumbo. Si el otro te está mirando, su rumbo es el tuyo dado vuelta, o sea el tuyo más 628. El operador anglecmp da la diferencia entre dos ángulos teniendo en cuenta la vuelta completa:

' ¿me está mirando? entonces me corro de costado
cond
*.eye5 0 >
*.refaim *.aim 628 add anglecmp abs 60 <
start
50 .sx store
stop

Con dos bots que giraban hasta verse, la condición se cumplió justo cuando quedaron frente a frente. Un bot que te mira probablemente esté por dispararte, sobre todo si su .refshoot es mayor que 0.

Si no ves nada, o ves una forma, vale 0.