https://github.com/yuriyvyatkin/ajs-hw-5.2-methods
ДЗ №2 к лекции «Классы, наследование» курса «Продвинутый JavaScript» Нетологии
https://github.com/yuriyvyatkin/ajs-hw-5.2-methods
classes inheritance jest js
Last synced: 8 months ago
JSON representation
ДЗ №2 к лекции «Классы, наследование» курса «Продвинутый JavaScript» Нетологии
- Host: GitHub
- URL: https://github.com/yuriyvyatkin/ajs-hw-5.2-methods
- Owner: yuriyvyatkin
- Created: 2021-06-24T05:54:49.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-08T01:30:28.000Z (about 4 years ago)
- Last Synced: 2025-01-04T01:39:23.403Z (9 months ago)
- Topics: classes, inheritance, jest, js
- Language: JavaScript
- Homepage:
- Size: 242 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Домашнее задание №2 к лекции «Классы, наследование»
[](https://ci.appveyor.com/project/yuriyvyatkin/ajs-hw-5-2-methods)
## Методы
### Легенда
Поскольку вы создавали классы для того, чтобы хранить в одном месте свойства объекта и его поведение, то пришла пора реализовать соответствующие методы.
#### Описание
Реализуйте в классе `Character` метод `levelUp`, который работает следующим образом:
1. На 1 повышает поле `level`;
1. На 20% повышает показатели `attack` и `defence`;
1. Приводит показатель `health` к значению 100.Метод должен работать только если показатель жизни не равен 0. В противном случае генерируется ошибка (нельзя повысить левел умершего).
Реализуйте в класса `Character` метод `damage(points)`, который меняет внутреннее состояние объекта (`points` - это урон, наносимый персонажу). Метод `damage(points)` ничего не возвращает и рассчитывает итоговое изменение жизни персонажа (`health`) по формуле: `health -= points * (1 - defence / 100)`, учитывая, что значение `health >= 0`.
Не забудьте написать unit-тесты, которые обеспечивают 100% покрытие функций и классов, которые вы тестируете.