Artículos

Reglas de Variables y VI

Tutorial de Utilización de Reglas de Variables aplicadas a una sesión. Parte IV y última

Tutorial de Utilización de Reglas de Variables aplicadas a una sesión Parte VI.

Continuamos...

Relación de reglas utilizadas

Ordered List

La regla de lista ordenada es una regla de Lista que no hace nada por si misma, es una manera de controlar la ejecución de reglas anidadas.

Al ejecutarse esta regla en particular ejecuta reglas anidadas una después de otra.

Lo que hace esta regla es ejecutar la primera regla anidada y esperará a que está termine para ejecutar la siguiente. Hará esto progresivamente hasta que haya pasado por todas las reglas anidadas que gobierna una después de la otra. Como resultado de esta ejecución de reglas anidadas lineal, no habrá
nunca más de una regla anidada ejecutándose al mismo tiempo.

Pasando por todas las reglas anidadas que controla ejecutándose cada una en su orden se le llama "ciclo de la lista" Cuando la última regla anidada termine el ciclo de la lista se completará. Esto no será confundido con el inicio y terminación ciclo de una regla.

Una vez este ciclo de la lista de reglas anidadas está completo, la regla de la Lista ordenada o se completará o reiniciará el ciclo de nuevo. Si el ciclo de la lista se reinicia o la regla se completa depende de su configuración.


Diagrama 5.2: gráfica de flujo que muestra el ciclo de una regla de la Lista Ordenada.

En el Diagrama 5.2 de arriba, se muestra el ciclo de vida de una regla de Lista Ordenada. Lo que pasa en el ciclo una vez completo depende de las propiedades de la regla, hay dos opciones disponible:

Ejecute el ciclo de lista de reglas anidadas una cantidad fija de veces antes de terminar

Ejecute el ciclo de lista de reglas anidadas indefinidamente.

Si se ejecuta el ciclo para una cantidad fija de tiempos, la Lista Ordenada (Ordered List) se completa una vez que ha terminado el ciclo de lista de reglas anidadas la suma total de X veces, dónde X es fijo en la configuración de las propiedades de la regla.

La configuración predefinida para esta regla es sólo de ejecutar un ciclo y terminarse, para que las reglas anidadas sólo se ejecutarán una vez a través de esta regla y se completará entonces sin pasar por otro ciclo.

La alternativa para que las reglas anidadas se ejecuten una cantidad fija de ciclos es seguir indefinidamente ejecutando las reglas anidadas. Esto significa que la regla de la Lista Ordenada (Ordered list) siempre se reiniciará de nuevo y nunca terminará el ciclo. Sin embargo eso no significa que esta regla que corre indefinidamente no puede detenerse desde Trainz o desde una padre que haga
parar un ciclo determinado cuando se necesite.

