Objetivo : Escrever um programa que gere belas (e) paisagens e skylines de arte ASCII!
Seu programa possui apenas uma entrada: uma sequência composta por qualquer combinação / repetição dos caracteres 0123456789abc
.
Para cada caractere de entrada, imprima uma linha vertical composta da seguinte maneira:
.
..
...
oooo
ooooo
OOOOOO
OOOOOOO
XXXXXXXX
XXXXXXXXX
XXXXXXXXXX
0123456789
As letras abc
são seguidas por um número n e desenham a linha vertical n com respectivamente 1,2 ou 3 furos (espaços) na parte inferior.
Exemplos
O edifício Crysler
Entrada: 2479742
.
.
...
ooo
ooo
OOOOO
OOOOO
XXXXXXX
XXXXXXX
XXXXXXX
O Taj Mahal
Entrada: 0804023324554233204080
. .
. .
o o
o oo o
O O OOOO O O
O O OO OOOO OO O O
X X XXXXXXXXXXXX X X
X X XXXXXXXXXXXX X X
XXXXXXXXXXXXXXXXXXXXXX
A torre Eiffel
Entrada: 011a2b3b5c9c9b5b3a2110
..
..
..
oo
oooo
OOOO
OOOOOO
XXX XXX
XXX XXX
XXX XXX
Você pode assumir que a entrada não está vazia e é bem formada.
Qualquer idioma é aceito, de A + a Z ++ .
Este é o código-golfe: o menor código-fonte vence .
Se algo nas regras não estiver claro, sinta-se à vontade para perguntar abaixo nos comentários.
Divirta-se e capture estruturas de cem metros de altura em poucos bytes!
(e não se esqueça de incluir seu edifício favorito em sua solução)
PS: não, você não pode baixar / acessar dados da Internet, use seu nome de arquivo como dados e tudo mais. Seja justo e use apenas suas habilidades em código-golfe.
Respostas:
GolfScript, 69
Não muito longe da solução APL.
Teste on-line
fonte
Rubi,
8885Desafio divertido!
Recebe entrada na linha de comando, por exemplo:
Irá imprimir:
fonte
Python 2.7 - 186
Provavelmente pode ser mais curto ...
Exemplo de execução:
Ponte do porto de Sydney
Ponte Golden Gate / logotipo da Cisco
Ótima pergunta, a propósito!
fonte
C64 BASIC, 276 caracteres PETSCII
Minha própria solução, jogou até 276 caracteres e 10 linhas de BASIC V2.0!
(copie e cole em um emulador para ver o resultado).
E, finalmente, meu monumento favorito, a Ponte do Brooklyn :)
fonte
C,
130126 caracteresMeio longo comparado com a concorrência, mas eu culpo o idioma ...
Eu não sei sobre o edifício favorito , mas um dos mais reconhecíveis por aqui é o Globen , então aqui está uma versão ruim dele.
fonte
char b[99],*p;
que ele seja lidochar*p,b[99];
. Também pode ser mais curtoputs
para imprimir a nova linha.APL (
6966)Exemplos:
fonte
PowerShell , 127 bytes
Experimente online!
fonte
Tela ,
3533 bytesExperimente aqui!
fonte
PHP ,
131114 bytesExperimente online!
fonte
Perl 6 , 93 bytes
Um bloco que pega a string e imprime em stdout.
Experimente online!
fonte
05AB1E (herdado) , 34 bytes
Usa a versão herdada de 05AB1E para salvar 2 bytes, pois
ζ
também funciona em cadeias de caracteres em vez de apenas listas de caracteres.Experimente online.
Explicação:
Quanto ao meu edifício favorito, vamos com esta árvore. ;)
fonte
Japonês
-R
, 36 bytesTente
fonte