Un sauteur est une catégorie de pièce d'échecs de fée qui se déplace en "sautant". Un chevalier normal est un (1,2) -leaper, ce qui signifie que chaque mouvement implique de déplacer une distance de 1 carré dans une direction orthogonale et 2 carrés dans la direction perpendiculaire.
.o.o.
o...o
..N..
o...o
.o.o.
Il existe de nombreux sauteurs différents. Le (1,3) -leaper est appelé le Long Knight ou Camel. Son motif de déplacement ressemble à ceci:
..o.o..
.......
o.....o
...L...
o.....o
.......
..o.o..
Il y a aussi le (2,2) Alfil ...
o...o
.....
..A..
.....
o...o
... et même le (0,1) Wazir.
.o.
oWo
.o.
Défi
Étant donné une paire de nombres en entrée, sortez le diagramme de mouvement correspondant. Vous pouvez écrire un programme ou une fonction, avec une entrée fournie via STDIN / ligne de commande ou comme argument, et la sortie fournie par STDOUT ou la valeur de retour. C'est du code-golf .
Contribution
L'entrée sera une liste séparée par des virgules de deux entiers et une lettre majuscule. Les deux entiers seront dans la plage 0-7(inclus) et dans l'ordre non décroissant. Retour à la ligne en option pour l'entrée et la sortie.
Voici les entrées pour les quatre exemples ci-dessus:
1,2,N
1,3,L
2,2,A
0,1,W
Production
La sortie sera une chaîne multiligne carrée. La lettre majuscule sera placée au centre pour représenter l'emplacement actuel de la pièce. Les emplacements de mouvement seront représentés par 4 ou 8 minusculeso . Tous les autres espaces de la place seront remplis de points.
Si le modèle de mouvement est 0,0, sortez uniquement la lettre majuscule.
À titre indicatif, si le deuxième entier (le plus grand) a la valeur N, alors le carré aura toujours une longueur de côté 2N + 1. Les os seront toujours sur le périmètre du carré.
Cas de test supplémentaires
1,1,F
o.o
.F.
o.o
5,7,Q
..o.........o..
...............
o.............o
...............
...............
...............
...............
.......Q.......
...............
...............
...............
...............
o.............o
...............
..o.........o..
0,0,J
J