Saltar al contenido

Proyecto: personajes de un juego

JavaScript · Unidad 13: Herencia

Vas a armar los personajes de un juego. Todos tienen nombre, vida y fuerza. Al recibir un golpe pierden vida, sin bajar de 0, y al atacar le dan al otro su golpe(), que por ahora es su fuerza.

Esta es la clase madre de todos:

class Personaje {
  constructor(nombre, vida, fuerza) {
    this.nombre = nombre;
    this.vida = vida;
    this.fuerza = fuerza;
  }
  golpe() {
    return this.fuerza;
  }
  recibir(n) {
    this.vida -= n;
    if (this.vida < 0) {
      this.vida = 0;
    }
  }
  atacar(otro) {
    otro.recibir(this.golpe());
  }
}
const ana =
  new Personaje("Ana", 50, 8);
const ogro =
  new Personaje("Ogro", 30, 5);
ana.atacar(ogro);
console.log(ogro.vida);

Imprime

22

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Completa el código

    Todo guerrero empieza con 120 de vida y 10 de fuerza; solo cambia su nombre. Completa la clase.

  2. 2. Escribe el código

    Escribe la clase Guerrero. Hereda de Personaje, recibe su nombre y el filo de su espada, y siempre empieza con 120 de vida y 10 de fuerza. Su golpe es su fuerza más el filo: sobrescribe golpe(). La función duelo de abajo ya está lista.

  3. 3. Escribe el código

    Ahora el Mago: empieza con 70 de vida, 4 de fuerza y 20 de maná. Escribe su golpe(). Si tiene al menos 10 de maná, gasta 10 y lanza un hechizo que pega 5 veces su fuerza. Si no le alcanza, pega como cualquier personaje: usa super.golpe(). La función ronda pone a pelear juntos al guerrero y al mago.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →