C'est vendredi! Ce qui signifie qu'il est temps pour la bière!
Malheureusement, aujourd'hui, nous allons jouer à la bière au golf au lieu de la boire. :(
Défi
Sortez une bière et buvez-la. La quantité de gorgées que vous prenez modifie votre sortie.
Gorgées
Votre programme doit prendre une chaîne d'entrée. Cette chaîne ne peut être constituée que de sip
s concaténés .
Si l'entrée est une chaîne vide, vous devez produire un verre à bière plein, y compris de la mousse.
Plus vous buvez de gorgées, plus votre verre à bière sera vide.
Si vous prenez 0 gorgées, votre bière a encore de la mousse. Le rendement de cette mousse est toujours le même (voir exemples).
Si vous prenez 1 gorgée, vous devez sortir le verre à bière, suivi d'une nouvelle ligne et de la chaîne Yuck, foam.
.
Si vous prenez 1 gorgée ou plus, votre verre à bière ne devrait plus contenir de mousse, mais devrait montrer le haut de votre verre. Boire la mousse compte comme une gorgée.
Si vous prenez 6 gorgées ou plus, vous devez sortir un verre à bière vide, suivi d'une nouvelle ligne et de la chaîne Burp
.
Pour chaque gorgée que vous prenez, votre verre à bière devrait devenir plus vide. Le niveau de remplissage de votre verre à bière dépend de la quantité de bulles °
( °
) dans votre bière. Pour chaque gorgée que vous prenez après la mousse, une ligne de bulles doit être supprimée. Chaque ligne de bière peut contenir un minimum 1
et un maximum de 5
bulles. La position de ces bulles doit être aléatoire à 100%.
Exemples
contribution
empty input string, or no input at all
sortie
oo o oo
oooooooooooo
o| ° ° |\
| ° | \
| °° ° |} |
| ° ° | /
| ° °|/
\__________/
contribution
sip sip sip
sortie
____________
| |\
| | \
| ° |} |
|° ° ° | /
| ° ° |/
\__________/
contribution
sip sip sip sip sip sip sip sip sip sip
sortie
____________
| |\
| | \
| |} |
| | /
| |/
\__________/
Burp
Ce pastebin contient une liste d'entrées et de sorties. N'oubliez pas que les bulles dans le verre à bière doivent être aléatoires!
Notation
C'est le code-golf , le code le plus court en octets gagne!
Heureux de boire du golf!
°
c'est le personnage avec le point de code 176.Réponses:
Japt , 189 octets
Je suis presque devenu fou en essayant de faire fonctionner cela correctement ...
Essayez-le en ligne!
(Remarque: ce programme a été conçu pour une ancienne version de Japt et ne fonctionne pas actuellement dans la dernière version. Pour contourner ce problème, l'ancienne version est spécifiée dans l'URL. Malheureusement, cela signifie également la zone de code en haut à droite ne fonctionne pas.)
C'est de loin le programme le plus long que j'aie jamais écrit en Japt. Voici une ventilation:
Étape 1: Créez le haut de la chope de bière.
Si U est une chaîne vide, cela fait:
Sinon, cela fait:
Étape 2: Créez les rangées centrales de la tasse.
Il en résulte la chaîne précédente plus:
Étape 3: ajoutez les bulles.
À ce stade, la tasse ressemble à ceci:
Étape 4: Ajoutez la dernière ligne et le texte facultatif.
Maintenant, tout est prêt à être envoyé en sortie, ce qui se fait automatiquement. Si vous avez des questions, n'hésitez pas à les poser!
la source
JavaScript (ES6),
283281 octetsExplication
Tester
la source
PHP,
277265263 octetsEn supposant un saut de ligne sur 1 octet. Ajoutez-en un à
14
et17
sur Windows.Courez avec
-r
. les sauts de ligne peuvent nécessiter un échappement.panne
la source