É sexta feira! O que significa que é hora da cerveja!
Infelizmente, hoje estaremos jogando golfe em vez de beber. :(
Desafio
Faça uma cerveja e beba. A quantidade de goles que você toma altera sua saída.
Goles
Seu programa deve ter uma sequência de entrada. Essa sequência pode consistir apenas em sip
s concatenados .
Se a entrada for uma sequência vazia, você deverá produzir um copo cheio de cerveja, incluindo espuma.
Quanto mais goles você tomar, mais vazio será o seu copo de cerveja.
Se você tomar 0 goles, sua cerveja ainda terá espuma. A saída dessa espuma é sempre a mesma (veja exemplos).
Se você tomar 1 gole, deverá produzir o copo de cerveja, seguido por uma nova linha e a corda Yuck, foam.
.
Se você tomar 1 ou mais goles, seu copo de cerveja não deve conter mais espuma, mas deve mostrar a parte superior do copo. Beber a espuma conta como um gole.
Se você tomar 6 ou mais goles, deverá produzir um copo de cerveja vazio, seguido por uma nova linha e o barbante Burp
.
Para cada gole que você toma, seu copo de cerveja deve ficar mais vazio. A quantidade de seu copo de cerveja depende da quantidade de bolhas °
( °
) na sua cerveja. Para cada gole que você toma após a espuma, uma linha de bolhas deve ser removida. Cada linha de cerveja pode conter um mínimo 1
e um máximo de 5
bolhas. A posição dessas bolhas deve ser 100% aleatória.
Exemplos
entrada
empty input string, or no input at all
saída
oo o oo
oooooooooooo
o| ° ° |\
| ° | \
| °° ° |} |
| ° ° | /
| ° °|/
\__________/
entrada
sip sip sip
saída
____________
| |\
| | \
| ° |} |
|° ° ° | /
| ° ° |/
\__________/
entrada
sip sip sip sip sip sip sip sip sip sip
saída
____________
| |\
| | \
| |} |
| | /
| |/
\__________/
Burp
Este pastebin contém uma lista de entradas e saídas. Lembre-se de que as bolhas no copo de cerveja devem ser aleatórias!
Pontuação
Este é o código-golfe , o código mais curto em bytes vence!
Feliz bebendo golfe!
°
é o caractere com o ponto de código 176.Respostas:
Japonês , 189 bytes
Eu quase enlouqueci enquanto tentava fazer isso funcionar corretamente ...
Experimente online!
(Observação: este programa foi criado para uma versão mais antiga do Japt e atualmente não funciona na versão mais recente. Para contornar isso, a versão mais antiga é especificada na URL. Infelizmente, isso também significa a caixa de código no canto superior direito não funciona.)
Este é de longe o programa mais longo que já escrevi em japonês. Aqui está um detalhamento:
Etapa 1: crie a parte superior da caneca de cerveja.
Se U for uma cadeia vazia, isso cria:
Caso contrário, isso cria:
Etapa 2: Crie as linhas do meio da caneca.
Isso resulta na sequência anterior mais:
Etapa 3: adicione as bolhas.
Nesse ponto, a caneca se parece com isso:
Etapa 4: adicione a linha final e o texto opcional.
Agora tudo está pronto para ser enviado para a saída, o que é feito automaticamente. Se você tiver alguma dúvida não hesite em perguntar!
fonte
JavaScript (ES6),
283281bytesExplicação
Teste
fonte
PHP,
277265263 bytesSupondo quebra de linha de 1 byte. Adicione um a
14
e17
no Windows.Corra com
-r
. quebras de linha podem precisar ser escapadas.demolir
fonte