Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. /*Puntos de Entrada:
  2. * Punto 1a)personaje.estaFueraDeCombate()
  3. * Punto 1b)personaje.sufrirDanio(20)
  4. * Punto 2) personaje.atacarA(otroPersonaje)
  5. */
  6.  
  7. class Personaje{
  8. var property danio = 0
  9. var property danioMaximo = 500
  10. var property ataque
  11.  
  12. var property poderBase = 0
  13. var property poderEspecial
  14.  
  15. method sufrirDanio(cantDanio){
  16. const danioAcumulado = cantDanio + danio
  17. if(danioAcumulado >= danioMaximo)
  18. {
  19. danio = danioMaximo
  20. }
  21. else
  22. {
  23. danio = danioAcumulado
  24. }
  25.  
  26. }
  27.  
  28. method estaFueraDeCombate() = danio == danioMaximo
  29.  
  30. method poderOfensivo() = self.poderBase()*3 + self.poderEspecial()
  31.  
  32.  
  33. method atacarA(otroPersonaje){
  34. if(self.estaFueraDeCombate())
  35. {
  36. self.error("No puedes atacar!")
  37. }
  38. else
  39. {
  40. const danioAtacante = self.poderOfensivo()
  41. otroPersonaje.sufrirDanio(danioAtacante)
  42. }
  43.  
  44. }
  45.  
  46. }
  47.  
  48.  
  49. object capitanFalcon inherits Personaje{
  50. override method poderEspecial() = 9999
  51. }
  52.  
  53. object jigglypuff inherits Personaje{
  54. override method poderEspecial() = if (self.danio() > 200) 250 else 10
  55. }
  56.  
  57. object link inherits Personaje{
  58. var property arma = 0
  59.  
  60. override method poderEspecial(){
  61. return arma.poderEspecial(self)
  62. }
  63. }
  64.  
  65. //Interfaz
  66. class Arma{
  67. var property poderEspecial
  68.  
  69. method poderEspecial(personaje)
  70.  
  71. }
  72.  
  73. object espadaMaestra inherits Arma{
  74. var property poderNormal = 100
  75. const property intensidadRayoDeLuz = 50
  76.  
  77. override method poderEspecial(personaje){
  78. if(personaje.danio() == 0)
  79. {
  80. self.lanzarRayoDeLuz()
  81. return self.poderNormal()
  82. }
  83. else{
  84. return self.poderNormal()
  85. }
  86. }
  87.  
  88. method lanzarRayoDeLuz(){
  89. self.aumentarPoder(intensidadRayoDeLuz)
  90. }
  91.  
  92. method aumentarPoder(cantidad){
  93. poderNormal += cantidad
  94. }
  95. }
  96.  
  97. class Boomerang inherits Arma{
  98. var property calidad = 0
  99.  
  100. override method poderEspecial(personaje) = calidad*2
  101. }
  102.  
  103. object arcoYFlecha inherits Arma{
  104. override method poderEspecial(personaje) = personaje.poderBase()*5
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement