Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. // Carte très réaliste, l’heure à côté de chaque ligne est
  2. // l’heure du prochain sillon disponible.
  3. //
  4. // Paris
  5. // | \
  6. // | \ 12h
  7. // | \
  8. // 18h | Lyon
  9. // | /
  10. // | / 13h
  11. // | /
  12. // Aix
  13. // | \
  14. // | \ 16h
  15. // | \
  16. // 18h | Toulon
  17. // | /
  18. // | / 20h
  19. // | /
  20. // Marseille
  21. //
  22. // Le trajet le plus court de Paris à 11h vers Marseille est donc :
  23. // Paris (11h) -> Lyon (13h) -> Aix (14h) -> Marseille (19h)
  24.  
  25.  
  26. // Gares
  27. Gare paris = new Gare("Paris");
  28. Gare lyon = new Gare("Lyon");
  29. Gare aix = new Gare("Aix-en-Provence");
  30. Gare toulon = new Gare("Toulon");
  31. Gare marseille = new Gare("Marseille");
  32.  
  33. // Lignes
  34. LigneFerroviaire paris_lyon = new LigneFerroviaire(paris, lyon);
  35. LigneFerroviaire paris_aix = new LigneFerroviaire(paris, aix);
  36. LigneFerroviaire lyon_aix = new LigneFerroviaire(lyon, aix);
  37. LigneFerroviaire aix_toulon = new LigneFerroviaire(aix, toulon);
  38. LigneFerroviaire aix_marseille = new LigneFerroviaire(aix, marseille);
  39. LigneFerroviaire toulon_marseille =new LigneFerroviaire(toulon, marseille);
  40.  
  41. Map<LigneFerroviaire, List<Sillon>> lignes = new HashMap<>();
  42. lignes.put(paris_lyon, new ArrayList<Sillon>());
  43. lignes.put(paris_aix, new ArrayList<Sillon>());
  44. lignes.put(lyon_aix, new ArrayList<Sillon>());
  45. lignes.put(aix_toulon, new ArrayList<Sillon>());
  46. lignes.put(aix_marseille, new ArrayList<Sillon>());
  47. lignes.put(toulon_marseille, new ArrayList<Sillon>());
  48.  
  49. // Sillons vides
  50. for (LigneFerroviaire ligne : lignes.keySet())
  51. for (int i = 0; i <= 24; i++)
  52. lignes.get(ligne).add(new Sillon.Builder()
  53. .addLigneFerroviaire(ligne)
  54. .addDebutSillon(i).build());
  55.  
  56. // Remplissage de sillons jusqu’aux heures spécifiées plus haut
  57. EntrepriseFerroviaire entreprise = new EntrepriseFerroviairePassagers();
  58. for (int i = 0; i < 12; i++)
  59. lignes.get(paris_lyon).get(i).setTrain(new TrainDePassagers(entreprise));
  60. for (int i = 0; i < 18; i++)
  61. lignes.get(paris_aix).get(i).setTrain(new TrainDePassagers(entreprise));
  62. for (int i = 0; i < 13; i++)
  63. lignes.get(lyon_aix).get(i).setTrain(new TrainDePassagers(entreprise));
  64. for (int i = 0; i < 16; i++)
  65. lignes.get(aix_toulon).get(i).setTrain(new TrainDePassagers(entreprise));
  66. for (int i = 0; i < 18; i++)
  67. lignes.get(aix_marseille).get(i).setTrain(new TrainDePassagers(entreprise));
  68. for (int i = 0; i < 20; i++)
  69. lignes.get(toulon_marseille).get(i).setTrain(new TrainDePassagers(entreprise));
  70.  
  71.  
  72. Trajet trajet = new Trajet.Builder()
  73. .addLigneFerroviaire(paris_aix)
  74. .addLigneFerroviaire(aix_marseille)
  75. .build();
  76.  
  77. AttribueurDeSillons attribueur = new AttribueurDeSillonsRapide();
  78.  
  79. Controlleur.affecterSillon(lignes, new TrainDePassagers(entreprise), trajet, attribueur);
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement