示例#1
0
 public void GetInCar(Car car)
 {
     Car = car;
     car.PickupPassenger(this);
     Console.WriteLine("Passenger got in car.");
 }
示例#2
0
        private DirectionToMove GetDirectionToMove(Car car, Passenger passenger)
        {
            int targetXPos = car.GetTargetXPos(passenger);
            int targetYPos = car.GetTargetYPos(passenger);

            int distanceXPos = Math.Abs(targetXPos - car.XPos);
            int distanceYPos = Math.Abs(targetYPos - car.YPos);

            if (distanceXPos == 0 && distanceYPos == 0)
            {
                return DirectionToMove.Arrived;
            }
            if (distanceYPos > distanceXPos)
            {
                return car.YPos > targetYPos
                    ? DirectionToMove.Down
                    : DirectionToMove.Up;
            }

            return car.XPos > targetXPos
                ? DirectionToMove.Left
                : DirectionToMove.Right;
        }