In der fünften Ausgabe von Dungeons & Dragons (wie auch in den meisten anderen Ausgaben) gibt es einen magischen Gegenstand namens Deck of Many Things . Es ist ein unglaublich mächtiger Gegenstand, da alle Karten sehr starke positive oder negative Auswirkungen haben. Um das Deck zu benutzen, deklariert ein Charakter eine Zahl und zieht dann bis zu dieser Anzahl von Karten, wobei die Effekte nacheinander angewendet werden. Wenn der Charakter nicht alle Karten zieht, die er deklariert hat, und es mindestens 1 Stunde her ist, seit die letzte Karte gezogen wurde, werden die restlichen Karten automatisch für sie gezogen und die Effekte angewendet. Nachdem jede Karte gezogen wurde, wird sie in den Stapel zurückgelegt und der Stapel gemischt.
Das Folgende ist eine Liste der Effekte des Zeichnens jeder der Karten 1 :
- Balance : Ihr Verstand leidet unter einer schmerzhaften Veränderung, die zu einer Veränderung Ihrer Ausrichtung führt. Recht wird chaotisch, Gut wird böse und umgekehrt. Wenn Sie neutral oder unausgerichtet sind, hat diese Karte keine Auswirkungen auf Sie.
- Komet : Wenn Sie das nächste feindliche Monster oder die nächste Gruppe von Monstern, denen Sie begegnen, im Alleingang besiegen, erhalten Sie genug Erfahrungspunkte, um eine Stufe zu erreichen. Ansonsten hat diese Karte keine Wirkung.
- Donjon : Sie verschwinden und geraten in einen Zustand schwebender Animation in einer extradimensionalen Sphäre. Alles, was Sie anhatten und trugen, bleibt in dem Raum zurück, den Sie einnahmen, als Sie verschwanden. Sie bleiben eingesperrt, bis Sie gefunden und aus der Sphäre entfernt werden. Sie können von keiner Wahrsagungsmagie geortet werden, aber ein Wunschzauber kann den Ort Ihres Gefängnisses offenbaren. Sie ziehen keine Karten mehr.
- Euryale . Das medusenartige Antlitz der Karte verflucht dich. Wenn du auf diese Weise verflucht bist, erhältst du eine Strafe von -2, wenn du Würfe sparst. Nur ein Gott oder die Magie der Schicksalskarte kann diesen Fluch beenden.
- The Fates : Realitys Stoff löst sich und dreht sich erneut, sodass Sie ein Ereignis vermeiden oder löschen können, als wäre es nie passiert. Sie können die Magie der Karte verwenden, sobald Sie die Karte ziehen oder zu einem anderen Zeitpunkt, bevor Sie sterben.
- Flammen : Ein mächtiger Teufel wird dein Feind. Der Teufel sucht dein Verderben und plagt dein Leben, genießt dein Leiden, bevor er versucht, dich zu töten. Diese Feindschaft dauert an, bis entweder du oder der Teufel stirbt.
- Narr : Du verlierst 10.000 EP, wirfst diese Karte ab und ziehst erneut vom Stapel, wobei beide Ziehungen als eine deiner deklarierten Ziehungen gezählt werden. Wenn Sie so viele EP verlieren, verlieren Sie stattdessen einen Betrag, der Ihnen gerade genug EP lässt, um Ihr Niveau zu halten.
- Edelstein : Fünfundzwanzig Schmuckstücke im Wert von jeweils 2.000 gp oder fünfzig Edelsteine im Wert von jeweils 1.000 gp erscheinen zu Ihren Füßen.
- Idiot : Verringere deine Intelligenz dauerhaft um 1W4 + 1 (auf eine Mindestpunktzahl von 1). Sie können eine weitere Karte über Ihre angegebenen Ziehungen hinaus ziehen.
- Jester : Du erhältst 10.000 EP, oder du kannst zwei zusätzliche Karten ziehen, die über deine angegebenen Ziehungen hinausgehen. Lege diese Karte ab, nachdem du sie gezogen hast.
- Schlüssel : Eine seltene oder seltenere magische Waffe, mit der Sie sich auskennen, erscheint in Ihren Händen. Der GM wählt die Waffe.
- Ritter : Du erhältst den Dienst eines Kämpfers der 4. Stufe, der auf einem Feld erscheint, das du in einem Umkreis von 30 Fuß von dir auswählst. Der Kämpfer ist von der gleichen Rasse wie Sie und dient Ihnen loyal bis zum Tod, weil er glaubt, dass das Schicksal ihn oder sie zu Ihnen hingezogen hat. Du kontrollierst diesen Charakter.
- Mond : Du hast die Möglichkeit, den Wunschzauber 1W3 Mal zu wirken.
- Schurke : Ein Nichtspieler-Charakter nach Wahl des GM wird dir feindlich gesinnt. Die Identität deines neuen Feindes ist erst bekannt, wenn der NPC oder jemand anderes es verrät. Nicht weniger als ein Wunschzauber oder eine göttliche Intervention können die Feindseligkeit des NPCs gegen Sie beenden.
- Ruin : Alle Arten von Reichtum, die Sie tragen oder besitzen, außer magischen Gegenständen, gehen Ihnen verloren. Mobiles Eigentum verschwindet. Unternehmen, Gebäude und Grundstücke, die Sie besitzen, gehen auf eine Weise verloren, die die Realität am wenigsten verändert. Jede Dokumentation, die belegt, dass Sie etwas besitzen sollten, das für diese Karte verloren gegangen ist, verschwindet ebenfalls.
- Schädel . Du beschwörst einen Avatar des Todes - ein gespenstisches humanoides Skelett, das in eine zerlumpte schwarze Robe gehüllt ist und eine Spektralsense trägt. Es erscheint in einem Feld der Wahl des GM innerhalb von 10 Fuß von Ihnen und greift Sie an und warnt alle anderen, dass Sie die Schlacht alleine gewinnen müssen. Der Avatar kämpft bis du stirbst oder er fällt auf 0 Trefferpunkte, woraufhin er verschwindet. Wenn jemand versucht, Ihnen zu helfen, ruft der Helfer seinen eigenen Avatar des Todes herbei. Eine Kreatur, die von einem Avatar des Todes getötet wurde, kann nicht wieder zum Leben erweckt werden.
- Stern : Erhöhen Sie einen Ihrer Fähigkeitswerte um 2. Der Wert kann 20, aber nicht mehr als 24 betragen.
- Sonne : Du erhältst 50.000 EP und ein wundersamer Gegenstand (den der GM zufällig bestimmt) erscheint in deinen Händen.
- Krallen : Jeder magische Gegenstand, den Sie tragen oder tragen, zerfällt. In Ihrem Besitz befindliche Artefakte werden nicht zerstört, sondern verschwinden.
- Thron : Sie erwerben Kenntnisse in der Fähigkeit "Überzeugen" und verdoppeln Ihren Kompetenzbonus für Schecks, die mit dieser Fähigkeit durchgeführt wurden. Darüber hinaus erwerben Sie den rechtmäßigen Besitz eines kleinen Bergfrieds irgendwo auf der Welt. Der Bergfried befindet sich jedoch derzeit in den Händen von Monstern, die Sie ausräumen müssen, bevor Sie den Bergfried für sich beanspruchen können.
- Wesir : Sie können jederzeit innerhalb eines Jahres nach dem Zeichnen dieser Karte eine Frage in Meditation stellen und eine wahrheitsgemäße Antwort auf diese Frage erhalten. Neben Informationen hilft Ihnen die Antwort bei der Lösung eines rätselhaften Problems oder eines anderen Dilemmas. Mit anderen Worten, das Wissen kommt mit der Weisheit, wie man es anwendet.
- Die Leere : Diese schwarze Karte ist eine Katastrophe. Ihre Seele wird aus Ihrem Körper gezogen und in einem Objekt an einem Ort der Wahl des GM enthalten. Ein oder mehrere mächtige Wesen bewachen den Ort. Während Ihre Seele auf diese Weise gefangen ist, ist Ihr Körper handlungsunfähig. Ein Wunschzauber kann deine Seele nicht wiederherstellen, aber der Zauber enthüllt die Position des Objekts, in dem er sich befindet. Sie ziehen keine Karten mehr.
(Kartenbeschreibungen aus der D & D 5th Edition SRD kopiert )
Einige besonders dumme Spieler werden eine große Anzahl von Karten auf einmal ziehen, in der Hoffnung, mindestens einen mächtigen Segen zu erhalten, um die schädlichen Karten auszugleichen. Wie zu erwarten ist, führt dies häufig zum Tod oder zur Unfähigkeit des Charakters, weiterhin Karten zu ziehen.
Die Herausforderung
Simulieren Sie das wiederholte Zeichnen von einem 22-Karten- Stapel mit vielen Dingen und geben Sie jede gezogene Karte aus. Halten Sie nur dann an, wenn eine der folgenden Bedingungen erfüllt ist:
- Der Charakter stirbt (indem er Schädel zieht oder 5 Karten nach dem Ziehen von Flammen oder Schurken zieht , ohne dass Schicksale oder Mond aktiv sind 2 ).
- Der Charakter kann nicht mehr Karten ziehen (über die Effekte von Donjon , Talons , The Void 3 oder den Intelligence Score des Charakters, der über Idiot 4 auf 3 oder niedriger fällt ).
Regeln
- Die Ausrichtung, Stufe, EP und der Besitz des Charakters außer dem Deck spielen keine Rolle.
- Die Intelligenzwertung des Charakters beginnt bei 10.
- Es gibt keine Höchstgrenze für die Intelligenz des Charakters oder für die Verwendung von Wünschen .
- Die Verwendung von The Fates ist nicht stapelbar.
- Der Wunsch , Zauber hat eine 1-in-3 Chance, dass der Charakter nie nutzen kann Wunsch wieder Zauber, zusätzlich zu seiner regulären Wirkung. In diesem Fall kann der Charakter den Zauber nicht länger verwenden, um Flammen , Schurken oder Schädel zu annullieren - die Macht der Schicksale ist ihr einziger Rückgriff.
- Der Charakter trifft immer die folgenden Entscheidungen:
- Das Schicksal und der Mond werden ausschließlich verwendet, um den Charakter aus den Schwierigkeiten von Skull , Flames und Rogue zu befreien . Der Charakter wird sie niemals verwenden, um den Effekt von Talons umzukehren, oder der Wunschzauber kann nicht erneut gewirkt werden, und er wird sie nicht verwenden, um den Effekt von Donjon und The Void umzukehren . Der Charakter wird sofort einen Wunschzauber benutzen , um die Effekte von Schädel , Flammen oder Schurke zu annullieren, wenn er einen von ihnen zeichnet, und es wird immer gelingen. Der Charakter wird immer The Fates verwenden, bevor er verwendetwünschen .
- Der Charakter wählt immer mehr Karten mit den Effekten von Idiot und Jester (passend).
- Der Effekt von Stern wird immer dazu verwendet, die Intelligenz um 2 zu erhöhen, um zu vermeiden, dass durch den Effekt von Idiot keine Karten mehr gezogen werden müssen .
- Der von Knight beschworene NPC-Verbündete ist nicht mächtig genug, um den Charakter vor seinem vorzeitigen Tod zu bewahren.
- Jede Erhöhung oder Verringerung der Intelligenz (über Stern bzw. Idiot ) muss in der Ausgabe berücksichtigt werden (entweder durch Notieren der Änderung (
+2
oder-(1d4+1)
) oder durch Ausgeben des aktuellen Intelligenzwerts nach dem Auftreten des Effekts). - Alle Änderungen an der Anzahl der Wunsch , verwendet das Zeichen gehortet hat , muss in ähnlicher Weise in der Ausgabe berücksichtigt werden, darunter ein Wunsch , was das Zeichen nicht in der Lage sein verwenden Wunsch mehr.
- Alle Zufallsauswahlen stammen aus gleichmäßigen diskreten Verteilungen.
- Sie können einen beliebigen Satz von 22 verschiedenen Ausgängen für die gezogenen Karten auswählen - die Namen der Karten müssen nicht verwendet werden.
- Sie können Ausgangsänderungen in Intelligenz, Wunsch Anwendungen und Wunsch unbrauchbar werden in jeder konsistenten und eindeutigen Art und Weise Ihrer Wahl.
- Der Charakter kann den Wunsch oder die Macht der Schicksale verwenden , um den Tod zu vermeiden, wenn die entsprechende Karte als fünfte Karte nach dem Ziehen von Schurke oder Flamme gezogen wird . Nur wenn der Wunsch unbrauchbar ist oder alle Verwendungszwecke genutzt wurden, The Fates nicht rechtzeitig gezogen wird oder bereits genutzt wurde, stirbt der Charakter.
- Dummkopf und Spaßvogel werden weggeworfen, nachdem sie gezeichnet werden. Alle anderen Karten werden sofort auf den Stapel zurückgelegt und der Stapel wird dann gemischt.
- Wenn mehrere Stapel von Schurken und / oder Flammen aktiv sind, ist nur eine Verwendung von Schicksal oder Wunsch erforderlich, um alle zu zerstreuen.
- Das gleichzeitige Ziehen mehrerer Karten über " Jester" oder " Fool" erhöht nicht den Turn Counter bei " Flames" und / oder " Rogue" .
Beispiele
Jede Linie repräsentiert eine Folge von Ziehungen. Änderungen an Intelligenz und Wunschgebrauch werden durch den aktuellen Wert in Klammern angezeigt. Eine C
neben einem Wunsch stehende Verwendung bedeutet, dass der Wunsch nicht mehr verwendet werden kann. A F
bedeutet, dass die Macht des Schicksals genutzt wurde, um den Tod zu vermeiden. Zusätzliche Kommentare werden zu Erläuterungszwecken in Form von Kommentaren im Python-Stil bereitgestellt.
Void # Can't draw with your soul ripped out of your body.
Throne, Euryale, Rogue, Star (12), Donjon # Can't draw while in suspended animation.
Moon (3), Throne, Sun, Flames (2), Fool, Idiot (6), Flames (1 C), The Fates, Skull (F), Skull # Two uses of wish were used on the two Flames draws. The second use rendered the character unable to use wish again. The Fates was used on the first Skull. When the second Skull came up, there was no way for the character to save himself, so he died.
Idiot (5), Star (7), Idiot (3) # Too dumb to draw.
Sun, Star (12), Talons # Talons destroys the deck.
Fates, Throne, Moon (2), Fates, Skull (F), Skull # Fates doesn't stack
Fates, Flames, Euryale, Fates, Skull, Void
Flames, Comet, Euryale, Gem, Knight, Key # 5 draws after Flames, the hero dies
Rogue, Balance, Throne, Gem, Idiot (8), Vizier, Sun # 5 draws plus one extra from Idiot
Referenzimplementierung
#!/usr/bin/env python3
import random
deck="""Sun
Moon
Star
Throne
Key
Knight
Void
Flames
Skull
Ruin
Euryale
Rogue
Jester
Vizier
Comet
Fates
Gem
Talons
Idiot
Donjon
Balance
Fool""".split()
random.shuffle(deck)
int_stat = 10
wish_uses = 0
wish_expired = False
fates = False
turn_count = None
while True:
card = deck.pop()
if card == "Fates":
if turn_count is None:
fates = True
print(card)
else:
turn_count = None
fates = False
print("{} (F)".format(card))
elif card == "Moon":
wish_uses += random.randint(1, 3)
if turn_count is None:
print("{} ({})".format(card, wish_uses))
else:
turn_count = None
wish_uses -= 1
print("{} ({}) ({})".format(card, wish_uses+1, wish_uses))
elif card in ["Flames", "Rogue"]:
if turn_count is None:
turn_count = 5
if fates:
fates = False
turn_count = None
print("{} (F)".format(card))
elif wish_uses > 0 and not wish_expired:
wish_uses -= 1
turn_count = None
wish_now_expired = random.choice([False, False, True])
print("{} ({}{})".format(card, wish_uses, " C" if wish_expired else ""))
wish_expired = wish_now_expired
else:
print("{}".format(card))
elif card == "Idiot":
int_stat -= random.randint(2, 5)
print("{} ({})".format(card, int_stat))
if turn_count is not None:
turn_count += 1
if int_stat <= 3:
break
elif card == "Star":
int_stat += 2
print("{} ({})".format(card, int_stat))
elif card == "Skull":
if fates:
fates = False
turn_count = None
print("{} (F)".format(card))
elif wish_uses > 0 and not wish_expired:
wish_uses -= 1
turn_count = None
wish_now_expired = random.choice([False, False, True])
print("{} ({}{})".format(card, wish_uses, " C" if wish_expired else ""))
wish_expired = wish_now_expired
else:
print(card)
break
elif card in ["Donjon", "Void", "Talons"]:
print(card)
break
elif card == "Fool":
print(card)
if turn_count is not None:
turn_count += 1
elif card == "Jester":
print(card)
if turn_count is not None:
turn_count += 2
else:
print(card)
if card not in ["Fool", "Jester"]:
deck.append(card)
random.shuffle(deck)
if turn_count is not None:
turn_count -= 1
if turn_count == 0:
break
[1]: Technisch gibt es zwei Varianten: eine mit 13 Karten und eine mit 22 Karten. Hier geht es nur um die Vollversion mit 22 Karten.
[2]: Flamme und Schurke töten den Charakter normalerweise nicht sofort, aber es wird angenommen, dass der feindliche NPC den törichten Charakter gefunden und getötet hat, nachdem er Zeit hat, 5 weitere Karten zu ziehen. Das von Skull herbeigerufene Gespenst ist extrem schwer zu bekämpfen und es wird angenommen, dass der Charakter nicht gewinnt. Nur eine göttliche / magische Intervention über The Fates oder Moon kann den törichten Charakter durch diese 3 Karten vor seinem Tod retten.
[3]: Wir gehen davon aus, dass die Freunde des Charakters klug genug sind, um nicht zu versuchen, den Charakter zu retten und ihnen zu erlauben, mehr Karten zu ziehen.
[4]: Ein Intelligenzwert von 3 entspricht in etwa einem Wildtier, das nicht in der Lage wäre, aktiv Karten zu ziehen.
Antworten:
JavaScript (ES6), 379 Byte
Ungolfed
Code-Snippet anzeigen
Erläuterung der Ausgabe
Die Karten reichen von 0-21 wie folgt:
Eine Umkehrung von Skull, Flames oder Rogue über The Fates wird mit a bezeichnet
0
.JavaScript (ES6), 792 Byte
Vorherige Version mit Kartennamen, bevor ich herausfand, dass 22 verschiedene Ausgaben zulässig sind.
Ungolfed
Code-Snippet anzeigen
quelle
Kotlin , 1173 Bytes
Es ist auch lauffähig. - Probieren Sie es online!
Es gibt wahrscheinlich viele Bugs ... lass es mich in den Kommentaren wissen!
quelle
Fool
oderJester
.Java 8,
481480 BytesPortierte die Python3-Referenzimplementierung in Java und setzte sie dann ab. Kann definitiv mehr golfen werden, aber dies ist nur eine erste Version, um sicherzustellen, dass ich alles richtig gemacht habe.
Wenn jemand Fehler entdeckt (
es würde mich nicht überraschen, wenn es irgendwelcheEDIT- Fehlergibt, diewie sieben oder acht Fehler behoben wurden, seit ich dies gepostet habe ..), lass es mich bitte wissen.Kartenausgänge:
Ausgabeformat für verbleibende Wünsche, verwendete Wünsche, verbleibende Informationen und verwendetes Flag:
Erläuterung:
Versuchen Sie es hier oder versuchen Sie es hier mit hübsch gedruckter Ausgabe .
quelle
Jester; Fates; Ruin; Euryale; Gem; Ruin; Ruin; Rogue(Fates used) Gem; Balance; Throne; Rogue(wishes left: 0; wishes used: 0); Rogue(wishes left: 0; wishes used: 0);
Warum hat es aufgehört?