O jogo de damas chinesas é jogado em um tabuleiro com espaços na forma de uma estrela de seis pontas:
Podemos criar uma representação em ASCII deste quadro, usando .
pontos vazios e as letras GYORPB
dos seis locais iniciais coloridos:
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
Para torná-lo mais interessante, também podemos alterar o tamanho. Mediremos o tamanho de uma placa pelo comprimento lateral de seus locais de partida triangulares: a placa acima é do tamanho 4.
Como é realmente difícil digitar tudo isso à mão, vamos escrever um programa (ou função) para fazer isso!
Detalhes
Seu código deve ter um número inteiro positivo representando o tamanho do quadro, via STDIN, ARGV ou argumento de função. Envie o padrão quadriculado para STDOUT (você pode retorná-lo como uma sequência alternadamente, se o envio for uma função).
A saída deve
- não tem espaços à direita, ou
- tenha espaços à direita exatamente o suficiente para preencher o padrão em um retângulo perfeito de largura 6 * N + 1.
A saída pode opcionalmente ter uma nova linha à direita. Nenhum outro espaço em branco extra (à esquerda, à direita) é permitido.
Exemplos
Tamanho 1:
G
B . . Y
. . .
P . . O
R
Tamanho 2:
G
G G
B B . . . Y Y
B . . . . Y
. . . . .
P . . . . O
P P . . . O O
R R
R
Tamanho 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
Pontuação
Este é o código-golfe : o código mais curto em bytes vence.