dist
Da la distancia en línea recta desde el bot hasta un punto x y.
Datos
- Palabra
dist- Familia
- Avanzados
- Pila entera
- saca 2, pone 1
- Qué hace
- Saca un punto (x abajo, y arriba) y apila la distancia desde el bot hasta él, en el tamaño real del mundo. 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)
x y dist saca un punto (la x abajo, la y arriba) y apila la distancia desde el bot hasta él. *.refxpos *.refypos dist es la distancia hasta lo que está viendo; con angle sobre el mismo punto se sabe además hacia dónde queda.
Este bot anota dónde estaba al empezar (.xpos y .ypos en las celdas 50 y 51) y, cada vez que se aleja más de 300 de ese lugar, vuelve a apuntar hacia allá:
cond
*.robage 1 =
start
*.xpos 50 store
*.ypos 51 store
stop
cond
*.robage 1 >
*50 *51 dist 300 >
start
*50 *51 angle .setaim store
stop
cond
start
10 .up store
stopLa posición se anota con .robage en 1 y no en 0 porque en el primer ciclo *.xpos todavía vale 0.