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

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