Bonjour,
Avant de me lancer dans les lignes de programme, je vais faire un
cahier des charges de ce que je veux faire comme gestionnaire.
Le conducteur du train part avec sa Feuille de Route qui lui donne un but et des gares de passage (entre autres). Il y a aussi les horaires sur lesquels je ferai l’impasse.
Il faut donc un objet "Feuilles de route" qui engrange toutes les feuilles de routes actives à un moment donné.
Dans les gares, il faudra des itinéraires. Objet "Itineraire"
A noter qu’on ne choisit pas tous les itinéraires de toutes les gares entre le départ et le but avant le départ (comme je faisais dans mon ancien gestionnaire).
J’ai attendu suffisamment longtemps dans ma vie devant les panneaux d’affichage pour savoir que les itinéraires se décident "au dernier moment".
Un itinéraire est d'abord enregistré : on mémorise la voie d'entrée et la voie de sortie dans toutes les gares traversées. Quand le train sera à proximité de la gare, c'est là qu'on pourra lancer la recherche d'itinéraire pour cette gare, ce qui donnera la voie choisie dans la gare, à ce moment.
Il y a un classement des priorités des trains.
Train de voyageurs rapide (Express) ou lent (Omnibus)
Train de marchandises rapide (Régime Accéléré) ou lent (Régime Ordinaire).
On a EX > OM > RA > RO à la SNCF.
A noter qu'en Amérique, les trains de marchandise sont prioritaires sur les trains de voyageurs.
Puisqu'on parle d'itinéraires, on ne peut pas accéder à un appareil de voie donné directement.
Pas de boutons pour changer la position d'un appareil de voie sur le TCO, ni de clic sur un écran.
On doit passer par un itinéraire.
Quand l'itinéraire se forme, il modifie la position des appareils de voie (si c'est possible) et interdit aux itinéraires incompatibles de se former (c'est l'enclenchement).
Comme il y a souvent plusieurs itinéraires possibles entre un point A et un point B, il faut trouver une façon de les prioriser pour qu'un seul itinéraire soit proposé, celui qui a la plus forte priorité. Sachant aussi qu'un itinéraire d'un express passe avant celui d'un omnibus, même si l'omnibus est arrivé avant. De plus, un express passe prioritairement sur l'itinéraire le plus direct.
La priorisation ne peut pas être l'itinéraire le plus court, sinon un omnibus peut bloquer la gare. D'où le poids des appareils de voie dans le fichier "Zones"
Une fois les appareils de voie en position, on peut décider de l'affichage des feux puisqu'ils tiennent compte de la position des appareils de voie et des occupations des trains.
Une fois que les feux sont affichés, on peut lancer les trains, les faire ralentir et s'arrêter puisqu'ils obéissent aux feux.
Et on recommence au début en regardant si de nouveaux itinéraires sont possibles après le déplacement des trains.
Denis
