# Практика работы с функциями и объектами
## Задания
## Задание 1: Сражение с драконом
### Организовать ввод данных с помощью функции `prompt`:
- `name` — имя героя (строка)
- `age` — возраст героя (число)
- `hasSwordLicense` — наличие лицензии на меч (boolean)
- `hasArmor` — наличие брони (boolean)
- `powerLevel` — уровень силы героя (число от 1 до 100)
### Пример использования функции `prompt`
```javascript
hero.name = prompt("Введите имя героя: ");
hero.age = Number(prompt("Введите ваш возраст: "))
```
### Создайте объект `hero` со свойствами и методами:
```javascript
Свойства объекта hero:
- name
- age
- hasSwordLicense
- hasArmor
- powerLevel
- canFight()
- getBattleResult()
- calculatePoints()
- getTitle()
```
### Проверьте допуск к бою
- Если герой не допущен, выведите сообщение:
```javascript
<имя>, вы слишком слабы и не можете участвовать в бою!
```
- Если допущен, выведите:
```javascript
<имя>, вы допущены к бою с драконом!
<результат боя>
```
### Выведите очки георя и его титул
После боя (или даже если герой проиграл) выведите:
```javascript
Ваши очки героя: <heroPoints>
Ваш титул: <title>
```
### Пример работы программы
```javascript
Введите ваше имя: Артур
Введите ваш возраст: 20
Есть ли у вас лицензия на меч? (true/false): true
Есть ли у вас броня? (true/false): true
Введите уровень вашей силы (1-100): 100
Артур, вы допущены к бою с драконом!
Поздравляем! Вы победили дракона!
Ваши очки героя: 140
Ваш титул: Легендарный герой
```
## Задание 2: Выполнение квестов
В этом задании вы создадите систему, которая моделирует работу таверны, где герой может выполнять квесты, зарабатывать золото и прокачивать свой уровень.
### Задачи:
1. Добавьте в вашем объекте `hero` следующие свойства:
- `level` - уровень героя (Number)
- `gold` - количество имеющегося золота
- `completedQuests` - массив выполненных квестов (изначально пустой)
и методы:
- `addQuest(questName, reward)` - добавляет квест в список выполненных и увеличивает золото на reward
- `levelUp()` - повышение уровеня игрока на 1
- `showStats()` - вывод информации о героя (имя, возраст, уровень, уровень силы, сколько золота, количество выполненных квестов)
1. **Создайте массив квестов**
Пример:
```javascript
const quests = [
{ name: "Убить крыс в подвале", reward: 5 },
{ name: "Спасти кота из дерева", reward: 10 },
{ name: "Сопроводить торговца", reward: 20 },
{ name: "Победить гоблинов", reward: 50 },
{ name: "Разгадать древнюю загадку", reward: 70 },
]
```
2. **Реализуйте цикл выполнения квестов**
- Герой проходит все квесты по очереди
- После каждого квесты - золото увеличивается, квест добавляется в список
- Если количество золота превышает 50 - герой повышает уровень
3. **Выведите результат работы**
После выполнения всех квестов:
- Вывести список всех выполненных квестов
- Вывести итоговое количество золота
- Вывести уровень героя
### Пример работы программы
```javascript
Введите имя героя: Артур
--- Герой приступает к квестам ---
Квест выполнен: Убить крыс в подвале (+5 золота)
Квест выполнен: Спасти кота из дерева (+10 золота)
Квест выполнен: Сопроводить торговца (+20 золота)
🎉 Герой повышает уровень!
Квест выполнен: Победить гоблинов (+50 золота)
🎉 Герой повышает уровень!
Квест выполнен: Разгадать древнюю загадку (+70 золота)
🎉 Герой повышает уровень!
--- Результат ---
Имя: Артур
Возраст: 20
Уровень: 3
Уровень силы: 80
Золото: 155
Количество выполненных квестов: 5
```