Skip to content

Commit e63aa06

Browse files
authored
Merge pull request #5378 from ASJordi/main
#32 - Java
2 parents acf9a24 + 78abee5 commit e63aa06

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import java.util.Random;
2+
import java.util.Scanner;
3+
4+
public class asjordi {
5+
6+
public static void main(String[] args) {
7+
Scanner sc = new Scanner(System.in);
8+
int numTurno = 0;
9+
10+
System.out.println("Bienvenido a Deadpool vs Wolverine");
11+
System.out.println("Ingresa la vida de Deadpool: ");
12+
int vidaDeadpool = sc.nextInt();
13+
System.out.println("Ingresa la vida de Wolverine: ");
14+
int vidaWolverine = sc.nextInt();
15+
16+
Personaje deadpool = new Personaje(TipoPersonaje.DEADPOOL, vidaDeadpool);
17+
Personaje wolverine = new Personaje(TipoPersonaje.WOLVERINE, vidaWolverine);
18+
19+
while (deadpool.getVida() > 0 || wolverine.getVida() > 0) {
20+
numTurno++;
21+
System.out.println("Turno " + numTurno);
22+
System.out.println("Deadpool: " + deadpool.getVida() + " vida");
23+
System.out.println("Wolverine: " + wolverine.getVida() + " vida");
24+
25+
System.out.println("Deadpool ataca a Wolverine");
26+
deadpool.atacar(wolverine);
27+
System.out.println("Wolverine ataca a Deadpool");
28+
wolverine.atacar(deadpool);
29+
30+
if (deadpool.getVida() <= 0) {
31+
System.out.println("Wolverine ha ganado");
32+
break;
33+
} else if (wolverine.getVida() <= 0) {
34+
System.out.println("Deadpool ha ganado");
35+
break;
36+
}
37+
}
38+
}
39+
40+
static class Personaje {
41+
private TipoPersonaje personaje;
42+
private double vida;
43+
private double ataque;
44+
private final Random r;
45+
private double ultimoAtaque;
46+
47+
public Personaje(TipoPersonaje personaje, double vida) {
48+
this.personaje = personaje;
49+
this.vida = vida;
50+
this.r = new Random();
51+
definirPoderAtaque();
52+
}
53+
54+
private void definirPoderAtaque() {
55+
this.ataque = r.nextInt(personaje.getMinAtaque(), personaje.getMaxAtaque() + 1);
56+
}
57+
58+
public void recibirAtaque(double ataque) {
59+
if (r.nextInt(1, 101) > personaje.getPosEvitarAtaque()) {
60+
this.vida -= ataque;
61+
}
62+
}
63+
64+
public void atacar(Personaje personaje) {
65+
personaje.recibirAtaque(this.ataque);
66+
System.out.println("Ataque de " + this.personaje + " a " + personaje.personaje + " con " + this.ataque + " de daño");
67+
}
68+
69+
public double getVida() {
70+
return vida;
71+
}
72+
73+
public void setVida(double vida) {
74+
this.vida = vida;
75+
}
76+
77+
public double getAtaque() {
78+
return ataque;
79+
}
80+
81+
public void setAtaque(double ataque) {
82+
this.ataque = ataque;
83+
}
84+
}
85+
86+
enum TipoPersonaje {
87+
DEADPOOL(10, 100, 25),
88+
WOLVERINE(10, 120, 20);
89+
private final int minAtaque;
90+
private final int maxAtaque;
91+
private int posEvitarAtaque;
92+
93+
TipoPersonaje(int minDamage, int maxAtaque, int posEvitarAtaque) {
94+
this.minAtaque = minDamage;
95+
this.maxAtaque = maxAtaque;
96+
this.posEvitarAtaque = posEvitarAtaque;
97+
}
98+
99+
public int getMinAtaque() {
100+
return minAtaque;
101+
}
102+
103+
public int getMaxAtaque() {
104+
return maxAtaque;
105+
}
106+
107+
public int getPosEvitarAtaque() {
108+
return posEvitarAtaque;
109+
}
110+
}
111+
}

0 commit comments

Comments
 (0)