Exemple #1
0
 private void PathFromBToS1()
 {
     _field[0, 4]       = B;
     B.Next             = new Rail();
     _previousrail      = B.Next;
     _field[1, 4]       = _previousrail;
     _rail              = new Rail();
     _previousrail.Next = _rail;
     _previousrail      = _rail;
     _field[2, 4]       = _rail;
     _rail              = new Rail();
     _previousrail.Next = _rail;
     _rail.Name         = "╝";
     _field[3, 4]       = _rail;
     _rail.Next         = s1;
     _field[3, 3]       = s1;
     _previousrail      = s1;
     s1.Previous        = _rail;
 }
Exemple #2
0
 private void PathFromAToS1()
 {
     _field[0, 2]          = A;
     A.Next                = new Rail();
     _previousrail         = A.Next;
     _field[1, 2]          = _previousrail;
     _rail                 = new Rail();
     _previousrail.Next    = _rail;
     _field[2, 2]          = _rail;
     _previousrail         = _rail;
     _rail                 = new Rail();
     _previousrail.Next    = _rail;
     _field[3, 2]          = _rail;
     _rail.Name            = "╗";
     _rail.Next            = s1;
     _field[3, 3]          = s1;
     s1.NotUsedPrevious    = _rail;
     s1.CurrentSwitchState = SwitchState.FromBelow;
 }
Exemple #3
0
        public override void Move(Spot spot)
        {
            Spot oldSpot = CurrentSpot;

            if (spot == null)
            {
                oldSpot.RemoveVehicleFromRail(this);
                return;
            }

            if (CurrentSpot == spot.NotUsedPrevious)
            {
                return;
            }

            oldSpot.RemoveVehicleFromRail(this);
            CurrentSpot = spot;
            spot.PutVehicleOnRail(this);
        }
Exemple #4
0
 private void RailFromS5ToQuay()
 {
     s5.Next            = new Rail();
     _previousrail      = s5.Next;
     _field[10, 3]      = _previousrail;
     _rail              = new Rail();
     _rail.Name         = "╝";
     _field[11, 3]      = _rail;
     _previousrail.Next = _rail;
     _previousrail      = _rail;
     _rail              = new Rail();
     _field[11, 2]      = _rail;
     _previousrail.Next = _rail;
     _rail.Name         = "║";
     _previousrail      = _rail;
     _rail              = new Rail();
     _field[11, 1]      = _rail;
     _previousrail.Next = _rail;
     _rail.Name         = "║";
     _previousrail      = _rail;
     _rail              = new Rail();
     _field[11, 0]      = _rail;
     _rail.Name         = "╗";
     _previousrail.Next = _rail;
     _previousrail      = _rail;
     _rail              = new Rail();
     _field[10, 0]      = _rail;
     _previousrail.Next = _rail;
     _previousrail      = _rail;
     _rail              = new QueyRail();
     _rail.LoadingDock  = MooringPlace;
     _field[9, 0]       = _rail;
     _previousrail.Next = _rail;
     _previousrail      = _rail;
     StraightRailSetter(9);
 }
Exemple #5
0
        private void Sea()
        {
            _previousrail = null;

            for (int i = 0; i < 13; i++)
            {
                if (i == 9)
                {
                    _rail            = new MooringRail();
                    _rail.Name       = "~";
                    _rail.AnkerIsOut = true;
                    MooringPlace     = _rail;
                }
                else
                {
                    _rail      = new Rail();
                    _rail.Name = "~";
                    if (i == 12)
                    {
                        Last = _rail;
                    }
                }

                if (_previousrail != null)
                {
                    _previousrail.Next = _rail;
                }
                else
                {
                    First = _rail;
                }
                _previousrail = _rail;
            }

            _previousrail = null;
        }
Exemple #6
0
 public abstract void Move(Spot spot);
Exemple #7
0
 public Cart(Spot firstSpot)
 {
     CurrentSpot = firstSpot;
     Name        = "@";
 }