JTraffic Screensaver

The Composition of Trains

<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 ( 3–6), 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

The Configuration Window
Program Window
Stock List
Description Editor
Graphic Testpad
Timetable Editor
Timetable Syntax and Semanics
The timetable header
Sections, Groups, Lines, Scenes
Stock List File