Es ist Freitag! Das heißt, es ist Zeit für Bier!
Leider werden wir heute Bier golfen, anstatt es zu trinken. :(
Herausforderung
Gib ein Bier aus und trinke es. Die Menge der Schlucke, die Sie nehmen, ändert Ihre Ausgabe.
Schlucke
Ihr Programm sollte eine Eingabezeichenfolge annehmen. Diese Zeichenfolge kann nur aus verketteten sip
s bestehen.
Wenn die Eingabe eine leere Zeichenfolge ist, sollten Sie ein volles Bierglas einschließlich Schaum ausgeben.
Je mehr Schluck Sie nehmen, desto leerer wird Ihr Bierglas.
Wenn Sie 0 Schlucke nehmen, hat Ihr Bier noch Schaum. Der Ausstoß dieses Schaums ist immer der gleiche (siehe Beispiele).
Wenn Sie 1 Schluck nehmen, sollten Sie das Bierglas ausgeben, gefolgt von einer neuen Zeile und der Zeichenfolge Yuck, foam.
.
Wenn Sie einen oder mehrere Schluck nehmen, sollte Ihr Bierglas keinen Schaum mehr enthalten, sondern die Oberseite Ihres Glases zeigen. Das Trinken des Schaums zählt als ein Schluck.
Wenn Sie 6 oder mehr Schlucke nehmen, sollten Sie ein leeres Bierglas ausgeben, gefolgt von einer neuen Zeile und der Zeichenfolge Burp
.
Bei jedem Schluck sollte Ihr Bierglas leerer werden. Wie voll Ihr Bierglas ist, hängt von der Menge der Blasen °
( °
) in Ihrem Bier ab. Für jeden Schluck, den Sie nach dem Schaum nehmen, sollte eine Reihe von Blasen entfernt werden. Jede Bierreihe kann ein Minimum 1
und ein Maximum an 5
Blasen enthalten. Die Position dieser Blasen sollte zu 100% zufällig sein.
Beispiele
Eingang
empty input string, or no input at all
Ausgabe
oo o oo
oooooooooooo
o| ° ° |\
| ° | \
| °° ° |} |
| ° ° | /
| ° °|/
\__________/
Eingang
sip sip sip
Ausgabe
____________
| |\
| | \
| ° |} |
|° ° ° | /
| ° ° |/
\__________/
Eingang
sip sip sip sip sip sip sip sip sip sip
Ausgabe
____________
| |\
| | \
| |} |
| | /
| |/
\__________/
Burp
Dieser Pastebin enthält eine Liste der Ein- und Ausgänge. Denken Sie daran, dass die Blasen im Bierglas zufällig sein sollten!
Wertung
Dies ist Code-Golf , der kürzeste Code in Bytes gewinnt!
Viel Spaß beim Golfen!
°
das Zeichen mit dem Codepunkt 176 ist.Antworten:
Japt , 189 Bytes
Ich bin fast verrückt geworden, als ich versucht habe, dies richtig zum Laufen zu bringen ...
Probieren Sie es online!
(Hinweis: Dieses Programm wurde für eine ältere Version von Japt erstellt und funktioniert derzeit nicht in der neuesten Version. Um dies zu umgehen, ist die ältere Version in der URL angegeben. Leider bedeutet dies auch das obere rechte Codefeld funktioniert nicht.)
Dies ist mit Abstand das längste Programm, das ich jemals in Japt geschrieben habe. Hier ist eine Aufschlüsselung:
Schritt 1: Stellen Sie die Oberseite des Bierbechers her.
Wenn U eine leere Zeichenfolge ist, bedeutet dies:
Ansonsten macht dies:
Schritt 2: Erstellen Sie die mittleren Reihen des Bechers.
Dies ergibt die vorherige Zeichenfolge plus:
Schritt 3: Fügen Sie die Blasen hinzu.
Zu diesem Zeitpunkt sieht die Tasse ungefähr so aus:
Schritt 4: Fügen Sie die letzte Zeile und optionalen Text hinzu.
Jetzt kann alles an die Ausgabe gesendet werden, was automatisch erfolgt. Wenn Sie Fragen haben, können Sie diese gerne stellen!
quelle
JavaScript (ES6),
283281 ByteErläuterung
Prüfung
quelle
PHP,
277265263 Bytes1-Byte-Zeilenumbruch vorausgesetzt. Fügen Sie eine zu
14
und17
unter Windows hinzu.Laufen Sie mit
-r
. Zeilenumbrüche müssen möglicherweise maskiert werden.Nervenzusammenbruch
quelle