Игра в китайские шашки ведется на доске с пробелами в форме шестиконечной звезды:
Мы можем создать ASCII-арт-представление этой доски, используя .
пустые места и буквы GYORPB
для шести цветных стартовых локаций:
G
G G
G G G
G G G G
B B B B . . . . . Y Y Y Y
B B B . . . . . . Y Y Y
B B . . . . . . . Y Y
B . . . . . . . . Y
. . . . . . . . .
P . . . . . . . . O
P P . . . . . . . O O
P P P . . . . . . O O O
P P P P . . . . . O O O O
R R R R
R R R
R R
R
Чтобы сделать его более интересным, мы также можем изменить размер. Мы измерим размер доски по длине стороны его треугольных стартовых локаций: доска выше имеет размер 4.
Поскольку вводить все это вручную очень сложно, напишем программу (или функцию) для этого!
Детали
Ваш код должен принимать положительное целое число, представляющее размер доски, через STDIN, ARGV или аргумент функции. Выведите шаблон шахматной доски в STDOUT (вы можете поочередно вернуть его в виде строки, если ваше представление является функцией).
Выход должен либо
- не иметь никаких пробелов или
- иметь ровно столько пробелов, чтобы заполнить шаблон идеальным прямоугольником шириной 6 * N + 1.
Выходные данные могут дополнительно иметь завершающий символ новой строки. Другие дополнительные (ведущие, конечные) пробелы не допускаются.
Примеры
Размер 1:
G
B . . Y
. . .
P . . O
R
Размер 2:
G
G G
B B . . . Y Y
B . . . . Y
. . . . .
P . . . . O
P P . . . O O
R R
R
Размер 4:
G
G G
G G G
G G G G
B B B B . . . . . Y Y Y Y
B B B . . . . . . Y Y Y
B B . . . . . . . Y Y
B . . . . . . . . Y
. . . . . . . . .
P . . . . . . . . O
P P . . . . . . . O O
P P P . . . . . . O O O
P P P P . . . . . O O O O
R R R R
R R R
R R
R
счет
Это код-гольф : выигрывает самый короткий код в байтах.