Dungeon Master war eines der ersten Echtzeit-Rollenspiele, das 1987 auf dem Atari ST veröffentlicht wurde. Unter anderem bot es für die damalige Zeit ein ziemlich ausgeklügeltes Zaubersystem, das auf Runen basierte.
Ihre Aufgabe heute ist es, ein Programm oder eine Funktion zu schreiben, die die Anzahl der Manapunkte auswertet, die zum Wirken eines bestimmten Zaubers in Dungeon Master erforderlich sind.
Das "Zauber" -System ist das Cyan-Feld oben rechts im obigen Bild.
Zaubersprüche, Runen und Mana
Dungeon Master-Zaubersprüche bestehen aus 2 bis 4 Runen, die genau in dieser Reihenfolge aus den folgenden Kategorien ausgewählt werden:
- Leistung (Pflichtfeld)
- Elementarer Einfluss (obligatorisch)
- Formular (optional)
- Klasse / Ausrichtung (optional)
Dies bedeutet, dass gültige Zaubersprüche entweder:
- Macht + Elementarer Einfluss
- Kraft + Elementarer Einfluss + Form
- Kraft + Elementarer Einfluss + Form + Klasse / Ausrichtung
Jede Kategorie enthält 6 Runen und jeder Rune sind Manakosten zugeordnet:
=============================================================================
| 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 |
=============================================================================
Bewertung der Manakosten
Die Manakosten des Zaubers sind die Summe der Manakosten aller Runen:
Die Kosten der Power-Rune entsprechen immer den Grundkosten (von 1 bis 6).
Für die anderen Runen gilt folgende Formel:
Wobei Macht die Grundkosten der Macht-Rune sind.
Beispiele
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
Erläuterungen und Regeln
- Ihre Eingabe besteht aus 2 bis 4 Zeichenfolgen, die die Runen des Zaubers bezeichnen. Sie können sie in jedem vernünftigen Format verwenden, z. B. 4 verschiedene Parameter, ein Array von Zeichenfolgen (z. B.
['Lo', 'Ful']
) oder nur eine Zeichenfolge mit einem Trennzeichen Ihrer Wahl (z'Lo Ful'
. B. ). Bitte geben Sie in Ihrer Antwort das ausgewählte Eingabeformat an. - Die Runen sind garantiert gültig.
- Die Reihenfolge der Kategorien muss eingehalten werden. Nicht verwendete Kategorien fehlen möglicherweise oder werden durch einen falschen Wert ersetzt.
- Sie können die Runen in einem der folgenden Formate akzeptieren: 1. Ein Großbuchstabe, gefolgt von Kleinbuchstaben (
'Ful'
) 2. Alle Kleinbuchstaben ('ful'
) 3. Alle Großbuchstaben ('FUL'
). Sie können jedoch keine verschiedenen Formate mischen. - Offensichtlich ist es uns egal, ob der Zauber tatsächlich einen Effekt im Spiel hat (für die neugierigen, nützlichen Zaubersprüche sind hier aufgelistet ).
- Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes.
- Und denk dran: Lord Chaos beobachtet dich!
Testfälle
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