Dungeons&Dragons 5th edition(および他のほとんどのエディション)には、Deck of Many Thingsと呼ばれる魔法のアイテムが存在します。カードはすべて非常に強い正または負の効果を持っているため、非常に強力なアイテムです。デッキを使用するには、キャラクターが数字を宣言し、その数のカードを引き出します。効果は順番に適用されます。キャラクターが宣言したすべてのカードを描画せず、最後のカードが描画されてから少なくとも1時間経過している場合、残りのカードは自動的に描画され、効果が適用されます。各カードが描かれた後、それはデッキに戻され、デッキはシャッフルされます。
以下は、各カード1を引くことの効果のリストです:
- バランス:あなたの心はひどい変化を被り、あなたのアライメントが変化します。合法は混oticとし、善は悪となり、逆もまた同様です。あなたが真のニュートラルまたは非同盟である場合、このカードはあなたに影響を与えません。
- コメット:遭遇する次の敵対的なモンスターまたはモンスターのグループを単独で倒すと、1レベルを得るのに十分な経験値を獲得します。そうでない場合、このカードは効果がありません。
- ドンジョン:あなたは姿を消し、異次元の球体でアニメーションが中断された状態で埋葬されます。あなたが身に着けていて運んでいたものはすべて、あなたが姿を消したときにあなたが占有していた空間に留まります。あなたが発見され、球から取り除かれるまで、あなたは投獄されたままです。あなたは占いの魔法で見つけることはできませんが、願いの呪文はあなたの刑務所の場所を明らかにすることができます。これ以上カードを引きません。
- エウリュアレ。カードのメデューサのような顔はあなたを呪います。この方法で呪われている間、あなたはスローをセーブすることで-2ペナルティを受けます。この呪いを終わらせることができるのは、神か運命カードの魔法だけです。
- 運命:Realityのファブリックは解きほぐされ、新たに回転します。これにより、1つのイベントを、発生しなかったように回避または消去できます。カードを引くとすぐ、または死ぬ前であればいつでもカードの魔法を使うことができます。
- 炎:強力な悪魔が敵になります。悪魔はあなたの破滅を求め、あなたの人生を苦しめ、あなたを殺そうとする前にあなたの苦しみを味わいます。この敵意は、あなたか悪魔が死ぬまで続きます。
- 愚か者:10,000 XPを失い、このカードを捨てて、デッキから再び引きます。両方の引きを宣言した引きの1つとして数えます。それほど多くのXPを失うとレベルが失われる場合、代わりにレベルを維持するのに十分なXPだけが残る量を失うことになります。
- 宝石:各2,000 gpに相当する25個の宝石、または各1,000 gpに相当する50個の宝石が足元に現れます。
- 白痴:インテリジェンスを恒久的に1d4 + 1(最小スコア1まで)減らします。宣言されたドローを超えて追加のカードを1枚引くことができます。
- 道化師:10,000 XPを獲得するか、宣言したドローを超えて2枚の追加カードを引くことができます。描いた後、このカードを捨てます。
- キー:熟練したレアまたはレアな魔法の武器が手に現れます。GMは武器を選択します。
- ナイト:あなたは、あなたの30フィート以内の選択したスペースに現れる第4レベルの戦闘機のサービスを獲得します。ファイターはあなたと同じ人種であり、運命が彼または彼女をあなたに引き寄せたと信じて、死ぬまで忠実にあなたに仕えます。あなたはこのキャラクターをコントロールします。
- ムーン:ウィッシュスペルを1d3回キャストすることができます。
- Rogue:GMが選択したノンプレイヤーキャラクターは、あなたに対して敵対的になります。新しい敵の身元は、NPCまたは他の誰かが明らかにするまでわかりません。願いの呪文や神の介入以外に、あなたに対するNPCの敵意を終わらせることはできません。
- 破滅:魔法のアイテム以外の、あなたが持っているか所有しているあらゆる種類の富はあなたに失われます。ポータブルプロパティは消滅します。所有しているビジネス、建物、土地は、現実をほとんど変えない方法で失われます。このカードで紛失したものを所有する必要があることを証明する文書もすべて消えます。
- スカル。あなたは死のアバターを召喚します-ボロボロの黒いローブに身を包み、スペクトルの鎌を運んでいる幽霊のようなヒューマノイドのスケルトン。それはあなたの10フィート以内のGMが選択したスペースに現れ、あなたを攻撃します。あなたが死ぬか、ヒットポイントが0になるまでアバターは戦うので、消えます。誰かがあなたを助けようとした場合、ヘルパーは死のアバターを召喚します。死のアバターによって殺されたクリーチャーは、生き返ることができません。
- スター:能力スコアの1つを2つ増やします。スコアは20を超えることができますが、24を超えることはできません。
- Sun:50,000 XPを獲得し、不思議なアイテム(GMがランダムに決定します)が手に現れます。
- Talons:あなたが身につけたり運んだりするすべての魔法のアイテムは崩壊します。あなたが持っているアーティファクトは破壊されませんが、消えます。
- 玉座:説得スキルの習熟度を獲得し、そのスキルで行われたチェックの習熟度ボーナスを2倍にします。さらに、世界のどこかにある小さなキープの正当な所有権を取得します。ただし、現在、キープはモンスターの手にあります。モンスターをキープする前にクリアする必要があります。
- Vizier:このカードを引いてから1年以内にいつでも、瞑想で質問をすることができ、その質問に対する真実の答えを精神的に受け取ることができます。情報に加えて、答えは不可解な問題やその他のジレンマを解決するのに役立ちます。言い換えれば、知識はそれをどのように適用するかについての知恵を伴っています。
- The Void:この黒のカードは災害を引き起こします。あなたの魂はあなたの体から引き出され、GMが選んだ場所のオブジェクトに含まれています。1人以上の強力な存在が場所を守っています。あなたの魂がこのように閉じ込められている間、あなたの体は無力化されています。願いの呪文はあなたの魂を回復することはできませんが、呪文はそれを保持するオブジェクトの場所を明らかにします。これ以上カードを引きません。
(D&D 5th edition SRDからコピーされたカードの説明)
いくつかの特に愚かなプレーヤーは、有害なカードのバランスを取るために少なくとも1つの強力な恩恵を得ることを望んで、一度に多数のカードを引きます。予想されるように、これは多くの場合、キャラクターの死またはカードを引き続けることができないという結果になります。
チャレンジ
22枚の多くのモノのデッキから繰り返し描画をシミュレートし、描画された各カードを出力し、次の条件のいずれかが満たされた場合にのみ停止します。
- キャラクターは死にます(Skullを引くか、FlamesまたはRogueを引いた後に5枚のカードを引くことで、The FatesまたはMoon active 2の恩恵は受けません)。
- キャラクターは、より多くのカードを引くことができません(ドンジョン、タロン、ボイド3の効果、またはキャラクターの知能スコアが白痴4で 3以下に低下する)。
ルール
- キャラクターの属性、レベル、経験値、デッキ以外の所有物は関係ありません。
- キャラクターの知能スコアは10から始まります。
- キャラクターのインテリジェンスやウィッシュの備蓄された使用に上限はありません。
- The Fatesの使用はスタックしません。
- ウィッシュ呪文は文字が使用できないように原因の1-で-3チャンスがあるの願いその通常の効果に加えて、再び呪文を。これが発生すると、キャラクターはFlames、Rogue、またはSkullを無効にするためにスペルを使用できなくなります- 運命の力は彼らの唯一の頼みの綱です。
- キャラクターは常に次の選択を行います。
- 運命と月は、スカル、フレイム、ローグからキャラクターをトラブルから解放するためにのみ使用されます。キャラクターはの効果逆転するためにそれらを使用することはありませんタロンや希望を再度キャストすることができないという呪文を、との効果逆転するためにそれらを使用することはできません天守閣やボイドを。キャラクターはすぐに1つのウィッシュスペルを使用してSkull、Flames、またはRogueのいずれかを描画するとその効果を無効にし、常に成功します。キャラクターは使用する前に常に運命を使用しますお願いします。
- キャラクターは常に、馬鹿と道化師の効果で(適切に)より多くのカードを引くことを選択します。
- 効果スターはいつもの効果によってカードを引く停止することを避けるために、2によって知能を高めるために使用される白痴。
- ナイトによって召喚されたNPCの味方は、キャラクターを早すぎる死から救うほど強力ではありません。
- インテリジェンスの増加または減少(それぞれStarまたはIdiotを使用)は、出力に反映する必要があります(変更(
+2
または-(1d4+1)
)に注目するか、エフェクトの発生後に現在のインテリジェンススコアを出力する)。 - 数への変更願いは文字を含む、同様に出力に反映されなければなら備蓄した使用願い使用することはできませんに文字を引き起こして願いをもう。
- すべてのランダム選択は、均一な離散分布からのものです。
- 描かれたカード用に出力する22の異なる出力のセットを選択できます-カードの名前を使用する必要はありません。
- インテリジェンスの変更を出力し、使用を希望し、一貫性のある明確な選択方法で使用できなくなることを望みます。
- キャラクターはRogueまたはFlamesを引いた後に5枚目のカードとして適切なカードが引かれた場合、死を避けるためにThe Fatesの願いまたは力を使うかもしれません。The Fatesが時間内に描画されないか、すでに使用されているだけでなく、願いが使用できないか、すべての使用が使用されている場合にのみ、キャラクターは死にます。
- フールとジェスターは、描かれた後に破棄されます。他のすべてのカードはすぐにデッキに戻され、デッキはシャッフルされます。
- ローグやフレイムのアクティブなスタックが複数ある場合、それらすべてを払拭するのに必要なのは「運命」または「願い」を一度だけ使用することだけです。
- JesterまたはFoolで複数のカードを一度に引いても、FlamesやRogueのターンカウンターは進みません。
例
各線は一連の描画を表します。インテリジェンスおよびウィッシュの使用に対する変更は、括弧内の現在の値によって示されます。C
隣ウィッシュ使用がいることを意味願いは、もはや使用することはできません。A F
は、The Fatesの力が死を避けるために使用されたことを示します。Pythonスタイルのコメントの形式で、説明のために追加のコメントが提供されます。
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
参照実装
#!/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]:技術的には、13種類のカードと22種類のカードの2つのバリエーションがあります。ここでは、完全な22カードバージョンについてのみ心配しています。
[2]:FlameとRogueは通常、キャラクターを完全に殺しませんが、敵対的なNPCは、さらに5枚のカードを引く時間があった後に、愚かなキャラクターを見つけて殺したと想定されます。スカルによって召喚された亡霊 は戦うのが非常に難しく、キャラクターが勝てないと想定されています。The FatesまたはMoonを介した神/魔法の介入のみが、これらの3枚のカードによる愚かなキャラクターを死から救うことができます。
[3]:キャラクターの友だちは、キャラクターを助けようとせず、カードをさらに引き出そうとするほど賢いと思います。
[4]:インテリジェンススコア3は、野生動物とほぼ同等であり、カードを引く選択を積極的に行うことはできません。