-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
109 lines (88 loc) · 4.34 KB
/
Copy pathMain.java
File metadata and controls
109 lines (88 loc) · 4.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package nhl2024;
import nhl2024.controleurs.LigueControleur;
import nhl2024.controleurs.SaisonManager;
import nhl2024.entites.Equipe;
import nhl2024.entites.Gardien;
import nhl2024.entites.Joueur;
import nhl2024.exceptions.*;
import nhl2024.seed.*;
import java.util.ArrayList;
/**
*
* @author Bruno Theoret
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws ArgumentInvalideException, EquipeNonExistanteException, NullArgumentException, JoueurNonExistantException {
LigueControleur lnh = LigueControleur.getInstance();
SaisonManager smc = SaisonManager.getInstance();
//Creation des joueurs, entraineurs, gardiens et equipes dans la ligue
CreerPersonnes.joueur();
CreerPersonnes.gardien();
CreerPersonnes.entraineur(lnh);
CreerConcessions.equipe(lnh);
//Construire les equipes
// Joueurs des Canadiens
Joueur j1 = LigueControleur.getPersonneManager().getJoueurParId(1); // TODO: pourquoi ca fonctionne plutot que lnh.getPersonneManager() ?
Joueur j2 = LigueControleur.getPersonneManager().getJoueurParId(2);
Joueur j3 = LigueControleur.getPersonneManager().getJoueurParId(3);
Joueur j4 = LigueControleur.getPersonneManager().getJoueurParId(4);
Joueur j5 = LigueControleur.getPersonneManager().getJoueurParId(5);
Gardien g1 = LigueControleur.getPersonneManager().getGardienParId(1);
Equipe e1 = LigueControleur.getEquipeManager().getEquipeParNom("Canadiens");
Equipe e2 = LigueControleur.getEquipeManager().getEquipeParId(2);
try{
LigueControleur.ajouterPersonneEquipe(j1, e1);
LigueControleur.ajouterPersonneEquipe(j2, e1);
LigueControleur.ajouterPersonneEquipe(j3, e1);
LigueControleur.ajouterPersonneEquipe(j4, e1);
LigueControleur.ajouterPersonneEquipe(j5, e1);
LigueControleur.ajouterPersonneEquipe(g1, e1);
} catch(BudgetEquipeMaxAtteintException ex){
System.out.println(ex.getMessage());
} catch(JoueurExisteDejaException ex){
System.out.println(ex.getMessage());
} catch(JoueurNonExistantException ex){
System.out.println(ex.getMessage());
} catch(EquipeNonExistanteException ex){
System.out.println(ex.getMessage());
} catch(ArgumentInvalideException ex){
System.out.println(ex.getMessage());
} catch(NullArgumentException ex){
System.out.println(ex.getMessage());
} catch(NombreGardiensMaxAtteintException ex){
System.out.println(ex.getMessage());
} catch(NombreJoueursMaxAtteintException ex){
System.out.println(ex.getMessage());
}
System.out.println("\n###Liste des equipes, joueurs et entraineurs dans la LNH:");
try{
nhl2024.utils.helper.imprimerListe(lnh.getEquipes(), false);
nhl2024.utils.helper.imprimerListe(lnh.getJoueurs(), false);
nhl2024.utils.helper.imprimerListe(lnh.getGardiens(), false);
nhl2024.utils.helper.imprimerListe(lnh.getEntraineurs(), false);
} catch (NullArgumentException ex){
System.out.println(ex.getMessage());
}
//lnh.fermerEquipe(e2);
System.out.println("\nCanadiens AVANT de congedier joueur j5");
nhl2024.utils.helper.imprimerListe(lnh.getPersonnelParEquipe(e1), false);
lnh.congedierPersonneEquipe(j5, e1);
j1.getStatistiquesOffensives().setButs(2);
j1.getStatistiquesOffensives().setPasses(3);
j1.getStatistiquesDefensives().setInterceptions(1);
g1.getStatsGardien().setArrets(5);
System.out.println("\nCanadiens APRES de congedier joueur j5 (avec statistiques joueurs)");
nhl2024.utils.helper.imprimerListe(lnh.getPersonnelParEquipe(e1), true);
System.out.println("\nSimuler un match...");
ArrayList<Equipe> equipesMatch = new ArrayList<Equipe>();
try {
equipesMatch = smc.getMatchManager().choisirEquipesPourMatch();
} catch(NombreEquipesEligiblesPourMatchInsuffisantException ex) {
System.out.println(ex.getMessage());
}
nhl2024.utils.helper.imprimerListe(equipesMatch, false);
}
}