アトミックチェスは、すべてのキャプチャが「爆発」を引き起こし、キャプチャしたピース、キャプチャを行うピース、および1平方半径のポーン以外のすべてを破壊するチェスの(非常に楽しい)バリアントです。この課題の目標は、原子チェスのゲーム全体をプレイすることではなく、単に特定の動きが行われたときに何が起こるかをシミュレートすることです。
免責事項:爆発効果音は含まれていません。
入力
ボードの位置は、フォーサイス・エドワーズ表記法 (一般にFENとして知られています)で与えられますが、最初のフィールドのみです。たとえば、次の入力:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
開始位置を表します:
これは文字列またはあなたの言語の同等物として受け取られなければなりません。有効であることが保証されています。たとえば、10人の王がいるかどうか、または王がまったくいないかどうかを気にする必要はありません。
また、シミュレートする動きが与えられます。これは、2つの正方形の名前として表されます。移動するピースがある正方形と、移動する正方形です。たとえば、上の図でキングのポーンを2スペース前方に移動すると、次のように表されます。
e2e4
これも文字列として解釈する必要があります。移動は常に有効であり、キャストをサポートする必要はありません。en passantをサポートする必要があります。これについては、次のセクションで詳しく説明します。
出力
プログラムの出力は、指定された移動(および必要に応じて分解された部分)が行われ、入力と同じ部分FEN表記である必要があります。
爆発の正確なルールは次のとおりです。
キャプチャされるピースを削除します(これは、キャプチャが一時通過である場合を除き、常に入力で指定された2番目の正方形のピースになります)。
キャプチャを行っているピースを削除します(これは常に入力で指定された最初の正方形のピースになります)。
次のものをすべて削除します。
キャプチャが行われた場所を囲む8つの正方形の1つに位置します(パッサンにとっては、これが爆発しない場合、これはキャプチャポーンが置かれる正方形です)。
ポーンではありません。
不慣れな人のためのパッサンルールの簡単な概要:ポーンが開始ランクから2スペース前方に移動し、1マスだけ前方に移動した場合にそれをキャプチャできるポーンがある場合は、とにかくキャプチャすることができますが、後続の移動のみ。このキャプチャは、「行われると言われて渡しに」(またはフランス語で「アンアンパッサン」)。
テストケース
写真では、緑色の矢印はこれから行われる動きを表し、緑色の円は爆発した破片を表します。
入力:rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
、g1f3
出力:rnbqkbnr/pppppppp/8/8/8/5N2/PPPPPPPP/RNBQKB1R
入力:3kBb1r/pp5p/3p4/4pn2/P7/1P2P1pP/2rP1P2/R1B3RK
、f2g3
出力:3kBb1r/pp5p/3p4/4pn2/P7/1P2P2P/2rP4/R1B3RK
(http://en.lichess.org/ocoSfS5I/white#36から盗まれた)
入力:rnbqk1nr/1pp5/p2pp1pp/5p2/1bN5/2P1PQ1N/PP1P1PPP/R1B1KB1R
、f3b7
出力:3qk1nr/2p5/p2pp1pp/5p2/1bN5/2P1P2N/PP1P1PPP/R1B1KB1R
(http://en.lichess.org/NCUnA6LV/white#14から盗まれた)
入力:rnbqk2r/pp2p2p/2p3pb/3pP3/5P2/2N5/PPPP2P1/R1BQKB1R
、e5d6
出力:rnbqk2r/pp2p2p/2p3pb/8/5P2/2N5/PPPP2P1/R1BQKB1R
(http://en.lichess.org/AvgU4Skq/white#16から盗まれました;これは実際の動きではありませんでしたが、実際に不意を突かれたアトミックゲームを見つけるのは面倒でした: P)
入力:5r2/2k5/p1B5/1pP1p3/1P4P1/3P4/P7/1K3R1q
、c6h1
出力:5r2/2k5/p7/1pP1p3/1P4P1/3P4/P7/1K3R2
(http://en.lichess.org/l77efXEb/white#58から盗まれた)
得点
これはcode-golfであるため、バイト単位の最短コードが優先されます。