-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTypeAttaque.java
117 lines (100 loc) · 3.48 KB
/
TypeAttaque.java
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
110
111
112
113
114
115
116
117
import java.util.HashMap;
import java.util.Scanner;
import java.io.IOException;
public enum TypeAttaque
{
OMEGA_SLASH_DE_L_ULTIME_APOLLON(250, "Omega Slash de l'ultime Apollon", "Une série de coups frénétiques qui laisseront tous les ennemis sur le tapis",PorteeAttaque.COURTE), // en attente de créer les vraies attaques
CANON(15, "canon", "Envoie un obus sur votre ennemi. Efficace contre l'infanterie.",PorteeAttaque.COURTE),
GROSCANON(20,"groscanon","Envoi un gros obus sur votre ennemi", PorteeAttaque.COURTE),
FUSIL(10, "fusil", "Envoie une salve de balles sur votre ennemi.",PorteeAttaque.COURTE),
MORTIER(15, "mortier","Envoi un motier sur votre adversaire",PorteeAttaque.COURTE),
ROQUETTE(15,"roquette","Envoie des roquettes sur votre ennemi",PorteeAttaque.MOYENNE),
MISSILE(15,"missile","Envoie des missiles sur votre ennemi.", PorteeAttaque.LONGUE),
SOIN(8,"soin","Soigne une unite",PorteeAttaque.COURTE),
EXPLOSION(45,"explosion","Explose sur une unite",PorteeAttaque.COURTE);
private int aDegats; // dégâts de base de l'attaque
private String aNom;
private String aDescription;
public PorteeAttaque aTypePortee;
public HashMap<TypeUnite, Double> efficacite;// on multipliera l'attaque par ce nombre, donc 1 est l'élément neutre, quand c'est plus grand que 1 on a une efficacité plus grande, et réciproquement
TypeAttaque(int pDegats, String pNom, String pDescription ,final PorteeAttaque pTypePortee ) // ajouter PorteeAttaque pPortee
{
aDegats = pDegats;
aNom = pNom;
aDescription = pDescription;
efficacite= new HashMap<TypeUnite,Double> ();
aTypePortee = pTypePortee;
Scanner fichier = null;
try {
fichier = new Scanner(getClass().getClassLoader().getResource("Config/TypeAttaque.txt").openStream());
} catch (IOException e) {
e.printStackTrace();
}
String ligne;
String[] tab;
while(fichier.hasNextLine()){
ligne = fichier.nextLine();
tab = ligne.split(":");
if(tab[0].equals(pNom)){
for(TypeUnite type : TypeUnite.values()) {
if(type.getNom().equals(tab[1])) {
efficacite.put(type,Double.parseDouble(tab[2]));break;
}
}
}
}
fichier.close();
}
/**
* Accesseur pour l'attribut aNom
* @return aNom
*/
public String getNom()
{
return this.aNom;
}
/**
* Accesseur pour l'attribut aDescription
* @return aDescription
*/
public String getDescription()
{
return this.aDescription;
}
public PorteeAttaque getTypePortee()
{
return this.aTypePortee;
}
/**
* Accesseur pour l'attribut aDegat
* @return aDegat
*/
public int getDegats()
{
return aDegats;
}
/**
* Mutateur pour l'attribut aDegat
* @param pDegat
*/
public void setDegats(int pDegat)
{
aDegats=pDegat;
}
/**
* Mutateur pour l'attribut aNom
* @param pNom
*/
public void setNom(String pNom)
{
this.aNom = pNom;
}
/**
* Mutateur pour l'attribut aDescription
* @param pDescription
*/
public void setDescription(String pDescription)
{
this.aDescription = pDescription;
}
}