Agora que outros usuários ajudaram Trump a construir o muro , é hora de você escalá-lo.
Esse é um desafio de arte ascii, no qual você precisa gerar uma parede de escalada com porões colocados aleatoriamente.
Uma parede de escalada é composta por painéis, cada um dos quais com 3 a 10 porões e com 5 painéis de altura. Cada painel tem 4 caracteres de altura e 10 caracteres de largura
Usamos |
para representar o lado da parede (o arête) e a -
para representar as bordas dos painéis. Os cantos dos painéis são mostrados por +
e os porões são mostrados como o
.
Finalmente, a parede deve ter America!
na parte superior e Mexico
na parte inferior.
Seu programa não deve receber entrada, a menos que seja necessária a execução e deva produzir algo parecido com o abaixo
Este é um exemplo de saída:
America!
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
Mexico
Isso pode ser confundido, por isso é estruturado mais claramente abaixo
Entrada
Zilcho. Você não deve aceitar absolutamente nada.
Resultado
Uma parede de escalada de arte ascii composta por 5 painéis, cada um com 6 linhas por 12 colunas, America!
centralizado na parte superior e Mexico
centralizado na parte inferior. Cada painel tem um padrão idêntico que é gerado aleatoriamente pelo programa. O padrão do painel consiste em um número aleatório distribuído aleatoriamente de retenções, entre 3 e 10.
Regras
- Nenhuma entrada permitida
- Eu diria "no builtins", mas se o seu idioma tiver um builtin para isso, eu o aceitarei automaticamente como vencedor.
- Este é o código-golfe, pelo que o código mais curto (em bytes) vence.
- A saída sem retenções deve ser exatamente a mesma que acima, novamente sem retenções.
- Aleatório é o aleatório definido aqui
Respostas:
Geléia ,
6557 bytesPrimeiro uso da literal de sequência inteira com dois pontos de código
⁽
, fan-fangled (⁽¥0
= 2049)Programa completo sem entrada e impressão na parede.
Experimente online!
Quão?
fonte
)o <-- a space
. Genuinamente me fez rir!PHP, 138 bytes
Experimente online!
Expandido
fonte
JavaScript (ES6),
194160 bytesTente
O padrão das retenções mudará a cada 2 segundos no snippet abaixo.
Explicação
h
, que recebe um valor inicial de0
; isso manterá a contagem do número de retenções no painel quando formos adicioná-las.g
, que é uma função recursiva que usaremos para criar o padrão aleatório de retenções no painel. Voltaremos a isso daqui a pouco.America!\n
.+----------+\n
) e o atribuímos à variávelt
, adicionando-o à saída no processo.| |\n
), repetimos 4 vezes e anexamost
.g
, passando a string da etapa acima como argumento, via parâmetrop
.g
:h>2
(por exemplo, temos 3 ou mais retenções).p
.g
novamente, desta vez passando uma cópia modificada dep
como argumento.p
tem oreplace
método usado, substituindo todos os<space>
caracteres por um<space>
ou umo
, referenciando o índice de caracteres (0 ou 1) da sequência<space>o
.Math.random()
, que retorna um número decimal entre 0 e 1, exclusivo..8
. Sendo 40 espaços no painel e existindo apenas um máximo de 10 retenções, isso melhora a distribuição das retenções no painel (.75
seria mais preciso, mas espero que você me permita a concessão em nome de salvando um byte!).s
.s
é coagido a um número inteiro (0 ou 1) e adicionado ah
.h
agora é menor que 11 (ou seja, atualmente temos menos de 10 retenções) e ses
era verdade.g
5 vezes.Mexico
no final da string para finalizar as coisas. Ufa!Alternativo
E, simplesmente porque eu pensei que isso seria uma boa adição ao desafio: por apenas 12 bytes extras, podemos ter um padrão único de retenções em cada painel, em vez de todos serem idênticos.
Tente
Mais uma vez, os padrões das retenções mudam a cada 2 segundos.
Mostrar snippet de código
fonte
Pyth -
5857 bytes, possivelmente 47Tente
Explicação da solução antiga (atualizarei quando tiver tempo):
Acho que consigo 47 enquanto ainda tecnicamente segue as regras:
Aqui, o número de furos ainda é escolhido aleatoriamente (no conjunto {4,8}) e a configuração desses furos é escolhida aleatoriamente (no conjunto de configurações em que cada linha é idêntica)
Tente
fonte
Mathematica, 201 bytes
fonte
Powershell (255 bytes)
fonte
Python 2 ,
259224221218 bytesExperimente em repl.it
-35 incluindo algumas dicas do @ Satan'sSon - obrigado!
-3 com graças a @Wondercricket
fonte
t
vez de salvá-lo em uma variável e se remover os espaços apósAmerica!
eMexico
?print" America!" <NEWLINE> d,a,b,c=[" Mexico"],["+"+"-"*10+"+"],[" "]*40,0
?from random import*
e remova ar.
partir das funçõesPython 2, 197 bytes
fonte