<Train> == <VehicleList>
|| <GlobalModifiers> <VehicleList>
<GlobalModifiers> == <GlobalModifier>
|| <GlobalModifiers> <GlobalModifier>
<GlobalModifier>
== <
|| >
|| [!
<Criteria>
]
|| [MP:
<Simple>
]
|| [MI:
<Simple>
]
|| <
PantographState>
|| <Modifier>
<VehicleList> == <Repetition>
|| <VehicleList>
,
<Repetition>
<Repetition> == <SelElement>
|| <RepeatCount>
*
<SelOrElem>
|| <RepeatCount>
@
<SelOrElem>
<SelOrElem> == <Element>
|| <Selection>
<Selection> == <Choice> | <Choice>
|| <Selection> | <Choice>
<Choice> == <Element>
|| <Probability>
:
<Element>
<Element> == <Vehicle>
|| (
<Train>
)
<Probability> == <Simple>
<RepeatCount> == <Integer>
A train is - in its simplest form - a list of vehicles that are separated by commas, or simply a single vehicle.
Selection and Repetition
Inside the list of vehicles probabilities can be specified for repetition and/or selection:
<Choice1> | <Choice2> | … <Choicen>
Depicts a random selection of < Choice
>. Here all of the choices are equally as likely to be selected.
<Probability1>:<Choice1> | <Probability2>:<Choice2> | …
Depicts a random selection that has weighted probability. This means that certain < Choices
> can be weighted to appear more or less frequently in random selections. The default for <Probability>
is 1, so if not all of the < Choices
> are given explicit weights one can still use the weighted <Probability>
intermixed. This form can also be used to weight number selections as well.
<RepeatCount>
*
<SelOrElem>
The program repeats the vehicle or the part of the train as many times as is specified in <RepeatCount>
. The result is a mixed selection when more than one <Choice>
is specified in the statement. If this selection is combined with other selections encased in parentheses, many variations in the selection can be achieved.
Example: 3*DR_GBS1500C|DR_GBS1500D
will result in three vehicles which could be either one and/or both of the two types of vehicle.
<RepeatCount> @ <SelOrElem>
The program repeats the vehicle or part of the train as many times as is specified in <RepeatCount>
. The result is a fixed selection if more than one <Choice>
is specified in the statement.
Example: 3@DR_GBS1500C|DR_GBS1500D
will result in three vehicles of one or the other type, but not both simultaneously. This can be a useful tool to compose unit trains of all of the same vehicle type.
The number of repetitions <RepeatCount>
need not be only a simple integer. It can be a range ( 36
), a selection ( 3|4|7|8
) or a selection with weighted probabilities ( 3:1|5:2|10:4
) - refer also to the description under <Integer>
.
The individual forms can also be placed in parentheses and combined
Example: BR103|(BR218BB,BR218ROT),(4:0|6:1)*DM,3-5*(BPMZ|BVMZ),2@(AVMZ|APMZ)
With a probability of 50%, the train will be pulled by either a BR103 class locomotive or two BR218
locomotives. With a 60% probability, there will be a mail car after the locomotive. Then either three, four or five passenger cars will follow of the type BPMZ
and/or BVMZ
. Bringing up the end of the train are two more passenger cars of either AVMZ
class or APMZ
class (but not AVMZ
and APMZ
).
Next: Global Modifiers