.tielen1
Largo del primer lazo de un multicelular, de borde a borde; escribirlo fija el largo natural de ese lazo.
Datos
- Dirección
- 484
- Nombre
.tielen1- Tipo
- Entrada y salida: la escriben el bot y el motor
- Grupo
- Lazos
- Quién la escribe
- Tu ADN y el motor. Escribirla con
store(u otro store de dos operandos) fija el largo natural del primer lazo, con signo, en la fase de movimiento; después el motor escribe el largo medido, que leés en el ciclo siguiente. - Cuándo se borra
- El motor la reescribe en cada ciclo, solo si sos multicelular, el primer lazo está endurecido y
.tienumo.tiepresno valen 0. - Rango
- desde unos −240 (bots superpuestos) hasta 32000
- Mutaciones
- la eligen como lectura (
*) y como destino de un store
Es una celda de ida y vuelta para el primer lazo del bot (el más antiguo que le queda; si se corta uno, los siguientes corren un lugar), y solo funciona si el bot es multicelular (.multi) y ese lazo está endurecido.
Leer. En cada ciclo el motor publica la distancia al compañero descontando los dos radios. Se mide antes de mover a los bots, así que puede diferir un poco de .tielen.
Escribir. Un valor escrito con store (o con otro store de dos operandos) se vuelve el largo natural del lazo, de borde a borde, para los dos extremos, igual que .fixlen pero sin elegir el lazo con .tienum. A diferencia de .fixlen, acá el signo cuenta: un negativo pide que los bots se superpongan. Después el motor vuelve a escribir la medición en la celda. Con inc o dec el lazo no se entera (ver Escribir en la memoria).
Si el bot no es multicelular o el primer lazo no está endurecido, el motor no toca la celda. Tampoco la toca si .tienum y .tiepres valen 0 los dos.
' mantener el primer lazo a 150
cond
*.multi 1 =
start
150 .tielen1 store
stopCon un hijo atado al padre, una vez endurecido el lazo la distancia pasa de casi 0 a unos 150: se pasa de largo al principio y después queda oscilando entre unos 115 y 175. El ángulo del mismo lazo es .tieang1.