ジャックとジェーンは、時間を空けてチェスをすることにしました。残念ながら、ジャックは視覚化がかなり苦手です。もちろん、ポーン以外の特定の駒で可能な動きを把握するのは難しいと思います!
あなたの挑戦は、ジャックが特定のピース(ポーン以外)の可能なオプションを見つけるのを助けることです。
忘れてしまった場合、さまざまな部分は次のように示されます。
- K:キング
- Q:クイーン
- N:ナイト
- B:ビショップ
- R:ルーク
一例として、次の画像にナイトに位置しているd4
とに移動することができc2
、b3
、b5
、c6
、e6
、f5
、f3
、e2
。与えられた入力に対して:
Nd4
あなたが生成します:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
ルール:
- すべての可能な動きがリストされている限り、出力の順序は関係ありません
- 可能な移動は、空白、改行、またはその他の区切り文字で区切ることができます
- 入力は、パラメータとして、または経由でプログラムに渡すことができます
STDIN
- プログラム内の空白はカウントされるので、それを最適に使用してください
これはコードゴルフです。(その目的のために特別に設計されたツール/ユーティリティを使用しないでください。)最短の答えが勝ちです!
f(x)... case "Q": {f("B");f("R")}
関数が#includeを必要とする場合、これらはバイトカウントの一部である必要があります。