Example #1
0
  public void simulate(ArrayList<Passenger> exitedPassengers, int time) {
    if (hasArrivedTrain(time)) {
      int officeArrivingTime;
      int ticketingWaitingTime;
      int ticketingTime;
      int platformArrivingTime;
      for (int i = 0; i < waitingPassengers.size(); i++) {
        Passenger passenger = waitingPassengers.get(i);
        officeArrivingTime = passenger.getOfficeArrivalTime();
        ticketingWaitingTime = passenger.getTicketingWaitingTime();
        ticketingTime = passenger.getTicketingTime();
        platformArrivingTime = officeArrivingTime + ticketingWaitingTime + ticketingTime;
        passenger.setTrainWaitingTime(time - platformArrivingTime);
        int travelTime = path.getTravelTime(passenger.getStartPoint(), passenger.getEndPoint());
        passenger.setDestinationArrivalTime(time + travelTime);
      }

      dequeueAll(exitedPassengers);
    }
  }