O Triforce é um artefato fictício em The Legend of Zelda , feito de três triângulos equilaterais de aparência idêntica, representando poder, sabedoria e coragem. Vários jogos da saga incluem uma animação quando as três partes finalmente se juntam.
O objetivo deste desafio é desenhar um único quadro 2D de uma animação tão simplificada, com uma determinada largura para os triângulos e um determinado espaçamento entre as partes.
Entrada
A entrada consiste em dois números inteiros: uma largura e um valor de espaçamento .s ≥ 0
Saída
O quadro deve ser desenhado de acordo com as seguintes especificações:
/\
/ \____________ this part is horizontally centered
/ \
/______\
\___ s empty lines
/
/\ /\
/ \ / \______ w+1 backslashes
/ \ / \
/______\ /______\
\_______ 2w underscores
|__|
\_____________ 2s spaces
No exemplo acima, temos e .s = 2
Mais exemplos
s = 0 , :
/\
/__\
/\ /\
/__\/__\
s = 0 , :
/\
/ \
/____\
/\ /\
/ \ / \
/____\/____\
s = 3 , :
/\
/ \
/ \
/______\
/\ /\
/ \ / \
/ \ / \
/______\ /______\
s = 1 , :
/\
/ \
/ \
/ \
/________\
/\ /\
/ \ / \
/ \ / \
/ \ / \
/________\ /________\
Regras
- Os espaços à direita em cada linha são opcionais.
- Espaços iniciais extras em cada linha não são permitidos.
- Você pode gerar uma nova linha extra à frente e / ou uma nova linha extra à direita.
- Isso é código-golfe .
Python 2 ,
127124 bytesExperimente online!
fonte
Tela ,
201916 bytesExperimente aqui!
Explicação:
nota: ao fazer isso, corrigi um erro no código. Sem essa correção, isso seria 18 bytes .
fonte
R ,
225,224,214,211, 208 bytesExperimente online!
fonte
if(F)0
é aceitável com certeza e economiza um byte. Ou ainda melhorrm()
para 3 bytes.q()
no meu primeiro comentário é inválida conforme esta metaPascal (FPC) ,
296264 bytesExperimente online!
fonte
Python 2 ,
256248240228199195 bytesUm programa mais longo, mas com abordagem um pouco diferente:
Experimente online!
economizou muitos bytes graças a ignorar o espaço em branco à direita e a incorporar alguns truques de @ovs
salvos ainda mais definindo uma variável anteriormente
fonte
Ruby , 126 bytes
Experimente online!
fonte
Retina 0.8.2 , 141 bytes
Experimente online! Nota: Alguns espaços em branco à direita na saída. Explicação:
Converta as entradas em espaços. (A segunda linha termina com um espaço.)
Crie os lados dos dois triângulos inferiores com o espaçamento apropriado.
Preencha a base dos triângulos.
Duplique os triângulos com o espaçamento vertical apropriado.
Converta os triângulos superiores em um único triângulo centralizado.
fonte
C (gcc),
404389 bytesExperimente online!
-14 bytes de Rodolvertice
-1 byte corrigindo uma decrementação de variável de loop
riscado
404é quase ainda 404Ungolfed:
fonte
#define p putchar
?p(x);
vez dep(x)
, para (+26, -6) = +20 bytes. O ponto-e-vírgula é incluído quando a macro é expandida.Geléia , 51 bytes
Experimente online!
fonte