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.
Datos
- Palabra
pyth- Familia
- Avanzados
- Pila entera
- saca 2, pone 1
- Qué hace
- Saca dos números a y b y apila la raíz de a² + b², redondeada. Se queda en 2000 millones como máximo.
- Costo
- Comando avanzado; debugint y debugbool no cuestan
- Se ejecuta en
- dentro de un gen: en la condición (cond) y en el cuerpo (start o else)
a b pyth deja la raíz cuadrada de a² + b², redondeada: el teorema de Pitágoras. 3 4 pyth da 5. El orden no importa, y el signo tampoco.
Sirve para el largo de cualquier vector del que tengas las dos componentes. Por ejemplo, la rapidez del bot a partir de su velocidad hacia adelante (.velup) y hacia el costado (.veldx):
cond
start
*.velup *.veldx pyth 50 store
stop(Para la rapidez en particular ya existe .velscalar, que el motor calcula por vos.)
Con diferencias de coordenadas da una distancia: *.refxpos *.xpos sub *.refypos *.ypos sub pyth da casi lo mismo que *.refxpos *.refypos dist en un mundo de tamaño normal, pero dist lo hace en una sola palabra y usa la posición exacta del bot en ese momento, no la de .xpos y .ypos, que llega con un ciclo de atraso.