Point rnd() { Point p; do { p = rm.get().getRandomPosition(rng); } while (occupiedPositions.contains(p)); occupiedPositions.add(p); return p; }
Point rnd() { Point p; do { p = rm.get().getRandomPosition(rng); } while (occupiedPositions.contains(p)); occupiedPositions.add(p); return p; }
@Override public void initRoadUser(RoadModel model) { roadModel = Optional.of(model); roadModel.get().addObjectAt(this, roadModel.get().getRandomPosition(rng)); }
@Override public void initRoadUser(RoadModel model) { roadModel = Optional.of(model); roadModel.get().addObjectAt(this, roadModel.get().getRandomPosition(rng)); }
@Override public void initRoadUser(RoadModel model) { roadModel = Optional.of((CollisionGraphRoadModelImpl) model); Point p; do { p = model.getRandomPosition(rng); } while (roadModel.get().isOccupied(p)); roadModel.get().addObjectAt(this, p); }
@Override public void initRoadUser(RoadModel model) { roadModel = Optional.of((CollisionGraphRoadModelImpl) model); Point p; do { p = model.getRandomPosition(rng); } while (roadModel.get().isOccupied(p)); roadModel.get().addObjectAt(this, p); }
@Override public void tick(TimeLapse timeLapse) { // every time step (tick) this gets called. Each time we chose a // different destination and move in that direction using the time // that was made available to us. if (!roadModel.containsObject(this)) { roadModel.addObjectAt(this, roadModel.getRandomPosition(rnd)); } roadModel.moveTo(this, roadModel.getRandomPosition(rnd), timeLapse); }
@Override public void tick(TimeLapse timeLapse) { // every time step (tick) this gets called. Each time we chose a // different destination and move in that direction using the time // that was made available to us. if (!roadModel.containsObject(this)) { roadModel.addObjectAt(this, roadModel.getRandomPosition(rnd)); } roadModel.moveTo(this, roadModel.getRandomPosition(rnd), timeLapse); }
@Override public void initRoadUser(RoadModel model) { final Point startPos = model.getRandomPosition(rng); model.addObjectAt(this, startPos); rm = Optional.of(model); setDestination(destPos); }
@Override public void initRoadUser(RoadModel model) { final Point startPos = model.getRandomPosition(rng); model.addObjectAt(this, startPos); rm = Optional.of(model); setDestination(destPos); }
@Override public void initRoadUser(RoadModel model) { roadModel = Optional.of(model); roadModel.get().addObjectAt(this, roadModel.get().getRandomPosition(rng)); }
/** * Moves the vehicle to a point on the border of the plane. */ public void setInactive() { if (active) { active = false; final List<Point> bounds = rm.get().getBounds(); final Point p = rm.get().getRandomPosition(rng); if (rng.nextBoolean()) { doSetDestination(new Point(bounds.get(rng.nextInt(2)).x, p.y)); } else { doSetDestination(new Point(p.x, bounds.get(rng.nextInt(2)).y)); } } } }
/** * Moves the vehicle to a point on the border of the plane. */ public void setInactive() { if (active) { active = false; final List<Point> bounds = rm.get().getBounds(); final Point p = rm.get().getRandomPosition(rng); if (rng.nextBoolean()) { doSetDestination(new Point(bounds.get(rng.nextInt(2)).x, p.y)); } else { doSetDestination(new Point(p.x, bounds.get(rng.nextInt(2)).y)); } } } }
@Override public void tick(TimeLapse time) { if (time.getStartTime() > endTime) { simulator.stop(); } else if (rng.nextDouble() < NEW_CUSTOMER_PROB) { simulator.register(new Customer( Parcel .builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY)) .buildDTO())); } }
@Override public void tick(TimeLapse timeLapse) { if (!destination.isPresent()) { destination = Optional.of(roadModel.get().getRandomPosition(rng));
@Override public void tick(TimeLapse timeLapse) { if (!destination.isPresent()) { destination = Optional.of(roadModel.get().getRandomPosition(rng));
@Override public void tick(TimeLapse time) { if (time.getStartTime() > endTime) { simulator.stop(); } else if (rng.nextDouble() < NEW_CUSTOMER_PROB) { simulator.register(new Customer( Parcel .builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY)) .buildDTO())); } }
@Override public void tick(TimeLapse timeLapse) { if (!destination.isPresent()) { destination = Optional.of(roadModel.get().getRandomPosition(rng)); } roadModel.get().moveTo(this, destination.get(), timeLapse); if (roadModel.get().getPosition(this).equals(destination.get())) { destination = Optional.absent(); } if (device.get().getUnreadCount() > 0) { lastReceiveTime = timeLapse.getStartTime(); device.get().getUnreadMessages(); device.get().broadcast(Messages.NICE_TO_MEET_YOU); } else if (device.get().getReceivedCount() == 0) { device.get().broadcast(Messages.HELLO_WORLD); } else if (lastReceiveTime > 10 * 1000) { device.get().broadcast(Messages.WHERE_IS_EVERYBODY); } }
simulator.register(new TaxiBase(roadModel.getRandomPosition(rng), DEPOT_CAPACITY)); simulator.register(new Taxi(roadModel.getRandomPosition(rng), TAXI_CAPACITY)); Parcel.builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY))
simulator.register(new TaxiBase(roadModel.getRandomPosition(rng), DEPOT_CAPACITY)); simulator.register(new Taxi(roadModel.getRandomPosition(rng), TAXI_CAPACITY)); Parcel.builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY))