Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Carte très réaliste, l’heure à côté de chaque ligne est
- // l’heure du prochain sillon disponible.
- //
- // Paris
- // | \
- // | \ 12h
- // | \
- // 18h | Lyon
- // | /
- // | / 13h
- // | /
- // Aix
- // | \
- // | \ 16h
- // | \
- // 18h | Toulon
- // | /
- // | / 20h
- // | /
- // Marseille
- //
- // Le trajet le plus court de Paris à 11h vers Marseille est donc :
- // Paris (11h) -> Lyon (13h) -> Aix (14h) -> Marseille (19h)
- // Gares
- Gare paris = new Gare("Paris");
- Gare lyon = new Gare("Lyon");
- Gare aix = new Gare("Aix-en-Provence");
- Gare toulon = new Gare("Toulon");
- Gare marseille = new Gare("Marseille");
- // Lignes
- LigneFerroviaire paris_lyon = new LigneFerroviaire(paris, lyon);
- LigneFerroviaire paris_aix = new LigneFerroviaire(paris, aix);
- LigneFerroviaire lyon_aix = new LigneFerroviaire(lyon, aix);
- LigneFerroviaire aix_toulon = new LigneFerroviaire(aix, toulon);
- LigneFerroviaire aix_marseille = new LigneFerroviaire(aix, marseille);
- LigneFerroviaire toulon_marseille =new LigneFerroviaire(toulon, marseille);
- Map<LigneFerroviaire, List<Sillon>> lignes = new HashMap<>();
- lignes.put(paris_lyon, new ArrayList<Sillon>());
- lignes.put(paris_aix, new ArrayList<Sillon>());
- lignes.put(lyon_aix, new ArrayList<Sillon>());
- lignes.put(aix_toulon, new ArrayList<Sillon>());
- lignes.put(aix_marseille, new ArrayList<Sillon>());
- lignes.put(toulon_marseille, new ArrayList<Sillon>());
- // Sillons vides
- for (LigneFerroviaire ligne : lignes.keySet())
- for (int i = 0; i <= 24; i++)
- lignes.get(ligne).add(new Sillon.Builder()
- .addLigneFerroviaire(ligne)
- .addDebutSillon(i).build());
- // Remplissage de sillons jusqu’aux heures spécifiées plus haut
- EntrepriseFerroviaire entreprise = new EntrepriseFerroviairePassagers();
- for (int i = 0; i < 12; i++)
- lignes.get(paris_lyon).get(i).setTrain(new TrainDePassagers(entreprise));
- for (int i = 0; i < 18; i++)
- lignes.get(paris_aix).get(i).setTrain(new TrainDePassagers(entreprise));
- for (int i = 0; i < 13; i++)
- lignes.get(lyon_aix).get(i).setTrain(new TrainDePassagers(entreprise));
- for (int i = 0; i < 16; i++)
- lignes.get(aix_toulon).get(i).setTrain(new TrainDePassagers(entreprise));
- for (int i = 0; i < 18; i++)
- lignes.get(aix_marseille).get(i).setTrain(new TrainDePassagers(entreprise));
- for (int i = 0; i < 20; i++)
- lignes.get(toulon_marseille).get(i).setTrain(new TrainDePassagers(entreprise));
- Trajet trajet = new Trajet.Builder()
- .addLigneFerroviaire(paris_aix)
- .addLigneFerroviaire(aix_marseille)
- .build();
- AttribueurDeSillons attribueur = new AttribueurDeSillonsRapide();
- Controlleur.affecterSillon(lignes, new TrainDePassagers(entreprise), trajet, attribueur);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement