-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNinfa.java
102 lines (82 loc) · 2.58 KB
/
Ninfa.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
public class Ninfa extends Criatura implements UsuarioLagoSagrado {
private int divinidad; // Atributos propios
private int velocidad;
private int engano;
private int varita;
private int armadura;
public Ninfa(String ID, String nombre, int divinidad, int varita, int velocidad, int engano, int armadura) { // Constructor
super(ID, nombre);
this.divinidad = divinidad;
this.velocidad = velocidad;
this.engano = engano;
this.varita = varita;
this.armadura = armadura;
calcularPoderOfensivo();
calcularCapacidadDefensiva();
}
protected void calcularPoderOfensivo() { // Metodos propios
setPoderOfensivo(divinidad * (velocidad + engano) + varita / 100);
}
protected void calcularCapacidadDefensiva() {
setCapacidadDefensiva(divinidad * (velocidad + engano) + armadura / 200);
}
public void atacar(Criatura defensor) {
defensor.defender(this); // Se llama a la otra criatura a defenderse
if ((getSalud() - 2) >= 0) {
setSalud(getSalud() - 2); // Se restan dos puntos de vida por la lucha
} else {
setSalud(0);
}
if ((varita - 5) >= 0) {
varita = varita - 5;
} else {
varita = 0;
}
calcularPoderOfensivo();
}
public void defender(Criatura atacante) {
if ((atacante.getPoderOfensivo() - getCapacidadDefensiva()) > 0) {
setSalud(getSalud() - (atacante.getPoderOfensivo() - getCapacidadDefensiva()));
}
if ((getSalud() - 2) >= 0) {
setSalud(getSalud() - 2); // Se restan dos puntos de vida por la lucha
} else {
setSalud(0);
}
if ((armadura - 5) >= 0) {
armadura = armadura - 5;
} else {
armadura = 0;
}
calcularCapacidadDefensiva();
}
public void visitarLagoSagrado(LagoSagrado lago) {
setVisitas(getVisitas() + 1);
if ((getSalud() + (2 + getVisitas() * 2)) <= 10) {
setSalud(getSalud() + (2 + getVisitas() * 2));
} else {
setSalud(10);
}
if ((varita + (getVisitas() * 3)) <= 1000) {
varita = varita + (getVisitas() * 3);
} else {
varita = 1000;
}
if ((armadura + (getVisitas() * 3)) <= 1000) {
armadura = armadura + (getVisitas() * 3);
} else {
armadura = 1000;
}
calcularPoderOfensivo();
calcularCapacidadDefensiva();
lago.anadirVisita(this);
}
public String toString() {
return "N:{" + getID() + "," + getNombre() + ",D" + divinidad + ",V" + varita + ",R" + velocidad + ",E" + engano
+ ",A" + armadura + "}";
}
public String toStringExtendido() {
return "N:{" + getID() + "," + getNombre() + ",D" + divinidad + ",V" + varita + ",R" + velocidad + ",E" + engano
+ ",A" + armadura + "," + getPoderOfensivo() + "," + getCapacidadDefensiva() + "," + getSalud() + "}";
}
}