DarwinBotsManual
Abrir la app EnglishEN

.aim

Hacia dónde apunta el bot, en una escala de 0 a 1255 donde 0 es la derecha de la pantalla y 314 es arriba.

Datos

Dirección
18
Nombre
.aim
Tipo
Sentido: el motor la escribe para que el ADN la lea
Grupo
Movimiento
Quién la escribe
El motor, en la fase de movimiento, después de girar al bot. Lo leés en el ciclo siguiente; los demás lo ven en .refaim.
Cuándo se borra
Nadie; el motor la reescribe en cada ciclo. Escribir en ella no gira al bot.
Rango
0 a 1255 (1256 es una vuelta); puede salirse un poco si algo más hace girar al bot. Vale 0 en el primer ciclo de vida.
Mutaciones
la eligen como lectura (*)

.aim es el rumbo del bot: hacia dónde mira, hacia dónde empuja .up y desde dónde se miden sus ojos. Una vuelta completa son 1256: 0 mira a la derecha de la pantalla, 314 hacia arriba, 628 a la izquierda y 942 hacia abajo. El motor la publica después de aplicar los giros de .aimsx, .aimdx y .setaim; escribir en ella no gira al bot.

Si el bot gira por otras causas (un lazo que lo retuerce, el movimiento browniano) el valor puede salirse un poco del rango 0-1255.

Los demás bots ven tu rumbo en .refaim cuando te miran. Para dar media vuelta alcanza con sumar media vuelta al rumbo actual:

' da media vuelta cuando algo lo toca por detrás
cond
*.hitdn 0 !=
start
*.aim 628 add .setaim store
stop

.setaim acepta cualquier número y se queda con su resto de dividir por 1256, así que no hace falta corregir la suma.