-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTreecko.java
More file actions
65 lines (60 loc) · 1.75 KB
/
Treecko.java
File metadata and controls
65 lines (60 loc) · 1.75 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
import java.util.Random;
/**
*Subclase Treecko que es un monstruo especifico de tipo Hierba
*@author Bruno Torres
*/
public class Treecko extends Hierba{
private final String nombreMonstruo="Treecko";
private final int hpBase=23;
private final int ataqueBase=18;
private final int defensaBase=16;
private final int velocidadBase=20;
public final String ataqueClase="Destructor";
/**
*Constructor de la clase Treecko
*@param nombre String
*@param nivel int
*/
public Treecko(String nombre, int nivel){
this.nivel=nivel;
this.estado="ok";
this.ataque=nivel*ataqueBase;
this.defensa=nivel*defensaBase;
this.velocidad=nivel*velocidadBase;
this.hp=nivel*hpBase;
if(!nombre.equals(""))
this.apodo=nombre;
else
this.apodo=nombreMonstruo;
}
/**
*Método que calcula e inflinge daño a un enemigo.
*@param enemigo Monstruo
*/
@Override
public void ataque2(Monstruo enemigo){
float damage;
if(estado.equals("ok") && !enemigo.estado.equals("Fuera de combate")){
Random rnd = new Random();
if(1 < ( (int)(rnd.nextDouble() * 5.0+1) ) ) {
if ((damage = (this.ataque - enemigo.defensa)*1.3f*multiplicadorElemental(enemigo)) <= 0)
damage = 0;
if(!enemigo.estado.equals("Fuera de combate")){
enemigo.recibirDaño((int)damage);
System.out.println(this.apodo+" uso "+ataqueClase+". ¡"+enemigo.apodo+" pierde "+damage+" puntos de vida!");
}else
System.out.println("El enemigo esta muerto :v");
}else{
System.out.println(this.apodo+" fallo en su ataque.");
}
}else if(estado.equals("paralizado")){
contParalizado++;
if(contParalizado==2){
estado="ok";
contParalizado=0;
}
}else if (estado.equals("Fuera de combate")){
System.out.println(this.apodo+" no puede continuar");
}
}
}