public void Step() { // Clean up collision trains foreach (var train in CollisionTrains) { Trains.Remove(train); } foreach (var train in Trains.OrderBy(train => train.Y).ThenBy(train => train.X)) { if (CollisionTrains.Contains(train)) { continue; } train.Step(this); foreach (var collideTrain in Trains) { if (train.Equals(collideTrain)) { continue; } if (train.X == collideTrain.X && train.Y == collideTrain.Y) { CollisionTrains.Add(train); CollisionTrains.Add(collideTrain); } } } }
private void OnImport(object sender, EventArgs e) { string path = ""; OpenFileDialog open = new OpenFileDialog(); open.Title = Lang.InportTrainTitle; open.InitialDirectory = Log.GetImporterFolder; open.DefaultExt = ".train"; open.Filter = "Train File (*.train)|*.train"; if (open.ShowDialog() == DialogResult.OK) { try { path = open.FileName; Trains train = Api.ImportTrain(path); if (train != null) { Form1.instance.PrintPanelMessage(Lang.ImportTrainDone + train.Baureihe, false); } } catch (Exception ex) { Form1.instance.PrintPanelMessage(Lang.ImportTrainFailed, true, ex); } } Api.CollectRam(); }
public void ReadFileLineByLine(TrainsDb_200123Context db, FileInfo file) { using (var sr = new StreamReader(file.FullName, Encoding.GetEncoding("ISO-8859-1"))) { sr.ReadLine(); if (false) { using (var sw = new StreamWriter(@"D:\merge.csv", true)) sw.Write(sr.ReadToEnd()); Console.Write("."); } else { int count = 0; string line; while ((line = sr.ReadLine()) != null) { count++; var train = new Trains(); //Trains.FromCsv(line); //db.Trains.Add(train); } db.SaveChanges(); Console.WriteLine($"Importet file: {file.Name}"); Console.WriteLine($"Records: {count}"); } } }
public static void CustomConversions(VehicleInfo info, long id, TrainCategory trainCategory) { { if (info.m_trailers != null && info.m_trailers.Length > 0) //TODO(earalov): implement take trailers feature { switch (id) { default: break; } } if (!Trains.ReplaceLastCar(id, trainCategory)) { return; } if (info.m_trailers != null && info.m_trailers.Length > 0) { info.m_trailers[info.m_trailers.Length - 1] = new VehicleInfo.VehicleTrailer() { m_info = info, m_probability = 100, m_invertProbability = 100 }; } } }
private void MachineLearning() { var startTime = DateTime.Now; var filePath = Path.Combine(_env.ContentRootPath, "Data"); var data = Trains.Select(t => new ModelInput { PassengerId = t.PassengerId, Survived = t.Survived, Pclass = t.Pclass, Name = t.Name, Sex = t.Sex, Age = t.Age.GetValueOrDefault(), SibSp = t.SibSp, Parch = t.Parch, Ticket = t.Ticket, Fare = t.Fare.GetValueOrDefault(), Cabin = t.Cabin, Embarked = t.Embarked }); EvaluateQualityMessage = ModelBuilder.CreateModel(data, filePath); var endTime = DateTime.Now; TrainingTime = (endTime - startTime).TotalSeconds; }
public override string ToString() { var stringBuilder = new StringBuilder(); stringBuilder.AppendLine($"Game State: '{GameState}'"); stringBuilder.AppendLine($"Player with turn: '{Players.First(p => p.Key == PlayerIdWithTurn).Value}'"); var trainIndex = 1; PlayerTrains .ToList() .ForEach(pt => { var train = Trains.First(t => t.Key == pt.Value); stringBuilder.AppendLine(""); stringBuilder.AppendLine($"Player: '{Players.First(p => p.Key == pt.Key).Value}'"); stringBuilder.AppendLine($"train Idx: '{trainIndex}', train id: '{pt.Value}', train state: '{train.Value.Item1}'"); stringBuilder.AppendLine(string.Join(",", train.Value.Item2.Reverse())); trainIndex++; }); stringBuilder.AppendLine(""); stringBuilder.AppendLine($"Mexican train"); stringBuilder.AppendLine($"Idx: '{trainIndex}' id: '{MexicanTrain.Key}'"); stringBuilder.AppendLine(string.Join(",", MexicanTrain.Value.Reverse())); stringBuilder.AppendLine(""); stringBuilder.AppendLine("Hand"); stringBuilder .AppendLine( string.Join(", ", Hand.Select((t, i) => $"{i + 1}: {t} {t.Id}"))); return(stringBuilder.ToString()); }
public virtual void RemoveTrainAt(int index) { Contract.Requires <ArgumentOutOfRangeException>(index >= 0 && index < Trains.Count()); Contract.Assume(index < Trains.Count()); this._trains.RemoveAt(index); }
public ActionResult DeleteConfirmed(int id) { Trains trains = db.Trains.Find(id); db.Trains.Remove(trains); db.SaveChanges(); return(RedirectToAction("Index")); }
private async void CreateTrains() { for (int i = 0; i < Random.Next(4, 7); i++) { Trains.Add(await CreateRandomTrain()); } this.ModifyTrain(null, EventArgs.Empty); }
public void Add() { TrainsController controller = new TrainsController(); ViewResult result = controller.Create() as ViewResult; Trains trains = new Trains { Id = 1, SeriaPociągu = "45WE", NumerPociągu = "001", Stacja = "KMKOL Warszawa Grochów", Rewizja = "P1: 30.11.2021 | Newag Nowy Sącz", Foto = "", Adnotacje = "Brak" }; Assert.IsNotNull(result); }
/// <summary> /// Moves a train at the specified index one step up. /// </summary> /// <param name="index">The index of the train.</param> public virtual void MoveTrainUpAt(int index) { Contract.Requires <ArgumentOutOfRangeException>(index >= 0 && index < Trains.Count()); Contract.Assume(index < this._trains.Count); Train train = this._trains[index]; this._trains.RemoveAt(index); this._trains.Insert(index - 1, train); }
public ActionResult Edit([Bind(Include = "TrainId,TrainNumber,TrainType,BrigadeId,TrainAge")] Trains trains) { if (ModelState.IsValid) { db.Entry(trains).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.BrigadeId = new SelectList(db.Brigades, "BrigadeId", "BrigadeName", trains.BrigadeId); return(View(trains)); }
public static void AddTrainArrival(int idTrain, int platform, TimeSpan arrival) { Trains train = new Trains { name = "TLK " + idTrain.ToString(), platform = platform, timeArrival = arrival.ToString() }; arrivals.Add(train); }
public void AddTrain(Train train) { if (train == null) { throw new ArgumentNullException(nameof(train)); } if (Trains.Contains(train)) { return; } Trains.Add(train); }
public void UpdateContent(LanguageSubtag languageTag) { this.LanguageTag = languageTag; RaisePropertyChanged(() => StationGroupDescription); foreach (var train in Trains) { train.UpdateContent(languageTag); } State = CheckState(Trains.ToArray()); }
public void UpdateContent(LanguageSubtag languageTag) { this.LanguageTag = languageTag; RaisePropertyChanged(() => RailwayDescription); foreach (var train in Trains) { train.UpdateContent(languageTag); } StateFromA = CheckState(Trains.Where(x => x.IsFromA).ToArray()); StateFromB = CheckState(Trains.Where(x => x.IsFromB).ToArray()); }
public void TestNumberOfPeople() { IWebDriver Browser = new ChromeDriver(); Browser.Navigate().GoToUrl("https://www.tutu.ru/"); HomePage homePage = new HomePage(Browser).InpuntInformation("Санкт-Петербург", "Москва", "30.11.2019"); Trains trains = new Trains(Browser).Takefirst(); ChangeWindow(Browser); TakePlace takePlace = new TakePlace(Browser).ChoosePlace(); Assert.AreEqual("Вы не выбрали ни одного пассажира", homePage.GetError()); Browser.Quit(); }
// GET: Trains/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Trains trains = db.Trains.Find(id); if (trains == null) { return(HttpNotFound()); } return(View(trains)); }
// GET: Trains/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Trains trains = db.Trains.Find(id); if (trains == null) { return(HttpNotFound()); } ViewBag.BrigadeId = new SelectList(db.Brigades, "BrigadeId", "BrigadeName", trains.BrigadeId); return(View(trains)); }
public static bool Convert(VehicleInfo info) { long id; if (!Util.TryGetWorkshopId(info, out id) || !Trains.GetConvertedIds(TrainCategory.Tram).Contains(id)) { return(false); } var tram = Cache.TramVehicle; if (tram == null) { return(false); } UnityEngine.Debug.Log("Converting " + info.name); info.m_class = (ItemClass)ScriptableObject.CreateInstance(nameof(ItemClass)); info.m_class.name = info.name; info.m_class.m_subService = ItemClass.SubService.PublicTransportTram; info.m_class.m_service = ItemClass.Service.PublicTransport; info.m_vehicleType = VehicleInfo.VehicleType.Tram; var oldAi = info.GetComponent <TrainAI>(); Object.DestroyImmediate(oldAi); var ai = info.gameObject.AddComponent <TramAI>(); ai.m_transportInfo = Cache.TramTransport; ai.m_info = info; info.m_vehicleAI = ai; ai.m_passengerCapacity = ((TramAI)tram.m_vehicleAI).m_passengerCapacity; ai.m_arriveEffect = ((TramAI)tram.m_vehicleAI).m_arriveEffect; info.m_acceleration = tram.m_acceleration; info.m_braking = tram.m_braking; info.m_leanMultiplier = tram.m_leanMultiplier; info.m_dampers = tram.m_dampers; info.m_springs = tram.m_springs; info.m_maxSpeed = tram.m_maxSpeed; info.m_nodMultiplier = tram.m_nodMultiplier; var effect = tram.m_effects.Where(e => e.m_effect.name == "Tram Movement").First(); info.m_effects = info.m_effects.Where(e => e.m_effect.name == "Train Movement").Select(e => effect).ToArray(); TrainConversions.CustomConversions(info, id, TrainCategory.Tram); return(true); }
public static void TrainMapper() { string[] trainData = FetchData(trainDataPath); for (int i = 1; i < trainData.Length; i++) { string[] splitline = trainData[i].Split(';', ',', ':'); Trains.Add(new Train( int.Parse(splitline[0]), splitline[1], int.Parse(splitline[2]), bool.Parse(splitline[3]), new LogComponent(), new EngineComponent(), new PassengerCartComponent())); } }
public void ReciveTrainInfo(TrainInfo info) { if (TrainsDictionary.Keys.FirstOrDefault(a => a.Name == info.BaseTrain.Number) == null && tempProxy != null) { var train = new TrainUI { Name = info.BaseTrain.Number, Location = info.TrainPosition, PassangersCount = info.BaseTrain.CurrentPassengers, Speed = int.Parse(info.BaseTrain.Speed.ToString()) }; TrainsDictionary.Add(train, tempProxy); Trains.Add(train); tempProxy = null; } }
public ActionResult Edit([Bind(Include = "Id,Seria,Numer,Stacja,Rewizja,Adnotacje")] Trains trains) { if (ModelState.IsValid) { HttpPostedFileBase file = Request.Files["loco"]; if (file != null && file.ContentLength > 0) { trains.Foto = file.FileName; file.SaveAs(HttpContext.Server.MapPath("~/Images/") + trains.Foto); } db.Entry(trains).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(trains)); }
public static void AddTrainDeparture(int idTrain, int platform, TimeSpan departure) { int index = atStation.FindIndex( delegate(Trains trainIndex) { return(trainIndex.name == "TLK " + idTrain); }); atStation.RemoveAt(index); Trains train = new Trains { name = "TLK " + idTrain.ToString(), platform = platform, timeDeparture = departure.ToString() }; departures.Add(train); }
private void CloseButton_Click(object sender, EventArgs e) { if (!nameValidator.Valid) { MessageBox.Show(T._("Bitte erst alle Fehler beheben:\n{0}", nameValidator.ErrorMessage ?? "")); return; } var nameExists = Train.ParentTimetable !.Trains.Where(t => t != Train).Select(t => t.TName).Contains(nameTextBox.Text); if (nameExists) { if (MessageBox.Show(T._("Ein Zug mit dem Namen \"{0}\" ist bereits vorhanden. Wirklich fortfahren?", nameTextBox.Text), "FPLedit", MessageBoxButtons.YesNo) == DialogResult.No) { return; } } Train.TName = nameTextBox.Text; Train.Locomotive = locomotiveComboBox.Text; Train.Mbr = mbrComboBox.Text; Train.Last = lastComboBox.Text; Train.Comment = commentTextBox.Text; Train.Days = daysControl.SelectedDays; if (!editor.ApplyChanges()) { return; } NextTrains = new List <TransitionEntry>(); if (transitionDropDown.SelectedValue != null) { NextTrains.Add(new TransitionEntry((ITrain)transitionDropDown.SelectedValue, Days.All, null)); } if (Train.Id > 0) { tt.SetTransitions(Train, NextTrains); } Close(DialogResult.Ok); }
public static bool Convert(VehicleInfo info) { long id; if (!Util.TryGetWorkshopId(info, out id) || !Trains.GetConvertedIds(TrainCategory.Trains).Contains(id)) { return(false); } var metro = Cache.MetroVehicle; if (metro == null) { return(false); } UnityEngine.Debug.Log("Converting " + info.name); info.m_class = (ItemClass)ScriptableObject.CreateInstance(nameof(ItemClass)); info.m_class.name = info.name; info.m_class.m_subService = ItemClass.SubService.PublicTransportMetro; info.m_class.m_service = ItemClass.Service.PublicTransport; info.m_class.m_layer = ItemClass.Layer.MetroTunnels; info.m_vehicleType = VehicleInfo.VehicleType.Metro; var ai = info.GetComponent <TrainAI>(); Object.DestroyImmediate(ai); ai = info.gameObject.AddComponent <MetroTrainAI>(); ai.m_transportInfo = Cache.MetroTransport; ai.m_info = info; info.m_vehicleAI = ai; info.m_acceleration = metro.m_acceleration; info.m_braking = metro.m_braking; info.m_leanMultiplier = metro.m_leanMultiplier; info.m_dampers = metro.m_dampers; info.m_springs = metro.m_springs; info.m_maxSpeed = metro.m_maxSpeed; info.m_nodMultiplier = metro.m_nodMultiplier; TrainConversions.CustomConversions(info, id, TrainCategory.Trains); return(true); }
public bool Add(Train train) //add train { if (train == null) { throw new ArgumentNullException("train"); } Train t = FindTrain(train.TrainUnit); if (t == null) { Trains.Add(train); //add to list if (OnTrainUpdate != null) { OnTrainUpdate(this, train, true); } return(true); } return(false); }
public bool Remove(Train train) //remove train { if (train == null) { throw new ArgumentNullException("train"); } Train t = FindTrain(train.TrainUnit); if (t != null) { Trains.Remove(t); //remove from list if (OnTrainUpdate != null) { OnTrainUpdate(this, t, false); } return(true); } return(false); }
public static void AddTrainAtStation(int idTrain, int platform, TimeSpan arrival, TimeSpan departure, int passengers) { int index = arrivals.FindIndex( delegate(Trains trainIndex) { return(trainIndex.name == "TLK " + idTrain); }); arrivals.RemoveAt(index); Trains train = new Trains { name = "TLK " + idTrain.ToString(), platform = platform, timeArrival = arrival.ToString(), timeDeparture = departure.ToString(), passengers = passengers }; atStation.Add(train); }
/// <summary> /// Method to generate trains /// </summary> public void GenerateTrain() { while (Go) { Random random = new Random(); int sleep = random.Next(minCheckTime, maxCheckTime); Thread.Sleep(sleep); // Making list of empty tracks List <Track> emptyTracks = new List <Track>(); foreach (var junction in Junctions) { foreach (var track in junction.EntryTracks) { if (track.TrackMutex.WaitOne(10)) { if (track.IsEmpty) { emptyTracks.Add(track); } else { track.TrackMutex.ReleaseMutex(); } } } } // Adding train on random empty track if there is more than 1 empty track if (emptyTracks.Count > 1) { Track trackToGenerateTrain = emptyTracks.ElementAt(random.Next(0, emptyTracks.Count)); Train train = new Train(this, trackToGenerateTrain, TrainId++); Trains.Add(train); } // Releasing mutex of empty tracks foreach (var track in emptyTracks) { track.TrackMutex.ReleaseMutex(); } } }