Dungeon Master була однією з перших рольових ігор в реальному часі в реальному часі, спочатку випущених в 1987 році на Atari ST. Серед інших захоплюючих для того часу речей, вона запропонувала досить складну систему заклинань, засновану на рунах.
Ваше завдання сьогодні - написати програму або функцію, яка оцінює кількість балів Мана, необхідних для того, щоб подати задане заклинання в Dungeon Master.
Система "заклинання" - це праворучне верхнє червоне поле на зображенні, що зображено вище.
Заклинання, руни і Мана
Заклинання Dungeon Master складаються з 2 до 4 рун, вибраних серед наступних категорій, у такому точному порядку:
- Потужність (обов'язкова)
- Стихійний вплив (обов’язковий)
- Форма (необов’язково)
- Клас / Вирівнювання (необов'язково)
Це означає, що дійсні заклинання:
- Сила + стихійний вплив
- Сила + стихійний вплив + форма
- Сила + стихійний вплив + Форма + Клас / Вирівнювання
Кожна категорія містить 6 рун, і кожна руна має пов’язану базову вартість Мани:
=============================================================================
| Power | Rune | Lo | Um | On | Ee | Pal | Mon |
| +-----------+------+------+------+------+------+------+
| | Base cost | 1 | 2 | 3 | 4 | 5 | 6 |
=============================================================================
| Elemental Influence | Rune | Ya | Vi | Oh | Ful | Des | Zo |
| +-----------+------+------+------+------+------+------+
| | Base cost | 2 | 3 | 4 | 5 | 6 | 7 |
=============================================================================
| Form | Rune | Ven | Ew | Kath | Ir | Bro | Gor |
| +-----------+------+------+------+------+------+------+
| | Base cost | 4 | 5 | 6 | 7 | 7 | 9 |
=============================================================================
| Class / Alignment | Rune | Ku | Ros | Dain | Neta | Ra | Sar |
| +-----------+------+------+------+------+------+------+
| | Base cost | 2 | 2 | 3 | 4 | 6 | 7 |
=============================================================================
Оцінка вартості Мани
Вартість Мана заклинання - це сума вартості Мани всіх рун:
Вартість руни Power завжди дорівнює її базовій вартості (від 1 до 6).
Для інших рун застосовується наступна формула:
де потужність - основна вартість руни Power.
Приклади
Spell: Lo Ful
Cost : 1 + floor((1 + 1) * 5 / 2) = 1 + 5 = 6
Spell: Um Ful
Cost : 2 + floor((2 + 1) * 5 / 2) = 2 + 7 = 9
Spell: Pal Vi Bro
Cost : 5 + floor((5 + 1) * 3 / 2) + floor((5 + 1) * 7 / 2) = 5 + 9 + 21 = 35
Роз'яснення та правила
- Ваш вхід буде складатися з 2 до 4 рядків, що позначають руни заклинання. Ви можете приймати їх у будь-якому розумному форматі, наприклад, 4 різних параметра, масив рядків (наприклад
['Lo', 'Ful']
) або лише одна рядок з одно символьним роздільником (наприклад'Lo Ful'
). Будь ласка, вкажіть обраний формат введення у своїй відповіді. - Руни гарантовано дійсні.
- Порядок категорій повинен дотримуватися. Невикористані категорії можуть бути відсутніми або замінені на якесь хибне значення.
- Ви можете прийняти руни в будь-якому з цих форматів: 1. Велика літера з наступним малим регістром (
'Ful'
) 2. Усі нижні регістри ('ful'
) 3. Усі великі регістри ('FUL'
). Але ви не можете змішувати різні формати. - Цілком очевидно, нам не байдуже знати, чи насправді заклинання має певний ефект у грі (про цікаві, корисні заклинання, перелічені тут .)
- Це код-гольф , тому виграє найкоротший код у байтах.
- І пам’ятайте: лорд Хаос стежить за вами!
Тестові справи
Spell | Output
---------------+-------
Lo Ful | 6
Um Ful | 9
On Ya | 7
Lo Zo Ven | 12
Pal Vi Bro | 35
Ee Ya Bro Ros | 31
On Ful Bro Ku | 31
Lo Zo Kath Ra | 20
On Oh Ew Sar | 35
Ee Oh Gor Dain | 43
Mon Zo Ir Neta | 68
Mon Des Ir Sar | 75