DarwinBotsManual
Abrir la app EnglishEN

Avanzados

Ángulos, distancias, raíces, potencias, trigonometría, topes y depuración: las cuentas que no son simple aritmética.

Costo: Comando avanzado; debugint y debugbool no cuestan

OperadorQué hace
angleDa el ángulo desde el bot hasta un punto x y, en las mismas unidades que .aim: listo para guardarlo en .setaim.
distDa la distancia en línea recta desde el bot hasta un punto x y.
ceilPone un techo: de los dos números de arriba de la pila deja el menor, así x 100 ceil nunca pasa de 100.
floorPone un piso: de los dos números de arriba de la pila deja el mayor, así x 0 floor nunca baja de 0.
sqrCambia el número de arriba de la pila por su raíz cuadrada redondeada; si no es positivo, da 0.
powEleva el número de abajo a la potencia del de arriba: 2 10 pow da 1024. El exponente se limita a ±10.
pythDa la hipotenusa de los dos números de arriba de la pila, la raíz de a² + b²: el largo de un vector.
anglecmpCompara dos ángulos y da la diferencia más corta entre ellos, con signo, entre −628 y 628: cuánto y hacia dónde girar.
rootDa la raíz b-ésima del número de abajo: 27 3 root da 3. Ignora los signos y, con b en 0, da 0.
logxDa el logaritmo del número de abajo en la base del de arriba, redondeado: 1000 10 logx da 3.
sinDa el seno de un ángulo en unidades de .aim, multiplicado por 32000: 314 sin da 32000.
cosDa el coseno de un ángulo en unidades de .aim, multiplicado por 32000: 0 cos da 32000.
debugintAnota el número de arriba de la pila entera para mirarlo desde la consola del bot, sin sacarlo y sin costo.
debugboolAnota el valor de arriba de la pila booleana para mirarlo desde la consola del bot, sin costo.

Los avanzados toman números de la pila entera y dejan uno, igual que los básicos, pero hacen cuentas más elaboradas. Se agrupan así:

Los ángulos usan las mismas unidades que .aim: un giro completo son unas 1256 unidades (2π × 200), 0 apunta a la derecha y el ángulo crece en sentido antihorario, así que 314 es hacia arriba.

En el Bestiario, los que aparecen en más bots, lejos, son angle, floor y ceil. El primero, para apuntar a lo que se ve; los otros dos, para que un valor no se salga de un rango.

Saber, de abyaly, calcula el valor que su veneno le escribe a la víctima (.venval) y lo deja entre 5 y 50 en una sola línea:

cond
start
  1000 *.refbody div 50 ceil 5 floor .venval store
stop

Cada avanzado ejecutado cuesta Comando avanzado (gratis con las reglas F1), salvo debugint y debugbool, que no cuestan nunca.