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
| Operador | Qué hace |
|---|---|
angle | Da el ángulo desde el bot hasta un punto x y, en las mismas unidades que .aim: listo para guardarlo en .setaim. |
dist | Da la distancia en línea recta desde el bot hasta un punto x y. |
ceil | Pone un techo: de los dos números de arriba de la pila deja el menor, así x 100 ceil nunca pasa de 100. |
floor | Pone un piso: de los dos números de arriba de la pila deja el mayor, así x 0 floor nunca baja de 0. |
sqr | Cambia el número de arriba de la pila por su raíz cuadrada redondeada; si no es positivo, da 0. |
pow | Eleva el número de abajo a la potencia del de arriba: 2 10 pow da 1024. El exponente se limita a ±10. |
pyth | Da la hipotenusa de los dos números de arriba de la pila, la raíz de a² + b²: el largo de un vector. |
anglecmp | Compara dos ángulos y da la diferencia más corta entre ellos, con signo, entre −628 y 628: cuánto y hacia dónde girar. |
root | Da 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. |
logx | Da el logaritmo del número de abajo en la base del de arriba, redondeado: 1000 10 logx da 3. |
sin | Da el seno de un ángulo en unidades de .aim, multiplicado por 32000: 314 sin da 32000. |
cos | Da el coseno de un ángulo en unidades de .aim, multiplicado por 32000: 0 cos da 32000. |
debugint | Anota el número de arriba de la pila entera para mirarlo desde la consola del bot, sin sacarlo y sin costo. |
debugbool | Anota 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í:
- Geometría:
angle(hacia dónde queda un punto),dist(a qué distancia),anglecmp(cuánto girar de un ángulo a otro) ypyth(el largo de un vector). - Topes:
ceilpone un máximo yfloorun mínimo. Los nombres confunden:ceiles el techo, así que da el menor de los dos. - Matemática:
sqr,pow,rootylogx, todas con resultado entero redondeado. - Trigonometría:
sinycos, con el resultado multiplicado por 32000 para no perderlo en el redondeo. - Depuración:
debugintydebugbool, que dejan la pila como está y anotan su valor para mirarlo desde la consola.
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
stopCada avanzado ejecutado cuesta Comando avanzado (gratis con las reglas F1), salvo debugint y debugbool, que no cuestan nunca.