Ein Leaper ist eine Kategorie von Feenschachfiguren, die sich durch "Springen" bewegen. Ein normaler Ritter ist ein (1,2) -billiger, was bedeutet, dass jeder Zug eine Strecke von 1 Quadrat in orthogonaler Richtung und 2 Quadrate in senkrechter Richtung umfasst.
.o.o.
o...o
..N..
o...o
.o.o.
Es gibt viele verschiedene Springer. Der (1,3) -Billigere wird der Lange Ritter oder Kamel genannt. Das Bewegungsmuster sieht folgendermaßen aus:
..o.o..
.......
o.....o
...L...
o.....o
.......
..o.o..
Es gibt auch die (2,2) Alfil ...
o...o
.....
..A..
.....
o...o
... und sogar der (0,1) Wazir.
.o.
oWo
.o.
Herausforderung
Geben Sie bei einem Zahlenpaar als Eingabe das entsprechende Bewegungsdiagramm aus. Sie können ein Programm oder eine Funktion schreiben, wobei die Eingabe über STDIN / Befehlszeile oder als Argument erfolgt und die Ausgabe über STDOUT oder den Rückgabewert erfolgt. Das ist Code-Golf .
Eingang
Die Eingabe besteht aus einer durch Kommas getrennten Liste mit zwei Ganzzahlen und einem Großbuchstaben. Die zwei ganzen Zahlen liegen im Bereich 0-7
(einschließlich) und in nicht abnehmender Reihenfolge. Optionaler Zeilenumbruch für Ein- und Ausgabe.
Hier sind die Eingaben für die obigen vier Beispiele:
1,2,N
1,3,L
2,2,A
0,1,W
Ausgabe
Die Ausgabe erfolgt als quadratische mehrzeilige Zeichenfolge. Der Großbuchstabe wird in der Mitte platziert, um die aktuelle Position des Stücks darzustellen. Die Bewegungsorte werden durch 4 oder 8 Kleinbuchstaben dargestellt o
. Alle anderen Felder auf dem Platz werden mit Punkten gefüllt.
Wenn das Bewegungsmuster ist 0,0
, geben Sie nur den Großbuchstaben aus.
Wenn die zweite Ganzzahl (die größere) den Wert N hat, hat das Quadrat immer die Seitenlänge 2N + 1. Das o
s befindet sich immer am Umfang des Quadrats.
Zusätzliche Testfälle
1,1,F
o.o
.F.
o.o
5,7,Q
..o.........o..
...............
o.............o
...............
...............
...............
...............
.......Q.......
...............
...............
...............
...............
o.............o
...............
..o.........o..
0,0,J
J