public void GetInCar(Car car) { Car = car; car.PickupPassenger(this); Console.WriteLine("Passenger got in car."); }
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; }