public void CheckDock(Dock Dock) { if (!Dock.hasShip()) { if (Dock.RoundsWithoutShip > 2) { Dock.Ship = new Ship(); Dock.RoundsWithoutShip = 0; } else { Dock.RoundsWithoutShip++; } } }
public void MoveCarts() { TrackSwitch w = null; Dock k = null; List <Cart> delete = new List <Cart>(); Track next = null; foreach (Cart Cart in Carts) { // TrackContainervak zoeken Track track = TrackContainer.SearchIndex(Cart.Index); // Kijken of VOLGEND TrackContainervaak een wissel is if (track.Next != null && track.Next.GetType().Name == "TrackSwitch") { w = (TrackSwitch)track.Next; if (w.TrackType == TrackType.TwoInOneOut) { // Wanneer stand van wissel op Boven staat if (w.Position == Position.Up) { // Wanneer inkomend TrackContainervak gelijk is aan Boven if (track == w.Up) { next = w; } } else if (w.Position == Position.Down) { if (track == w.Down) { next = w; } } } else { next = track.Next; } } // Kijken of HUIDIG TrackContainervak wissel is else if (track.GetType().Name == "TrackSwitch") { w = (TrackSwitch)track; if (w.TrackType == TrackType.OneInTwoOut) { if (w.Position == Position.Up) { next = w.Up; } else { next = w.Down; } } else { next = track.Next; } } // Als volgende normaal TrackContainervak is else if (track.GetType().Name == "Track" || track.GetType().Name == "Start") { next = track.Next; } else if (track.GetType().Name == "Dock") { k = (Dock)track; if (k.hasShip()) { Points += k.fillShip(); } track.Cart = null; delete.Add(Cart); } //TODO try { moveCart(track, next); } catch (Exception_CantMoveCart e) { controller.Stop(); Console.WriteLine(e.ToString()); Console.ReadLine(); //throw new Exception_KanCartNietVerplaatsen(); } next = null; } // Remove Cartren from Cartren outside foreach loop foreach (Cart Cart in delete) { Carts.Remove(Cart); } }
public void printTrack(TrackContainer t) { Console.Write(" "); for (int i = 0; i <= t.TrackAmount; i++) { Track tr = t.SearchIndex(i); switch (i) { case 4: Console.Write(" "); break; case 9: Console.WriteLine(""); Console.Write(" "); break; case 12: Console.Write(" "); break; case 20: Console.WriteLine(""); Console.Write(" "); break; case 24: Console.Write(" "); break; case 26: Console.Write(" "); break; case 28: Console.WriteLine(""); Console.Write(" "); break; case 31: Console.WriteLine(""); Console.Write(" "); break; case 32: Console.Write(" "); break; case 38: Console.Write(" "); break; default: break; } if (tr.GetType().Name == "Dock") { Dock dock = (Dock)tr; if (Dock.hasShip()) { Console.Write(tr.Display + " (schip " + dock.Ship.Content + "/" + dock.Ship.MaxContent + ")"); } else { Console.Write(tr.Display); } } else { Console.Write(tr.Display); } } Console.WriteLine(""); }