Ejemplo, un uso ideal para esta regla sería cuando una regla particular (Regla Cool tiene una dependencia en otra regla (Regla A) se complete antes de que pueda hacer su trabajo. Poniendo ambas Regla A y Regla B como anidadas gobernadas por una regla de la Lista Ordenada, es posible asegurar que la Regla B sólo se ejecuta una vez la Regla A se ha completado (Asumiendo que la
regla A se completa en un momento apropiado).

Tip: Ésta es una de las varias reglas de lista que pueden
ocuparse de reglas anidadas de una manera específica. Otras
reglas de la lista incluyen la Lista Progresiva, la Lista Aleatoria,
Restablecimiento de Lista y la Lista Simultánea.

Variable Show

Una variable es un valor del número entero que tiene un único nombre para identificarlo y una etiqueta de visualización que aparecerá en el tablero de HUD Personalizado como se ve en la imagen 5.41.


Imagen 5.41 Variable mostrada en el tablero personalizado HUD en modo
Conductor

Las variables no existen a menos que se creen explícitamente de algún modo y esto se realiza en al regla "Variable Show". Puede configurarse o crear una nueva variable para que se despliegue en el HUD Personalizado o quita una variable existente del HUD Personalizado.

La ventana de propiedades de esta regla (como se ve en la imagen 5.42) permite crear una nueva variable con la etiqueta y agregarla al HUD Personalizado. Sin embargo, el valor de la variable no puede ponerse aquí, eso debe hacerse con la regla “Variable Modify” después.

Para quitar una variable del HUD Personalizado, sólo necesita ser especificado su nombre.


Imagen 5.42. Ventana de propiedades de la regla “Variable Show”

Para ser visible la variable, el tablero de HUD Personalizado tiene que haber sido hecho visible con la regla "Display Custom HUD" (Despliegue del HUD Personalizado). Sin embargo, las variables pueden existir como valores invisibles virtuales usados por las reglas de la sesión aunque el usuario no sepa
para que utilizarlas en ese momento.

Una vez empezado, esta regla crea/añade y quita los valores de la variable según la configuración. Si el tablero de HUD Personalizado no existe y la variable se modifica, la variable todavía existirá en el mundo de Trainz con un valor que el usuario no puede ver. Después de que las variables han sido
añadida/eliminada, esta regla finalizará sin modificar nada. Es una regla de un solo uso, que necesita ser restablecida si se necesita de nuevo.

Tip: para manipular e inspeccionar los valores de una variable ,
use las reglas "Variable Check", "Variable Modify" y "Variable
Modify Continuous".

Variable Check

Esta regla es una regla del Chequeo que compara el valor asignado a una variable con respecto a un valor fijo usando un operador de comparación lógico.

Nota: El concepto de lo qué es una variables y cómo crearlas se
discute en la descripción de la regla "Variable Show" (mostrar
variable).

Para que el nombre de la variable pueda ser verificado, el tipo de chequeo que se realiza en la variable y el valor de esta comparación necesita ser colocado en la ventana de propiedades de la regla.


Imagen 5.39. Ventana de propiedades de la regla “Variable Check”

Las comparaciones lógicas que se pueden utilizar en esta regla son:

Menor que () "Less than"
Menor que o iguala a (=) "Less than or equal to"
Igual a (==) "Equal to"
Mayor que () "Greater than"
Mayor que o iguala a (=) "Greater than or equal to"
No igual a/distinto de (!=) "Not equal to"

Estos son los operadores de comparación de valores típicos que la mayoría de los lenguajes de programación tiene. La comparación predefinida es "menor que", así que haga clic en ese enlace para cambiarlo como se desee. El valor de la comparación por defecto es 1.

Cuando comienza esta regla realizará el chequeo en seguida de dicha variable.

Si el chequeo en la variable tiene éxito (es decir se cumple la condición a verdadero), Esta regla ejecutará las reglas anidadas hasta que terminen. Por otra parte se completará sin hacer nada si el chequeo de la variable no tiene éxito (no cumple la condición y devuelve falso).

Esta regla no espera si el chequeo de la variable se ha realizando con éxito. Es una regla un solo uso que necesita ser restablecida si necesita de nuevo realizar el chequeo de la variable.

Nota: esta regla para poder trabajar, necesita que la variable
designada que está verificando deba existir ya para esta regla.
Use la regla "Variable Show" para crear la variable y "Variable
Modify" para inicializarla como la necesitemos.

Variable Modify

Esta regla modifica la variable designada con un valor fijo junto con un funcionamiento. Los tres operadores de modificación que esta regla utiliza son:

Suma (+) "Add"
Resta (-) "Subtract"
Igualar a (=) "Set value to"


Imagen 5.40 Ventana de propiedades de la regla “Variable Modify”

Para acompañar al nombre de la variable y las propiedades de funcionamiento, hay la propiedad de valor que determina cómo es aplicable a la variable la operación.

Esta regla tiene la opción de imponer un límite superior y uno inferior tal que dicha variable no sobrepasará dichos límites tanto por arriba como por debajo.

Estos límites no se aplicarán a la variable sólo para esta modificación, sino para toda su ejecución hasta que se cambie en otra parte por otra regla.

Cuando esta regla comienza aplica la modificación a la variable y termina. No se ejecuta ninguna regla anidada. Si una variable no válida se especifica, esta regla finalizará sin modificar nada. Es una regla de un solo uso, que necesita ser restablecida si necesita de nuevo realizar el chequeo de la variable.

Nota: para trabajar, la variable designada que está modificando
debe existir para que esta regla funcione. Use "Variable Show"
para crear la variable. "Variable check" puede usarse para
verificar el valor actual de una variable.

Driver Schedule Rule

Esta regla no se documenta todavía. sin embargo es funcional y trabaja.

Simultaneous List

La regla de la Lista Simultánea es una de las reglas de Lista que no hacen nada directamente, sino una manera de controlar las reglas anidadas que contienen.

Cuando se inicia la primera vez, esta regla particular empezará la ejecución de todas sus reglas anidadas simultáneamente. De como esta regla se complete dependerá de su contenido


Diagrama 5.6: Diagrama de flujo de la regla de Lista Simultánea que muestra la realización cuando todas reglas anidadas han alcanzado un estado de "completo" (o "estaban completadas"Wink.

La primera opción para que esta regla se complete es que todas las regla anidadas hayan alcanzado un estado de completo (o "estuviesen completadas"Wink.

Como se ilustra en le Diagrama 5.6.

En el caso "estar completadas", significará que todas las reglas anidadas deben de haber alcanzado por lo menos una vez ya un estado completo en su ciclo de vida. Todavía pueden seguir y hacen otras cosas esta regla aunque se sigua considerado algún anidamiento como "estado completo”.

La otra manera que la regla de Lista Simultánea puede completarse es terminarla en el momento una regla anidada se completa. Esto significa que todas las otras reglas anidadas se restablecerán y terminando porque la regla de la lista se ha completado en base a que cualquier regla anidada se haya
completado primero. el diagrama 5.7 muestra esta conducta:


Diagrama 5.7: el Diagrama de flujo de la regla de la Lista Simultánea que termina cuando cualquier de las reglas anidadas ha terminado.

Tip: Esta es una de las varias reglas de lista que pueden
ocuparse de reglas anidadas de una manera específica. Otras
reglas de la lista incluyen la Lista Progresiva, la Lista Aleatoria,
Restablecimiento de Lista y la Lista Simultánea.

manweb 03-07-2020 3365 leen 0 comentarios Imprimir

0 comentarios

Deja un comentario

Debes iniciar sesión para publicar un comentario.
  • No hay comentarios.