/* * Creates the new track layout */ private void buildRailRoad() { if (EXPLICIT) { Console.WriteLine("Initialising railway"); if (WAIT) { Console.ReadLine(); } } railway = new iHasRails[2 * Stations.Length]; for (int i = 0; i < Stations.Length; i++) { TimeDistr passdens; int pass; if (Stations[i][Stations[i].Length - 1] == '0') { passdens = PassDens_0; pass = PassDir0; } else { passdens = PassDens_1; pass = PassDir1; } if (isEndstation[i]) { // This block: calculates the offset necesary in the timeschedule. int drivetime = 0; for (int j = 0; j < i; j++) { drivetime += Convert.ToInt32(DrivTimAvg[j]) + PerStationLeeway; } if (drivetime > 0) { drivetime += 4 * 60; } railway[2 * i] = new Endstation(Stations[i], hasDepot[i], NoTrams, PassInrates[i], PassOutrates[i], passdens, pass, DrivTimAvg[i], DrivTimVar[i], TramSchedule, drivetime, DataFolder, this ); } else { railway[2 * i] = new Station(Stations[i], PassInrates[i], PassOutrates[i], passdens, pass, DrivTimAvg[i], DrivTimVar[i], DataFolder, this); } railway[2 * i + 1] = new InTransit(NoTrams, this, Stations[i]); } for (int i = 0; i < railway.Length; i++) { railway[i].initStuff(railway[(railway.Length + i - 1) % railway.Length], railway[(railway.Length + i + 1) % railway.Length] ); } }
/* Creates the new track layout */ private void buildRailRoad() { if (EXPLICIT) { Console.WriteLine("Initialising railway"); if (WAIT) Console.ReadLine(); } railway = new iHasRails[2 *Stations.Length ]; for (int i = 0; i < Stations.Length; i ++) { TimeDistr passdens; int pass; if (Stations[i][Stations[i].Length -1] == '0') { passdens = PassDens_0; pass = PassDir0; } else { passdens = PassDens_1; pass= PassDir1; } if (isEndstation[i]) { // This block: calculates the offset necesary in the timeschedule. int drivetime = 0; for (int j = 0; j < i; j++) { drivetime += Convert.ToInt32(DrivTimAvg[j]) + PerStationLeeway; } if (drivetime > 0) drivetime += 4*60; railway[2*i] = new Endstation( Stations[i], hasDepot[i], NoTrams, PassInrates[i], PassOutrates[i], passdens, pass, DrivTimAvg[i], DrivTimVar[i], TramSchedule, drivetime , DataFolder, this ); } else railway[2*i] = new Station(Stations[i], PassInrates[i], PassOutrates[i], passdens, pass, DrivTimAvg[i], DrivTimVar[i], DataFolder, this); railway[2*i + 1] = new InTransit(NoTrams, this, Stations[i]); } for (int i = 0; i < railway.Length; i++) { railway[i].initStuff( railway[(railway.Length + i - 1)%railway.Length], railway[(railway.Length + i + 1)%railway.Length] ); } }