public Task(string name, int startSecond, int duration, Event eventObject) : base(name, startSecond, duration) { eventIdentifier = eventObject.identifier; }
public void addScenario3() { scenarioLength = 610; Event event1 = new Event("GESTRANDE_TREIN", 5, 600); elements.Add(event1); // Gesprek met machinist kapotte trein elements.Add(new Task("COMMUNICATIE", 10, 90, event1)); // Gesprek met VKL elements.Add(new Task("COMMUNICATIE", 110, 90, event1)); // Rijweginstelling kapotte trein verhinderen elements.Add(new Task("SELECTEER_REGEL", 200, 3, event1)); elements.Add(new Task("VIND_TREIN", 205, 15, event1)); elements.Add(new Task("ARI_UIT", 220, 3, event1)); elements.Add(new Task("DESELECTEER_REGEL", 223, 2, event1)); // Sein herroepen bij de wissel elements.Add(new Task("HERROEP_SEIN", 230, 20, event1)); // Rijweginstelling trein verhinderen elements.Add(new Task("SELECTEER_REGEL", 260, 3, event1)); elements.Add(new Task("VIND_TREIN", 265, 20, event1)); elements.Add(new Task("ARI_UIT", 285, 3, event1)); elements.Add(new Task("HAND_VERWERK_REGEL", 290, 60, event1)); elements.Add(new Task("ARI_IN", 350, 3, event1)); elements.Add(new Task("DESELECTEER_REGEL", 355, 3, event1)); // Communicatie monteur elements.Add(new Task("COMMUNICATIE", 380, 60, event1)); // Rijweginstelling trein herstellen elements.Add(new Task("SELECTEER_REGEL", 440, 3, event1)); elements.Add(new Task("VIND_TREIN", 445, 20, event1)); elements.Add(new Task("HAND_VERWERK_REGEL", 470, 60, event1)); elements.Add(new Task("ARI_IN", 530, 3, event1)); elements.Add(new Task("DESELECTEER_REGEL", 535, 3, event1)); }
/// <summary> /// Een korte (3 min bijvoorbeeld) vertraagde trein, wat problemen oplevert voor een andere trein. /// Deze andere trein zou direct na de eerste het spoor moeten kruisen. (sein) /// </summary> public void addScenario1b() { scenarioLength = 140; Event event1 = new Event("VERTRAAGDE_TREIN_PROBLEEM", 10, 120); elements.Add(event1); elements.Add(new Task("SELECTEER_REGEL", 15, 3, event1)); elements.Add(new Task("KWIT_VERT_REGELS", 20, 5, event1)); elements.Add(new Task("ARI_UIT", 45, 3, event1)); elements.Add(new Task("HERROEP_SEIN", 50, 20, event1)); elements.Add(new Task("HAND_VERWERK_REGEL", 70, 20, event1)); elements.Add(new Task("ARI_IN", 95, 3, event1)); elements.Add(new Task("VERWERK_VERT_REGELS", 100, 5, event1)); elements.Add(new Task("DESELECTEER_REGEL", 107, 3, event1)); }
/// <summary> /// Een gestoorde wissel. Met twee treinen, waarvan de voorste niet over de (geklemde) wissel in de correcte richting kan, /// en een tweede die hierachter voor een sein staat en wel over de wissel kan. /// </summary> public void addScenario2() { scenarioLength = 440; Event event1 = new Event("GESTOORDE_WISSEL", 0, 420); elements.Add(event1); // Voor de trein die niet over de gestoorde wissel kan elements.Add(new Task("SELECTEER_REGEL", 2, 5, event1)); elements.Add(new Task("VIND_TREIN", 5, 15, event1)); elements.Add(new Task("ARI_UIT", 20, 3, event1)); elements.Add(new Task("HERROEP_SEIN", 35, 20, event1)); elements.Add(new Task("DESELECTEER_REGEL", 58, 3, event1)); // Voor de trein aankomend achter de eerste elements.Add(new Task("SELECTEER_REGEL", 62, 3, event1)); elements.Add(new Task("VIND_TREIN", 65, 15, event1)); elements.Add(new Task("ARI_UIT", 80, 3, event1)); elements.Add(new Task("HERROEP_SEIN", 85, 20, event1)); elements.Add(new Task("DESELECTEER_REGEL", 113, 3, event1)); // De tweede trein wordt omgeleid elements.Add(new Task("SELECTEER_REGEL", 115, 3, event1)); elements.Add(new Task("HAND_VERWERK_REGEL", 125, 35, event1)); elements.Add(new Task("VERWERK_VERT_REGELS", 170, 5, event1)); elements.Add(new Task("ARI_IN", 178, 3, event1)); elements.Add(new Task("DESELECTEER_REGEL", 184, 3, event1)); // Na inspectie kan de eerste trein voorzichtig over de geklemde wissel elements.Add(new Task("SELECTEER_REGEL", 190, 3, event1)); elements.Add(new Task("HAND_VERWERK_REGEL", 200, 35, event1)); elements.Add(new Task("VERWERK_VERT_REGELS", 245, 5, event1)); elements.Add(new Task("LASTGEVING", 310, 45, event1)); //over geklemde wissel elements.Add(new Task("ARI_IN", 365, 3, event1)); elements.Add(new Task("DESELECTEER_REGEL", 370, 3, event1)); }
/// <summary> /// Een (korte, 1 min bijvoorbeeld) vertraagde trein, zonder problemen voor een andere trein. /// Deze andere trein zou bijvoorbeeld 3 min later het spoor van de eerste trein moeten kruisen. /// </summary> public void addScenario1a() { scenarioLength = 80; Event event1 = new Event("VERTRAAGDE_TREIN_OK", 10, 60); elements.Add(event1); elements.Add(new Task("SELECTEER_REGEL", 15, 3, event1)); elements.Add(new Task("KWIT_VERT_REGELS", 20, 5, event1)); elements.Add(new Task("VERWERK_VERT_REGELS", 45, 5, event1)); elements.Add(new Task("DESELECTEER_REGEL", 52, 3, event1)); }