Creador de personajes de videojuegos
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 53 de 56.
Desafío
Este es un sistema simple de personajes de juego donde los personajes pueden equipar armas y participar en combates.
Tu tarea es agregar estos dos métodos a la clase Character:
Método 1: takeDamage(amount)
- Este método reduce la salud del personaje por la cantidad especificada
- Registra en consola:
${this.name} takes ${amount} damage
Método 2: equipWeapon(weapon)
- Este método le da al personaje un arma (composición: relación "has-a")
- Registra en consola:
${this.name} equipped ${weapon.name}
Pruébalo tú mismo
import { Character } from './character.js';
import { Weapon } from './weapon.js';
const hero = new Character('Knight');
const sword = new Weapon('Sword', 10);
hero.equipWeapon(sword); // Debería registrar: "Knight equipped Sword"
hero.takeDamage(20); // Debería registrar: "Knight takes 20 damage"
console.log(hero.health); // Debería mostrar: 80Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase Círculo14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con Composición9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso12Getters y Setters
Las palabras clave get y setPropiedades computadasValidación y efectos secundariosDesafío de repaso15Desafíos finales
Creador de personajes de videojuegosSistema de productos de E-commerceSistema de gestión universitariaSistema de dispositivos para el hogar inteligente