Skip to content

Commit

Permalink
actualizada2024
Browse files Browse the repository at this point in the history
  • Loading branch information
lspigariol committed Sep 27, 2024
1 parent 95ccbcb commit 663254e
Show file tree
Hide file tree
Showing 5 changed files with 1,384 additions and 32 deletions.
19 changes: 7 additions & 12 deletions armas.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,23 @@ class ArmaFilosa {
var longitud
var filo

method poderAtaque() {
return longitud * filo
}
method poderAtaque() = longitud * filo

}

class ArmaContundente {
var peso

method poderAtaque() {
return peso
}
method poderAtaque() = peso
}

object casco {
method defensa(unGladiador) {
return 5
}
method defensa(unGladiador) = 5
}

object escudo {
const defensa = 10
method defensa(unGladiador) {
return defensa + unGladiador.destreza() / 10
}
method defensa(unGladiador) =
defensa + unGladiador.destreza() / 10

}
17 changes: 13 additions & 4 deletions coliseo.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,20 @@ class Grupo {
method quitarGladiador(gladiador) {
gladiadores.remove(gladiador)
}
method masFuerte(){
var gladiadoresDisponibles = gladiadores.filter{gla=>gla.puedeCombatir()}
if (gladiadoresDisponibles.isEmpty()) throw new Exception("No hay gladiadores que puedan combatir")
return gladiadoresDisponibles.max{gla=>gla.poderAtaque()}
// method masFuerte(){
// var gladiadoresDisponibles = gladiadores.filter{gla=>gla.puedeCombatir()}
// if (gladiadoresDisponibles.isEmpty()) throw new Exception("No hay gladiadores que puedan combatir")
// return gladiadoresDisponibles.max{gla=>gla.poderAtaque()}
// }
method masFuerte() {
var vivos = gladiadores.filter{gla=>gla.puedeCombatir()}

if ( vivos.isEmpty())
throw new DomainException(message="no hay gladiadores vivos en el grupo")

return vivos.max{gla=>gla.poderAtaque()}
}

method combatir(adversario){
3.times{
self.masFuerte().pelear(adversario.masFuerte())
Expand Down
28 changes: 14 additions & 14 deletions gladiador.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,11 @@ class Mirmillon {
var arma
var armadura

method puedeCombatir() {return vida > 0}
method puedeCombatir() = vida > 0

method poderAtaque() {
return arma.poderAtaque() + fuerza
}
method poderAtaque() = arma.poderAtaque() + fuerza

method defensa() {
return armadura.defensa(self) + self.destreza()
}
method defensa() = armadura.defensa(self) + destreza

method atacar(unGladiador) {
unGladiador.recibirAtaque(self.poderAtaque())
Expand Down Expand Up @@ -50,7 +46,7 @@ class Dimachaerus {
var property vida = 100


method puedeCombatir() {return vida > 0}
method puedeCombatir() = vida > 0

method arma(nuevaArma) {
armas.add(nuevaArma)
Expand All @@ -60,9 +56,8 @@ class Dimachaerus {
armas.remove(arma)
}

method poderAtaque() {
return fuerza + armas.sum({ unArma => unArma.poderAtaque() })
}
method poderAtaque() =
fuerza + armas.sum({ unArma => unArma.poderAtaque() })

method atacar(unGladiador) {
unGladiador.recibirAtaque(self.poderAtaque())
Expand All @@ -72,9 +67,8 @@ class Dimachaerus {
method recibirAtaque(poderAtaque) {
vida = vida - ( poderAtaque - self.defensa() )
}
method defensa() {
return destreza / 2
}
method defensa() = destreza / 2

method pelearContra(unGladiador) {
self.atacar(unGladiador)
unGladiador.atacar(self)
Expand All @@ -91,4 +85,10 @@ class Dimachaerus {
grupo.agregarGladiador(gladiador)
return grupo
}
method armarGrupo(gladiador) =
new Grupo(
nombre = "D-"+(self.poderAtaque()+gladiador.poderAtaque()),
gladiadores = [self,gladiador]
)

}
Loading

0 comments on commit 663254e

Please sign in to comment.