.velup
La parte de la velocidad del bot que va hacia adelante, en la dirección en que apunta; negativa si retrocede.
Datos
- Dirección
- 200
- Nombres
.velup,.vel- Tipo
- Sentido: el motor la escribe para que el ADN la lea
- Grupo
- Movimiento
- Quién la escribe
- El motor, en la fase de movimiento, después de mover y girar al bot: la velocidad hacia adelante respecto del rumbo nuevo. Lo leés en el ciclo siguiente.
- Cuándo se borra
- Nadie; el motor la reescribe en cada ciclo.
- Rango
- Entre menos y más
.maxvel; positiva hacia adelante. - Mutaciones
- la eligen como lectura (
*)
.velup (también se escribe .vel) dice cuánto avanza el bot en la dirección de .aim: positiva si va hacia adelante, negativa si va marcha atrás. La parte de costado está en .veldx y la rapidez total en .velscalar. .veldn es la misma cifra con el signo cambiado.
El motor la publica después de mover y girar al bot, así que se mide respecto del rumbo nuevo. Si el bot gira sin cambiar su velocidad, el mismo movimiento pasa de .velup a .veldx: un bot que va a 40 hacia adelante y gira un cuarto de vuelta lee .velup 0 y la velocidad entera de costado. En el primer ciclo de vida vale 0.
Su uso más claro es frenar: empujar en contra de la propia velocidad.
' frena: empuja en contra de su velocidad, de frente y de costado
cond
*.velscalar 0 >
start
*.velup .dn store
*.veldx .sx store
stopComo el empujón efectivo es un poco menor que el número escrito, el bot no se para de golpe: pierde unos dos tercios de su velocidad por ciclo y en unos cuatro ciclos lee 0. Las sysvars de velocidad se redondean al entero más cercano, así que puede quedarle una deriva de menos de medio punto por ciclo que ya no se ve.