Está en la página 1de 3

11/10/22, 15:16 Programación con Objetos: Clases e Instancias - ¡¿Vivos?!

- Sé Programar

¡¿Vivos?!

¿Acaso Bouba y Kiki pensaron que eran invencibles? Cuando su salud llega a 0, su vida
termina... nuevamente. ¡Son zombis, después de todo!

Definí el método sin_vida? que nos dice si la salud de Bouba o Kiki es cero.

 Solución  Consola

1 
2 module Kiki
3  @salud=100 
4  def self.sabe_correr?
5    false 
6  end
7  def self.gritar
8    "¡agrrrg!"
9  end
10  def self.salud
11    @salud
12  end
13  def self.recibir_danio!(pdanio)
14    @salud-=(pdanio*2)
15    if @salud<0
16      @salud=0
17    end
18  end
19  def self.sin_vida?
20    @salud<=0
21  end
22 end
23 module Bouba
24  @salud=100
25  def self.sabe_correr?
26    false

https://seprogramar.inti.gob.ar/inti/exercises/266-programacion-con-objetos-clases-e-instancias-vivos 1/3
11/10/22, 15:16 Programación con Objetos: Clases e Instancias - ¡¿Vivos?! - Sé Programar

27  end
28  def self.gritar
29    "¡agrrrg!"
30  end
31  def self.salud
32    @salud
33  end
34  def self.recibir_danio!(pdanio)
35    @salud-=(pdanio*2)
36    if @salud<0
37      @salud=0
38    end
39  end
40  def self.sin_vida?
41    @salud<=0
42  end
43 end

 Enviar

 ¡Muy bien! Tu solución pasó todas las pruebas

Al igual que nos pasó con el resto de los mensajes, sin_vida? es exactamente igual para ambos
zombis. ¡Otra vez hubo que escribir todo dos veces!

Ahora ya es imposible no verlo: todo lo que se modifique en un zombi también se modifica en el


otro. ¿Qué problemas nos trae esto?

Aunque nos equivoquemos en una cosa, el error se repite dos veces.


Si cambiara la forma en la que, por ejemplo, reciben daño, tendríamos que reescribir
recibir_danio dos veces.

¿Y si hubiese diez zombis en lugar de dos? ¿Y si hubiese cien? ¡Cuántas veces habría que
copiar y pegar!

Veamos una solución posible...

https://seprogramar.inti.gob.ar/inti/exercises/266-programacion-con-objetos-clases-e-instancias-vivos 2/3
11/10/22, 15:16 Programación con Objetos: Clases e Instancias - ¡¿Vivos?! - Sé Programar

Esta guía fue desarrollada por Felipe Calvo bajo los términos de la Licencia Creative Commons Compartir-Igual,
4.0.

© 2015-2022 Ikumi SRL


Información importante
Términos y Condiciones
Reglas del Espacio de Consultas

https://seprogramar.inti.gob.ar/inti/exercises/266-programacion-con-objetos-clases-e-instancias-vivos 3/3

También podría gustarte