Jack und Jane beschlossen, eine Partie Schach zu spielen, um sich die Zeit zu vertreiben. Leider ist Jack ziemlich schlecht darin, sich etwas vorzustellen. Er findet es natürlich schwierig, herauszufinden, welche Züge für ein bestimmtes Stück außer einem Bauern möglich sind!
Ihre Herausforderung besteht darin, Jack dabei zu helfen, die möglichen Optionen für eine bestimmte Figur (außer einem Bauern) zu finden.
Falls man es vergessen hat, werden die verschiedenen Stücke bezeichnet mit:
- K: König
- F: Königin
- N: Ritter
- B: Bischof
- R: Turm
Als Beispiel wird der Ritter in dem folgende Bild angeordnet auf d4
und bewegen kann c2
, b3
, b5
, c6
, e6
, f5
, f3
, e2
. Für eine bestimmte Eingabe:
Nd4
du würdest produzieren:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
Regeln:
- Die Reihenfolge der Ausgabe spielt keine Rolle, solange alle möglichen Züge aufgelistet sind
- Die möglichen Züge können durch Leerzeichen, Zeilenumbrüche oder andere Trennzeichen getrennt werden
- Die Eingabe kann als Parameter oder über an das Programm übergeben werden
STDIN
- Whitespace im Programm soll gezählt werden, nutzen Sie es also optimal
Das ist Code Golf. (Vermeiden Sie es, speziell für diesen Zweck entwickelte Tools / Dienstprogramme zu verwenden.) Die kürzeste Antwort gewinnt!
f(x)... case "Q": {f("B");f("R")}
Wenn die Funktion ein # enthält, sollten diese Teil der Byteanzahl sein.