Gere a seguinte arte ASCII do time de futebol com o menor número de bytes possível.
|.| |.| |.| |.| |.| |.| |.| |.|
]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[
/~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\
{<| 8 |>}{<| 6 |>}{<| 1 |>}{<| 3 |>}{<| 7 |>}{<| 5 |>}{<| 4 |>}{<| 2 |>}
\|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/
/ \ / \ / \ / \ / \ / \ / \ / \
/__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\
| / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ |
(/ \) (/ \) (/ \) (/ \) (/ \) (/ \) (/ \) (/ \)
|) (| |) (| |) (| |) (| |) (| |) (| |) (| |) (|
(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)
Observe que os pés dos jogadores se alternam entre (.|,.,|,)
o espelho e o espelho, mas todos os olhos apontam para a mesma direção `-'
.
Ponto
Menor número de bytes ganhos!
Regras
- Aplicam-se orifícios padrão
- Qualquer quantidade de espaço em branco à direita / à esquerda é legal.
Respostas:
Carvão ,
1069592917977 bytesExperimente online!Editar: salvou 11 bytes fazendo um loop sobre os números da camisa. Economizou 3 bytes, trabalhando comoJ
funcionou. Salvou um byte adicional usando instruções de espelhamento separadas. Economizou 12 bytes graças a @ ASCII-only, compactando a sequência de meio jogador. Economizou 2 bytes repetindo o espelho em um loop. Explicação:Editar: O código acima não funciona mais no carvão atual; a compressão da string parece ter sido alterada e o comando refletir agora aceita uma direção multidirecional e deixa o cursor em uma posição diferente. No entanto, é possível adaptar o código para ser executado no carvão atual para a mesma contagem de bytes. Experimente online! Link é a versão detalhada do código. (Observe que o deverbosifier tenta compactar
6137542
por algum motivo, embora seja desnecessário.) Torna-se possível obter um byte de golfe adicional. Experimente online! Link é a versão detalhada do código.fonte
-sl
é apenas para mostrar comprimento, que pode ser deixado de fora'
, mas felizmente vi o erro antes de salvar a edição.Brainf ** k,
855852 bytesIsso é muito longo ...
Explicação:
fonte
*
s que adicionar 3 bytes, para que seus bytes agora deve ser 852. 2. Você pode substituir[-]
com,
, porque alguns intérprete lá fora em não mais saídas de entrada0x00
V , 127 bytes
Experimente online!
Como de costume, aqui está um hexdump:
fonte
SOGL ,
92888785 bytesExplicação:
A cadeia compactada é
com traços (porque eles podem ser compactados com strings de caixa) no lugar de caracteres incomuns, que são substituídos e divididos em linhas para obter
fonte
JavaScript (ES6),
196194214210204 bytesGolfe de manhã cedo no meu telefone novamente, para que haja espaço para melhorias.
Tive que sacrificar alguns bytes consertando os pés que eu não percebi que estavam se alternando.
Tente
(Desatualizado) Explicação
Começamos com uma sequência contendo os caracteres de um único jogador, com cada linha separada por a
n
, a0
como espaço reservado para o número e com1
&2
usado como espaços reservados para os sinais de pontuação nos pés alternados.Dividimos a string em uma matriz de linhas individuais
n
, mapeamos essa matriz substituindo cada elemento por si mesmo repetido 8 vezes e, em seguida, unimos a matriz a uma string usando uma nova linha literal.Finalmente, substituímos cada número na sequência pelo número de jogador necessário, se o número for
0
ou o caractere necessário para completar os pés do jogador, se o número for1
ou2
.fonte
Ruby, 161
Agora com pés alternados. Internamente, gera 8 pares duplos de pés (total de 16). Alguns deles são removidos truncando para 72 caracteres por linha.
Ruby, 144
Bastante simples, imprime linha por linha, 8 jogadores parciais de cada vez e usa o
%
operador (comosprintf
) para substituir os números da camisa (quando a string não contém,%d
eles são ignorados).fonte
Java,
391444 bytesEDIT: Verdadeiramente corrigido. Deus, isso realmente fez o tamanho subir
Expandido
fonte
i%2>0
salva um byte, talvez atéi++%2>0
funcione. De qualquer forma, a condição pode ser colocada em um ternário dentro doprint(...)
. A criação da matriz no cabeçalho do loop também deve salvar um ou dois bytes. Eu não tenho certeza, mas eu acho que há algum espaço faltando na última linha das pernas ...class B{int i;void p(String s){System.out.print(s);}void e(String s){for(i=8;i-->0;)p(s);p("\n");}void a(){e(" |.| ");e(" ]^[ ");e(" /~`-'~\\ ");for(int i:new int[]{8,6,1,3,7,5,4,2})p("{<| " + i + " |>}");p("\n");e(" \\|___|/ ");e(" / \\ ");e(" /__|__\\ ");e(" | / \\ | ");e(" (/ \\) ");e(" |) (| ");for(i=8;i-->0;)p(i%2<1?"(,|,.,|.)":"(.|,.,|,)");}}
"apenas" 366 bytes. Cuidado com cópias / pastas: o software SE adiciona alguns caracteres para dividir a cadeia. Observações: consertou as pernas, a cabeça etc.class B{...}
pode ser removido (o que também é inútil sem ummain
método). Além disso, você pode aprofundar o código no seu comentário, alterandovoid p(String s){System.out.print(s);}
para<T>void p(T x){System.out.print(x);}
.05AB1E ,
126124108106110 bytesObrigado a Emigna por economizar 7 bytes!
Usa a codificação 05AB1E . Experimente online!
fonte
JavaScript (ES6),
198197 bytesInclui uma quebra de linha líder.
Demo
Mostrar snippet de código
fonte
Python 2.7, 179 bytes
Codifique um player como uma única sequência com caracteres fora da banda para que possamos dividi-lo em uma lista, para que possamos multiplicar cada camada por 8 e, finalmente, inserir os números e pontuações necessários na saída.
fonte
Python 2 ,
207197186201 bytesExperimente online!
Nada muito inteligente e muito longo em
207197,mas até onde posso ver, pelo menos, imprime os pés corretamente.Editar Um pouco melhor aos 186
Editar 2 Volte a mais de 200 depois de descobrir por que os pés não estavam realmente certos. Pegadinha bem escondida!
fonte
PHP, 204 bytes
Experimente online!
PHP, 205 bytes
Experimente online!
PHP, 211 bytes
Experimente online!
fonte
[+$i]
não precisa+
.for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];)
e[$y-1]
+
for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];)echo str_pad(["|.|","]^[","/~``-'~\\","{<| $n |>}","\|___|/","/ \\","/__|__\\","| / \ |","(/ \)","|) (|",$p&1?"(,|,.,|.)":"(.|,.,|,)"][$y-1],9," ",2);
)foreach
; é por isso que eu não precisava+
.Ook! , 8519 bytes
Eu precisei.
Resposta de tony200910041's brainf ** k answer
fonte
C #, 420 bytes
Golfe:
Expandido:
Inspirado na resposta Java de Jesse M, com algumas edições para torná-lo mais curto
fonte
i%2
vez de(i%2==0)
e invertendo as?:
peças. Também acho queWrite(" {0} ",s);
e aparar o espaço em branco dasX()
chamadas economizaria outros 10 bytes.X
método e apenas fazendo loop, acredito que pelo menos. Você pode compilar com umAction<string>
para remover o cotão. Isso significa que você retorna umstring
e não precisa escrevê-lo, removendo a necessidade do arquivoConsole
. Você pode remover ousing System
que é necessário apenas paraString
onde você pode usarstring
. Existem várias outras melhorias também. Sinto muito, mas realmente não parece que você tentou jogar tanto assim.Mathematica 282 bytes
fonte
Retina , 270 bytes
Experimente online!
fonte
Chiclete ,
130117 bytesExperimente online!
fonte
Perl 5 , 206 bytes
Experimente online!
É uma força feia e bruta, mas funciona.
fonte