Прыгун категория волшебной шахматной фигуры , которая двигается по «прыжкам» . Нормальный рыцарь - (1,2) -прыжок, что означает, что каждое движение включает в себя перемещение на 1 квадрат в ортогональном направлении и 2 квадрата в перпендикулярном направлении.
.o.o.
o...o
..N..
o...o
.o.o.
Есть много разных прыгунов. (1,3) -прыжок называется Длинный рыцарь или верблюд. Его модель движения выглядит так:
..o.o..
.......
o.....o
...L...
o.....o
.......
..o.o..
Есть также (2,2) Alfil ...
o...o
.....
..A..
.....
o...o
... и даже (0,1) Вазир.
.o.
oWo
.o.
Вызов
Учитывая пару чисел в качестве входных данных, выведите соответствующую диаграмму движения. Вы можете написать программу или функцию с вводом, предоставленным через STDIN / командную строку или в качестве аргумента, и выводом, предоставленным через STDOUT или возвращаемое значение. Это код-гольф .
вход
Ввод будет разделенный запятыми список из двух целых чисел и заглавной буквы. Два целых числа будут в диапазоне 0-7
(включительно) и в неубывающем порядке. Трейлинг новой строки необязательно для ввода и вывода.
Вот входные данные для приведенных выше четырех примеров:
1,2,N
1,3,L
2,2,A
0,1,W
Выход
Выход будет многострочная строка квадратной формы. Заглавная буква будет размещена в центре, чтобы обозначить текущее местоположение произведения. Места перемещения будут представлены 4 или 8 строчными буквами o
. Все остальные места в квадрате будут заполнены точками.
Если шаблон движения 0,0
, выведите только заглавную букву.
Как подсказка, если второе целое число (большее) имеет значение N, то у квадрата всегда будет длина стороны 2N + 1. o
S всегда будет по периметру площади.
Дополнительные тестовые случаи
1,1,F
o.o
.F.
o.o
5,7,Q
..o.........o..
...............
o.............o
...............
...............
...............
...............
.......Q.......
...............
...............
...............
...............
o.............o
...............
..o.........o..
0,0,J
J
Ответы:
Рубин, 107
Неуправляемый в тестовой программе
источник
Pyth, 40 байт
Я учу Pyth! Попробуйте это .
объяснение
источник
JavaScript (ES6),
163161145 байтгде
\n
буквальный символ новой строки. Работает, генерируя нижний правый квадрант и отражая его вдоль обеих осей.Редактировать: Сохранено 2 байта благодаря @ edc65.
(Я попал сюда через дублирующий вопрос, который позволил получить результат массива, который был бы на 19 байт короче, но не гарантировал неубывающий порядок, который потратил 8 байт.)
источник
fill
и буквальный\n
буквальный символ новой строки», когда делаю это), но спасибо за другой совет.JavaScript (ES6) 144
150Меньше гольфа
Тестовое задание
источник