Jack et Jane ont décidé de jouer aux échecs pour s'absenter. Malheureusement, Jack est plutôt mauvais à visualiser. Il trouve difficile de comprendre les mouvements possibles pour une pièce donnée autre qu'un pion, bien sûr!
Votre défi consiste à aider Jack à trouver les options possibles pour une pièce donnée (autre qu'un pion).
En cas d'oubli, les différentes pièces sont désignées par:
- K: King
- Q: Reine
- N: Knight
- B: évêque
- R: Tour
À titre d'exemple, dans l'image du chevalier est situé à d4
et peut se déplacer à c2
, b3
, b5
, c6
, e6
, f5
, f3
, e2
. Pour une entrée donnée:
Nd4
vous produiriez:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
Règles:
- L'ordre de sortie n'a pas d'importance tant que tous les mouvements possibles sont répertoriés
- Les déplacements possibles peuvent être séparés par des espaces, des sauts de ligne ou tout autre délimiteur
- L'entrée peut être transmise au programme en tant que paramètre ou via
STDIN
- Les espaces dans le programme doivent être comptés, alors utilisez-les de manière optimale
C'est le golf de code. (Veuillez éviter d'utiliser des outils / utilitaires spécialement conçus à cet effet.) La réponse la plus courte l'emporte!
f(x)... case "Q": {f("B");f("R")}
si la fonction nécessite un #includes, ceux-ci devraient faire partie du nombre d'octets.