Jest piątek! Co oznacza, że czas na piwo!
Niestety dzisiaj będziemy grać w golfa zamiast go pić. :(
Wyzwanie
Wyjmij piwo i wypij je. Ilość łyków zmienia wynik.
Łyki
Twój program powinien pobrać jeden ciąg wejściowy. Ten ciąg może składać się wyłącznie z połączonych liter sip
s.
Jeśli wejście jest pustym ciągiem, powinieneś wypuścić pełną szklankę piwa, w tym piankę.
Im więcej łyków, tym bardziej pusta będzie szklanka do piwa.
Jeśli weźmiesz 0 łyków, twoje piwo nadal ma pianę. Wydajność tej pianki jest zawsze taka sama (patrz przykłady).
Jeśli weźmiesz 1 łyk, powinieneś wypić szklankę piwa, a następnie nową linię i sznur Yuck, foam.
.
Jeśli weźmiesz 1 lub więcej łyków, szklanka do piwa nie powinna już zawierać piany, ale powinna pokazywać górną część szklanki. Picie piany liczy się jako jeden łyk.
Jeśli weźmiesz 6 lub więcej łyków, powinieneś wypisać pustą szklankę piwa, a następnie nową linię i sznur Burp
.
Z każdym łykiem szklanka do piwa powinna stać się bardziej pusta. Poziom napełnienia szklanki piwa zależy od ilości bąbelków °
( °
) w piwie. Z każdego łyka po pianie należy usunąć linię bąbelków. Każda linia piwa może zawierać minimum 1
i maksimum 5
bąbelków. Pozycja tych bąbelków powinna być w 100% losowa.
Przykłady
wkład
empty input string, or no input at all
wydajność
oo o oo
oooooooooooo
o| ° ° |\
| ° | \
| °° ° |} |
| ° ° | /
| ° °|/
\__________/
wkład
sip sip sip
wydajność
____________
| |\
| | \
| ° |} |
|° ° ° | /
| ° ° |/
\__________/
wkład
sip sip sip sip sip sip sip sip sip sip
wydajność
____________
| |\
| | \
| |} |
| | /
| |/
\__________/
Burp
Ta pasta zawiera listę danych wejściowych i wyjściowych. Pamiętaj, że bąbelki w szklance do piwa powinny być losowe!
Punktacja
To jest code-golf , wygrywa najkrótszy kod w bajtach!
Miłego picia golfa!
°
jest to znak o kodzie 176.Odpowiedzi:
Japt , 189 bajtów
Prawie oszalałem, próbując sprawić, żeby działał poprawnie ...
Wypróbuj online!
(Uwaga: ten program został stworzony dla starszej wersji Japt i obecnie nie działa w najnowszej wersji. Aby obejść ten problem, starsza wersja jest podana w adresie URL. Niestety oznacza to również pole kodu w prawym górnym rogu nie działa.)
To zdecydowanie najdłuższy program, jaki kiedykolwiek napisałem w Japt. Oto podział:
Krok 1: Utwórz górną część kufla do piwa.
Jeśli U jest pustym ciągiem, powoduje to:
W przeciwnym razie powoduje to:
Krok 2: Utwórz środkowe rzędy kubka.
Wynikiem jest poprzedni ciąg plus:
Krok 3: Dodaj bąbelki.
W tym momencie kubek wygląda mniej więcej tak:
Krok 4: Dodaj ostatni wiersz i opcjonalny tekst.
Teraz wszystko jest gotowe do wysłania na wyjście, co odbywa się automatycznie. Jeśli masz jakieś pytania, możesz je zadać!
źródło
JavaScript (ES6),
283281 bajtówWyjaśnienie
Test
źródło
PHP,
277265263 bajtówZakładając podział 1-bajtowy. Dodaj do jednego
14
i17
na Windows.Uruchom z
-r
. łamanie linii może wymagać ucieczki.awaria
źródło