Para este desafio, você imprimirá as coordenadas e a cor de cada peça no início de um jogo de damas.
Digite x e y (separados por vírgula) para cada quadrado (indexado de 0 a 7) em um tabuleiro de damas, seguido de um "r" ou "b" (para vermelho ou preto) onde a parte superior do tabuleiro (mais perto de y = 0 ) é vermelho e o fundo é preto. novas linhas entre as peças são necessárias e não são necessários espaços.
Isso é código-golfe, então as respostas são pontuadas em bytes, com menos bytes sendo melhores.
Novas linhas à direita são permitidas, mas não necessárias, e o pedido deve ser exatamente o mesmo abaixo.
Saída desejada:
0,0r
0,2r
0,4r
0,6r
1,1r
1,3r
1,5r
1,7r
2,0r
2,2r
2,4r
2,6r
5,1b
5,3b
5,5b
5,7b
6,0b
6,2b
6,4b
6,6b
7,1b
7,3b
7,5b
7,7b
x=3
ex=4
?0,0r;0,2r;0,4r;0,6r;1,1r;1,3r;1,5r;1,7r;2,0r;2,2r;2,4r;2,6r;5,1b;5,3b;5,5b;5,7b;6,0b;6,2b;6,4b;6,6b;7,1b;7,3b;7,5b;7,7b
?Respostas:
05AB1E , 26 bytes
Experimente online!
Explicação
fonte
[0,1,2,5,6,7]
poderia ser enviado em menos bytes ... mas tudo que eu conseguia pensar era7Ý34SK
então acho que não.JavaScript (ES6), 66 bytes
Inclui uma nova linha à direita.
Demo
Mostrar snippet de código
fonte
Perl 5 , 53 bytes
Experimente online!
fonte
C (gcc) ,
83817978 bytesx/4+2*(x/12)
parax/4+x/12*2
.x%8*2%8
parax*2%8
.Experimente online!
fonte
x%8*2%8
pode serx*2%8
Python 2 ,
747367 bytesExperimente online!
fonte
in(...):
->in ...:
.Java 8,
10296959391 bytesPorta da resposta C de @JonathanFrech , após a qual eu mesmo joguei 5 bytes.
Experimente aqui.
Explicação:
fonte
Bash , 59 bytes
Não é o mais curto, mas divertido:
Experimente online!
fonte
APL (Dyalog Classic) , 38 bytes
Experimente online!
fonte
Geléia , 35 bytes
Experimente online!
Programa completo sem argumentos
Explicação
fonte
Java 8, 97 bytes
fonte
JavaScript (ES6), 64 bytes
Isso parece suficientemente diferente do @ Arnauld para garantir a publicação:
Explicação:
Snippet:
Mostrar snippet de código
fonte
Python 2 , 63 bytes
Experimente online!
fonte
APL (Dyalog) ,
4544 bytes *-1 graças a ngn.
Função niládica que assume indexação baseada em 0 (
⎕IO←0
), que é padrão em muitos sistemas. Imprime em STDOUT.Experimente online!
(
…),¨¨'rb'
Anexa "r" a cada um dos primeiros grupos de itens e "b" a cada um dos segundos:⍳8
zero a oito2|
restante da divisão quando dividido pela metade∘.+⍨
além de mesa consigo mesma ao longo dos dois eixos⍸
índices de valores reais⍕¨
formatar cada (converte em cadeias com o padrão emd d
que cadad
um é um dígito)⊂
anexar (para que possamos reutilizá-lo para cada…)8 ¯8↑¨
pegue os nove primeiros e os nove últimosagora temos duas listas de
d d
strings,/
redução de catenação (combine as duas listas)⊃
divulgar (porque a redução reduziu a classificação de 1 para 0)' '⎕R','
PCRE R espaços EColoque com vírgulas↑
mix (todas as listas em uma única matriz)* No Dyalog Classic, contando
⍸
como⎕U2378
.fonte
~2|∘.+⍨⍳8
could be∘.=⍨2|⍳8
2⍴⊂'Thanks'
Bubblegum , 59 bytes
Experimente online!
fonte
Pitão ,
373635 bytesisaacg não ficaria orgulhoso
Explicação:
Isso usa um padrão simples que eu cortei um pouco. Do seguinte modo:
Se o
X
coord for par, use os números pares0, 2, 4, 6
. Senão,1, 3, 5, 7
paraY
.Se a
X
coord for menor que 5, a cor (r
oub
) ér
. Senão, éb
.Experimente online!
edit : overnight obteve +40 representante em 3 respostas diferentes w00t
fonte
SOGL V0.12 , 31 bytes
Experimente aqui!
fonte
Javascript (89 bytes):
Legível:
Experimente online!
fonte
Gelatina , 27 bytes
Um programa completo que imprime a saída necessária.
Experimente online!
Quão
fonte
Ruby ,
6360 bytesA mágica de Bitmask salva o byte.
Experimente online!
fonte
PowerShell , 63 bytes
Experimente online!
Faz
0,1,2,5,6,7
um loop e cada iteração é definida$i
como o número atual. Então volta0,2,4,6
. Em cada loop interno, construímos uma string que começa com$i,
concatenação com o número atual do loop interno e se$i
é par ou ímpar (o que nos leva0,2,4,6
uma vez e1,3,5,7
a outra vez) e depois concatenamos comr
ed oub
falta com base em se$i
é-g
reater-than -ou-e
qualificar5
. Essas seqüências são todas deixadas no pipeline e o implícitoWrite-Output
na conclusão do programa nos fornece novas linhas de graça.fonte
J ,
48 44 40 3731 bytesExperimente online!
Como funciona
fonte
C # (.NET Core) , 96 bytes
Experimente online!
Essencialmente, apenas uma porta para C # da resposta de @ JonathanFrech . Eu não poderia ter uma maneira melhor de fazer as contas.
fonte