.refxpos
La coordenada x de lo que estás viendo: junto con .refypos y el operador angle, sirve para apuntarle justo.
Datos
- Dirección
- 689
- Nombre
.refxpos- 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 la x que publicó el bot que ve tu ojo con foco; con una forma, un punto de ella. 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
- 0 a 31999, en las mismas unidades que
.xpos. - Mutaciones
- la eligen como lectura (
*)
.refxpos es la coordenada horizontal del bot que ve tu ojo con foco, en las mismas unidades que tu propia .xpos. Su pareja es .refypos.
Con las dos coordenadas, el operador angle calcula hacia dónde está el otro, y escribiendo ese ángulo en .setaim quedás apuntándole de frente. Es la manera más precisa de no perder un blanco que se mueve: girar a ciegas con .aimdx lo deja escapar del ojo frontal, que es angosto.
cond
*.eye5 0 =
start
40 .aimdx store
stop
' lo tengo a la vista: le apunto al centro
cond
*.eye5 0 >
start
*.refxpos *.refypos angle .setaim store
stopEn una prueba contra un bot que se desplazaba de costado, este bot lo mantuvo en el .eye5 durante todo el recorrido.
Lo que llega es la posición que el otro publicó, no la exacta de este momento: según el orden en que el motor procesa a los bots, puede tener un ciclo de atraso. Cuando lo que ves es una forma (.reftype en 1), es un punto de la forma, y solo es confiable si el ojo con foco es el frontal: con otro ojo (.focuseye) la posición de una forma queda vieja o en 0. Si no ves nada, vale 0.