Конструктор игровых персонажей
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 53 из 56.
Задание
Это простая система игровых персонажей, в которой персонажи могут экипировать оружие и вступать в бой.
Ваша задача — добавить эти два метода в класс Character:
Метод 1: takeDamage(amount)
- Этот метод уменьшает здоровье персонажа на указанное количество (amount)
- Выводит в консоль:
${this.name} takes ${amount} damage
Метод 2: equipWeapon(weapon)
- Этот метод дает персонажу оружие (композиция: отношение "has-a")
- Выводит в консоль:
${this.name} equipped ${weapon.name}
Попробуйте сами
import { Character } from './character.js';
import { Weapon } from './weapon.js';
const hero = new Character('Knight');
const sword = new Weapon('Sword', 10);
hero.equipWeapon(sword); // Должно вывести: "Knight equipped Sword"
hero.takeDamage(20); // Должно вывести: "Knight takes 20 damage"
console.log(hero.health); // Должно показать: 80Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса Circle14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композиции6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средств9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление12Геттеры и сеттеры
Ключевые слова get и setВычисляемые свойстваВалидация и побочные эффектыИтоговое задание15Финальные испытания
Конструктор игровых персонажейСистема товаров для E-commerceСистема управления университетомСистема устройств умного дома