Ahora sí: invasión

Prometimos una invasión zombi pero sólo tenemos dos . Ahora que contamos con un molde para crearlos fácilmente, la clase Zombi, podemos hacer zombis de a montones.

¿Eso significa que tenés que pensar un nombre para referenciar a cada uno? ¡No! No necesitamos una referencia para cada uno. El objeto se crea con el new(), según el contexto vemos si lo queremos asignar en una referencia o si lo usamos para otra cosa. Por ejemplo, a una nueva instancia la podemos poner en una colección, pasarla por parámetro en algun mensaje que le enviamos a otro objeto o simplemente retornarla, si estamos definiendo un método. Veamos algunos ejemplos:

const sobrevivientes = [new Sobreviviente(), new Sobreviviente(), new Sobreviviente()]
ciudad.agregar( new Sobreviviente() )
method crearZombi() { return new Zombi() }

También podemos instanciar un objeto, utilizarlo y nunca guardarlo ni referenciarlo, con lo cual luego que realizó su tarea lo perdemos. Por ejemplo:

const bouba = new Zombi()
bouba.salud() // Devuelve 100
new Sobreviviente(energia = 200).atacar( bouba )
bouba.salud() // Devuelve 60

Creamos un sobreviviente nuevo con el único objetivo de que ataque a bouba. Luego de atacar, es como si no existiera más, porque no guardaramos ninguna referencia hacia él. En cambio, el zombi al que referencia la constante bouba sigue existiendo y tiene menos salud que antes del ataque.

Veamos si se entiende: te dejamos en el editor un objeto invasion para que completes de modo que:

  • Su atributo zombies se inicialice con una colección con un único elemento: una instancia nueva de la clase Zombi.

  • Cuando le mandemos el mensaje incrementar a la invasión debería aumentar su tamaño como consecuencia de agregar nuevos zombies a su colección. Debería agregarse un nuevo zombis por cada zombi vivo que tenga.

El metodo tamanio te lo damos resuelto

Tenés que iniciar sesión antes de empezar a enviar tus soluciones