-
Notifications
You must be signed in to change notification settings - Fork 1
/
gladiador.wlk
94 lines (80 loc) · 1.75 KB
/
gladiador.wlk
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
import armas.*
import coliseo.*
class Mirmillon {
const property destreza = 15
var property vida = 100
var fuerza = 10
var arma
var armadura
method puedeCombatir() {return vida > 0}
method poderAtaque() {
return arma.poderAtaque() + fuerza
}
method defensa() {
return armadura.defensa(self) + self.destreza()
}
method atacar(unGladiador) {
unGladiador.recibirAtaque(self.poderAtaque())
}
method recibirAtaque(poderAtaque) {
vida = vida - ( poderAtaque - self.defensa() )
}
method pelearContra(unGladiador) {
self.atacar(unGladiador)
unGladiador.atacar(self)
}
method masFuerte(){
return self
}
method curar(){
vida = 100
}
method armarGrupoCon(gladiador) {
const grupo = new Grupo(nombre = "Mirmillolandia")
grupo.agregarGladiador(self)
grupo.agregarGladiador(gladiador)
return grupo
}
}
class Dimachaerus {
var destreza
const fuerza = 10
var armas = [ ]
var property vida = 100
method puedeCombatir() {return vida > 0}
method arma(nuevaArma) {
armas.add(nuevaArma)
}
method quitarArma(arma) {
armas.remove(arma)
}
method poderAtaque() {
return fuerza + armas.sum({ unArma => unArma.poderAtaque() })
}
method atacar(unGladiador) {
unGladiador.recibirAtaque(self.poderAtaque())
destreza = destreza + 1
}
method recibirAtaque(poderAtaque) {
vida = vida - ( poderAtaque - self.defensa() )
}
method defensa() {
return destreza / 2
}
method pelearContra(unGladiador) {
self.atacar(unGladiador)
unGladiador.atacar(self)
}
method masFuerte(){
return self
}
method curar(){
vida = 100
}
method armarGrupoCon(gladiador) {
const grupo = new Grupo(nombre = "D-"+(self.poderAtaque()+gladiador.poderAtaque()))
grupo.agregarGladiador(self)
grupo.agregarGladiador(gladiador)
return grupo
}
}