NetLogo: ¿Cómo asegurarse de que una variable se mantenga en un rango definido?

Tengo algunas variables que pueden heredarse de agentes secundarios mediante una variación de + 0.1 y -0.1 o sin ningún cambio, o aleatoriamente de nuevo. Lo que he hecho es así: (El código es solo un ejemplo)

to reproduce
  ask turtle 1
  [
  let X-Of-Mother X

  hatch 1
  [

    set X one-of (list (X-Of-Mother) (X-Of-Mother + 0.1) (X-Of-Mother - 0.1) (random-float 1))

    ]

  ]

end

Actualmente tengo que verificar si X de tortuga infantil está siempre dentro del alcance por algo como esto:

if X > 1 [set X X - 0.2]
if X < 0 [set X X + 0.2]

¿Cuál podría ser una mejor manera de hacerlo?

¿Qué pasa si tengo que usar 0.5 normal aleatorio? 0.1 ¿Cómo puedo limitar eso a valores entre 0 y 1? He hecho muchas repeticiones para generar tales números aleatorios. veces que necesito comprobar si está fuera del rango.

por ejemplo :

  to test 
    Let c 0
    let b 0 
    repeat 100000000
    [Set b random-normal 0.5 0.1
      if b > 1 [set C C + 1]
      If b < 0 [set C C + 1]

      ]
    print c  

  end

SALIDA es *67 tiempos fuera de 100000000 Tiempo* 67 es el más grande que tengo, tengo 58, 51, ...

Respuestas a la pregunta(3)

Su respuesta a la pregunta