DarwinBotsManual
Abrir la app EnglishEN

.setaim

Gira al bot hasta un rumbo absoluto: escribís hacia dónde querés que apunte y el motor lo pone ahí en el mismo ciclo.

Datos

Dirección
19
Nombre
.setaim
Tipo
Comando: el bot la escribe y el motor la lee y, en general, la consume
Grupo
Movimiento
Quién la escribe
Tu ADN. El motor la siembra al nacer con el rumbo del bot. En el modo Player Bot, el rumbo hacia el ratón pisa lo que escribió tu ADN.
Cuándo se borra
No la borra: en la fase de movimiento, después de girar, el motor le copia el rumbo actual.
Rango
−32000 a 32000; se toma el resto de dividir por 1256. Solo gira si difiere del rumbo actual.
Mutaciones
la eligen como destino de un store

.setaim es el giro absoluto: escribís el rumbo que querés, en la misma escala que .aim (0 a la derecha de la pantalla, 314 arriba, 1256 una vuelta), y el bot queda apuntando ahí al final del ciclo, por grande que sea el giro. Cualquier número sirve: se toma su resto de dividir por 1256, así que -314 es 942 y 1570 es 314. El giro cuesta energía, pero no según el ángulo recorrido sino según el número que escribiste: 1200 .setaim cuesta mucho más que -56 .setaim, aunque los dos dejan el mismo rumbo (ver Física).

El motor no la borra a 0: después de girar al bot le copia el rumbo actual. Por eso *.setaim siempre se puede leer como el rumbo del bot, y en el primer ciclo de vida es más fiable que *.aim, que todavía vale 0.

El uso clásico es girar relativo al rumbo actual sumándole algo, o apuntar a lo que ve combinando .refxpos y .refypos con su posición. Este bot gira de a 100 por ciclo leyendo el rumbo en la propia .setaim:

cond
start
*.setaim 100 add .setaim store
stop