DarwinBotsManual
Abrir la app EnglishEN

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 .aim por 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.

Ángulosin
00
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
stop

Este 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.