sin
Da el seno de un ángulo en unidades de .aim, multiplicado por 32000: 314 sin da 32000.
Datos
- Palabra
sin- Familia
- Avanzados
- Pila entera
- saca 1, pone 1
- Qué hace
- Cambia un ángulo en unidades de
.aimpor su seno multiplicado por 32000 y redondeado: de −32000 a 32000. - 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)
ángulo sin deja el seno del ángulo multiplicado por 32000 y redondeado. El ángulo va en las unidades de .aim (200 por radián, unas 1256 por vuelta), y el resultado va de −32000 a 32000 en lugar de −1 a 1, porque en la pila no hay decimales.
| Ángulo | sin |
|---|---|
| 0 | 0 |
| 157 (un octavo de vuelta) | 22618 |
| 314 (hacia arriba) | 32000 |
| 942 (hacia abajo) | −32000 |
Para usarlo como fracción, multiplicá primero y dividí por 32000 al final. El seno da la parte vertical de un movimiento: si el bot avanza 100 en la dirección del ángulo guardado en la celda 50, sube *50 sin 100 mult 32000 div.
cond
start
*.aim sin 100 mult 32000 div 51 store
*.aim cos 100 mult 32000 div 52 store
stopEste bot guarda en las celdas 51 y 52 cuánto sube y cuánto avanza a la derecha por cada 100 que se mueva hacia donde apunta.
Un detalle: como un giro completo es 1256,6 y no 1256 exacto, 1256 sin no da 0 sino −102. Para ángulos que dan vueltas conviene reducirlos antes con 1256 mod. El coseno es cos.