DarwinBotsManual
Abrir la app EnglishEN

!%=

a b !%= deja verdadero si b se aleja más de un 10 % de a. Es la negación exacta de %=, así que con a negativo da siempre verdadero.

Datos

Palabra
!%=
Familia
Comparaciones
Pila entera
saca 2, pone 0
Pila booleana
saca 0, pone 1
Qué hace
Saca a b y apila verdadero si b se aleja más del 10 % de a: lo contrario de %=. Con a negativo da siempre verdadero.
Costo
Condición
Se ejecuta en
dentro de un gen: en la condición (cond) y en el cuerpo (start o else)

a b !%= apila verdadero cuando b no está dentro del 10 % de a, y falso cuando sí. Es exactamente lo contrario de %=: 100 111 !%= es verdadero y 100 109 !%= es falso.

Sirve para reaccionar solo cuando algo se desequilibró bastante, sin gastar energía por diferencias chicas. Este gen convierte energía en cuerpo (.strbody) cuando la energía (.nrg) supera al cuerpo (.body) en más de un 10 %, y para cuando quedan parejos:

' pasa energía al cuerpo mientras sobre energía
cond
  *.body *.nrg !%=
  *.nrg *.body >
start
  100 .strbody store
stop

La referencia es el cuerpo, el número de abajo. Un bot que arranca con 3000 de energía y 1000 de cuerpo se detiene en 1200 de energía y 1180 de cuerpo, cuando la energía entra en el 10 % del cuerpo. El bot This'n'That 1.01 (Peksa), del Bestiario, usa la misma idea en las dos direcciones; está en dupbool.

Como es la negación exacta, hereda al revés la rareza de %=: con una referencia negativa, !%= da siempre verdadero. Con la pila entera vacía compara 0 con 0 y da falso. La versión con porcentaje propio es !~=.