Start()
=======

FUNKTION
--------
::

     varargs void Start(int pos);

DEFINIERT IN
------------
::

     /std/transport.c

ARGUMENTE
---------
::

     pos
          Fahrplanstation, an der begonnen werden soll.

BESCHREIBUNG
------------
::

     Diese Funktion schickt den Transporter auf die Strecke. Dabei beginnt
     der Weg an der mit pos bezeichneten Stelle im Fahrplan. Default ist 0,
     d.h. der Transporter beginnt seinen Weg an der ersten Fahrplanposition.

RUeCKGABEWERT
-------------
::

     keiner

SIEHE AUCH
----------
::

     Halt(), /std/transport.c


Last modified: Wed May 8 10:25:30 1996 by Wargon

