public Car(int xPos, int yPos, City city, Passenger passenger) { XPos = xPos; YPos = yPos; City = city; Passenger = passenger; }
public CityViewModel CreateCityViewModel(City city, int cityWidth, int cityHeight) { var cityDto = Mapper.Map<CityDto>(city); var passengerDto = Mapper.Map<PassengerDto>(city.Passenger); var carDto = Mapper.Map<CarDto>(city.Car); var cityPositionsLength = cityWidth * cityHeight; cityDto.CityPositionDtos = new CityPositionDto[cityPositionsLength]; for (int i = 0; i < cityPositionsLength; i++) { cityDto.CityPositionDtos[i] = Mapper.Map<CityPositionDto>(city.CityPositions[i]); } var carPos = carDto.YPos * cityDto.YMax + carDto.XPos; var passengerPos = passengerDto.StartingYPos * cityDto.YMax + passengerDto.StartingXPos; cityDto.CityPositionDtos[carPos].CarDto = carDto; cityDto.CityPositionDtos[passengerPos].PassengerDto = passengerDto; var viewModel = new CityViewModel { CityDto = cityDto }; return viewModel; }
public Passenger(int startXPos, int startYPos, int destXPos, int destYPos, City city) { StartingXPos = startXPos; StartingYPos = startYPos; DestinationXPos = destXPos; DestinationYPos = destYPos; City = city; }
public Car Create(CarType type, int xPos, int yPos, City city, Passenger passenger) { Car car; switch (type) { case CarType.Sedan: car = new Sedan(xPos, yPos, city, passenger); break; case CarType.RaceCar: car = new RaceCar(xPos, yPos, city, passenger); break; case CarType.Motorcycle: car = new Motorcycle(xPos, yPos, city, passenger); break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } return car; }
public City Create(ICarFactory carFactory, int cityWidth, int cityHeight) { int[] BuildingPositions = new[] { 0 * cityWidth + 1, 0 * cityWidth + 5, 1 * cityWidth + 3, 4 * cityWidth + 0, 4 * cityWidth + 1, 4 * cityWidth + 8, 4 * cityWidth + 9, 6 * cityWidth + 0, 6 * cityWidth + 1, 6 * cityWidth + 6, 6 * cityWidth + 7, 6 * cityWidth + 8, 7 * cityWidth + 7, 7 * cityWidth + 8, 9 * cityWidth + 0, 9 * cityWidth + 2, 9 * cityWidth + 3, 9 * cityWidth + 4, }; int xCarPos, yCarPos, xPassengerPos, yPassengerPos, xDestinationPos, yDestinationPos; GenerateRandomPosition(BuildingPositions, cityWidth, cityHeight, out xCarPos, out yCarPos); GenerateRandomPosition(BuildingPositions, cityWidth, cityHeight, out xPassengerPos, out yPassengerPos); GenerateRandomPosition(BuildingPositions, cityWidth, cityHeight, out xDestinationPos, out yDestinationPos); City city = new City(carFactory, cityWidth, cityHeight, BuildingPositions); city.AddCarToCity(CarType.Sedan, xCarPos, yCarPos); city.AddPassengerToCity(xPassengerPos, yPassengerPos, xDestinationPos, yDestinationPos); return city; }
public Sedan(int xPos, int yPos, City city, Passenger passenger) : base(xPos, yPos, city, passenger) { }
public RaceCar(int xPos, int yPos, City city, Passenger passenger) : base(xPos, yPos, city, passenger) { }
public Motorcycle(int xPos, int yPos, City city, Passenger passenger) : base(xPos, yPos, city, passenger) { }