DarwinBotsManual
Abrir la app EnglishEN

.vtimer

La cuenta regresiva del virus en incubación: 0 si no hay virus, baja de a 1 por ciclo y se detiene en 1 hasta el disparo.

Datos

Dirección
337
Nombre
.vtimer
Tipo
Interna: el motor la reescribe; escribirla no tiene efecto duradero
Grupo
ADN y virus
Quién la escribe
El motor, cada ciclo en la fase de movimiento. La publica antes de fabricar, así que el ciclo siguiente a .mkvirus todavía leés 0.
Cuándo se borra
No: el motor la reescribe cada ciclo; vuelve a 0 al disparar el virus.
Rango
0 a 32000: 0 sin virus, más de 1 incubando, 1 listo para disparar.
Mutaciones
la eligen como lectura (*)

Cuando el bot fabrica un virus con .mkvirus, el motor fija la incubación en el doble de palabras del gen copiado y la va bajando de a 1 por ciclo. .vtimer muestra esa cuenta:

ValorQué significa
0No hay virus: se puede fabricar uno.
más de 1Hay un virus incubando.
1El virus está listo y espera un .vshoot.

Al disparar vuelve a 0. Si nunca escribís .vshoot, se queda en 1 para siempre y el bot no puede fabricar otro virus.

Como todo sentido, llega con un ciclo de atraso: el ciclo siguiente a la orden de .mkvirus todavía lee 0, aunque el virus ya esté incubando. No es grave, porque una segunda orden no fabrica nada mientras haya un virus, pero si la condición sobre *.vtimer 0 = hace algo más que pedir el virus, se va a ejecutar dos veces.

No se puede escribir: el motor la reescribe cada ciclo.

' Dispara el virus apenas está listo, con más fuerza si tiene energía
cond
 *.vtimer 1 =
 *.nrg 5000 >
start
 100 .vshoot store
stop
cond
 *.vtimer 1 =
 *.nrg 5000 <=
start
 20 .vshoot store
stop