¡Es viernes! ¡Lo que significa que es hora de cerveza!
Lamentablemente, hoy vamos a jugar al golf cerveza en lugar de beberla. :(
Reto
Saca una cerveza y bébela. La cantidad de sorbos que toma cambia su salida.
Sorbos
Su programa debe tomar una cadena de entrada. Esta cadena solo puede consistir en sip
s concatenados .
Si la entrada es una cadena vacía, debe generar un vaso de cerveza lleno, incluida la espuma.
Cuantos más sorbos tomes, más vacío estará tu vaso de cerveza.
Si toma 0 sorbos, su cerveza todavía tiene espuma. El rendimiento de esta espuma es siempre el mismo (ver ejemplos).
Si toma 1 sorbo, debe sacar el vaso de cerveza, seguido de una nueva línea y la cadena Yuck, foam.
.
Si toma 1 o más sorbos, su vaso de cerveza ya no debe contener espuma, sino que debe mostrar la parte superior de su vaso. Beber la espuma cuenta como un sorbo.
Si toma 6 o más sorbos, debe sacar un vaso de cerveza vacío, seguido de una nueva línea y la cadena Burp
.
Por cada sorbo que tomes, tu vaso de cerveza debería volverse más vacío. Qué tan llena esté su vaso de cerveza depende de la cantidad de burbujas °
( °
) en su cerveza. Por cada sorbo que tome después de la espuma, se debe eliminar una línea de burbujas. Cada línea de cerveza puede contener un mínimo 1
y un máximo de 5
burbujas. La posición de estas burbujas debe ser 100% aleatoria.
Ejemplos
entrada
empty input string, or no input at all
salida
oo o oo
oooooooooooo
o| ° ° |\
| ° | \
| °° ° |} |
| ° ° | /
| ° °|/
\__________/
entrada
sip sip sip
salida
____________
| |\
| | \
| ° |} |
|° ° ° | /
| ° ° |/
\__________/
entrada
sip sip sip sip sip sip sip sip sip sip
salida
____________
| |\
| | \
| |} |
| | /
| |/
\__________/
Burp
Este pastebin contiene una lista de entradas y salidas. ¡Recuerda que las burbujas en el vaso de cerveza deben ser aleatorias!
Tanteo
Este es el código de golf , ¡el código más corto en bytes gana!
Feliz bebiendo golf!
°
es el personaje con el punto de código 176.Respuestas:
Japt , 189 bytes
Casi me vuelvo loco al tratar de hacer que esto funcione correctamente ...
Pruébalo en línea!
(Nota: Este programa fue creado para una versión anterior de Japt, y actualmente no funciona en la última versión. Para solucionar esto, la versión anterior se especifica en la URL. Desafortunadamente, esto también significa el cuadro de código superior derecho no funciona)
Este es, con mucho, el programa más largo que he escrito en Japt. Aquí hay un desglose:
Paso 1: Crea la parte superior de la jarra de cerveza.
Si U es una cadena vacía, esto hace:
De lo contrario, esto hace:
Paso 2: Crea las filas del medio de la taza.
Esto da como resultado la cadena anterior más:
Paso 3: agrega las burbujas.
En este punto, la taza se ve así:
Paso 4: agregue la fila final y el texto opcional.
Ahora todo está listo para ser enviado a la salida, lo que se hace automáticamente. ¡Si tiene alguna pregunta, sientase con libertad de preguntar!
fuente
JavaScript (ES6),
283281 bytesExplicación
Prueba
fuente
PHP,
277265263 bytesAsumiendo salto de línea de 1 byte. Agregue uno a
14
y17
en Windows.Corre con
-r
. los saltos de línea pueden necesitar escapar.Descompostura
fuente