Dungeon Master là một trong những game nhập vai thời gian thực đầu tiên, được phát hành lần đầu vào năm 1987 trên Atari ST. Trong số những điều thú vị khác vào thời điểm đó, nó cung cấp một hệ thống chính tả khá tinh vi dựa trên rune.
Nhiệm vụ của bạn hôm nay là viết một chương trình hoặc chức năng đánh giá số điểm Mana cần có để sử dụng một câu thần chú nhất định trong Dungeon Master.
Hệ thống 'cast cast' là hộp màu lục bên phải trên cùng trong hình trên.
Phép thuật, rune và Mana
Các phép thuật của Dungeon Master bao gồm từ 2 đến 4 rune, được chọn trong số các loại sau, theo thứ tự chính xác này:
- Quyền lực (bắt buộc)
- Ảnh hưởng nguyên tố (bắt buộc)
- Mẫu (tùy chọn)
- Lớp / Sắp xếp (tùy chọn)
Nó có nghĩa là các phép thuật hợp lệ là:
- Sức mạnh + Ảnh hưởng nguyên tố
- Sức mạnh + Ảnh hưởng nguyên tố + Hình thức
- Sức mạnh + Ảnh hưởng nguyên tố + Hình thức + Lớp / Sắp xếp
Mỗi danh mục chứa 6 rune và mỗi rune có chi phí Mana cơ sở liên quan:
=============================================================================
| 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 |
=============================================================================
Đánh giá chi phí Mana
Chi phí Mana của câu thần chú là tổng chi phí Mana của tất cả các rune:
Chi phí của rune Power luôn bằng chi phí cơ bản của nó (từ 1 đến 6).
Đối với các rune khác, công thức sau đây được áp dụng:
trong đó năng lượng là chi phí cơ bản của rune Power.
Ví dụ
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
Làm rõ và quy tắc
- Đầu vào của bạn sẽ bao gồm 2 đến 4 chuỗi chỉ định các rune của chính tả. Bạn có thể lấy chúng ở bất kỳ định dạng hợp lý nào, chẳng hạn như 4 tham số riêng biệt, một chuỗi các chuỗi (ví dụ
['Lo', 'Ful']
) hoặc chỉ một chuỗi với dấu phân cách một ký tự bạn chọn (ví dụ'Lo Ful'
). Vui lòng chỉ định định dạng đầu vào được chọn trong câu trả lời của bạn. - Các rune được đảm bảo là hợp lệ.
- Thứ tự của các thể loại phải được tôn trọng. Các danh mục không được sử dụng có thể bị thiếu hoặc được thay thế bằng một số giá trị giả.
- Bạn có thể chấp nhận các rune ở bất kỳ định dạng nào sau đây: 1. Một chữ in hoa theo sau là chữ thường (
'Ful'
) 2. Tất cả chữ thường ('ful'
) 3. Tất cả chữ hoa ('FUL'
). Nhưng bạn không thể trộn các định dạng khác nhau. - Rõ ràng, chúng tôi không quan tâm đến việc liệu phép thuật này có thực sự có tác dụng trong trò chơi hay không (đối với các phép thuật gây tò mò, hữu ích được liệt kê ở đây .)
- Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ thắng.
- Và hãy nhớ rằng: Lord Chaos đang theo dõi bạn!
Các trường hợp thử nghiệm
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