Z tego powodu rodziny z całego świata budują choinki.
Ale to normalne drzewo może po chwili stać się nudne, więc stwórzmy drzewo ASCII!
Liście są reprezentowane przez #
i muszą być ułożone, jak pokazano na przykładowym wyjściu. Mamy 5 kulek ( O
) i 5 cukierków ( J
), które losowo umieszczamy wokół drzewa. Na górze mamy też świeczkę.
Wejście: brak
Wynik:
^
|
###
##O##
#######
#####
####J##
#########
####O######
#############
###J###
#########
####O###J##
#######O#####
###J########O##
###########J#####
###
###
Reguły (jeśli nie ma tego w regulaminie, załóż, że możesz)
Kulki i laski z cukierkami muszą być losowo umieszczane na drzewie i muszą mieć co najmniej jeden liść między nimi, nie licząc przekątnych.
Każdy liść musi mieć niezerową szansę na zdobycie piłki lub trzciny cukrowej.
Na każdej linii mogą znajdować się spacje wiodące lub końcowe, o ile drzewo ma odpowiedni kształt.
To jest gra w golfa , więc wygrywa najkrótszy kod w postaci.
Odpowiedzi:
JavaScript (ES6), 148 bajtów
Mamy nadzieję, że powinno to być zgodne z warunkiem „losowości”.
Próbny
Pokaż fragment kodu
źródło
j=new Date
jej=0
naj=12
.)Skrypt CS - 306 bajtów
Jeszcze raz z formatowaniem i komentarzami:
Jest to w zasadzie C #, ale użycie CS-Script pozwala mi pominąć całą płytę kotła.
Wypróbuj tutaj!
Uwagi:
To obecnie generuje kolejną linię białych spacji pod drzewem, aby upewnić się, że „sprawdzanie istniejących ozdób poniżej” nie zgłasza wyjątku IndexOutOfBoundsException. Inne rozwiązania to:
Zostawię to OP, jeśli należy to zmienić.
Wreszcie jest to mój pierwszy golf, więc wszelkie uwagi są mile widziane. ;)
źródło
using System;
w liczbie bajtów, ponieważ nie można go używaćRandom
lubConsole
bez niego. meta.codegolf.stackexchange.com/questions/10081/... Przepraszam, że dodałem 13 bajtów :(using System;
nie jest potrzebny (automatycznie importuje wspólne przestrzenie nazw). Ale może dzielę włosy. ¯_ (ツ) _ / ¯_=>{var c=... return c;}
TSQL,
556532494476 bajtówTen skrypt należy wykonać w głównej bazie danych
Gra w golfa:
Nie golfowany:
Wypróbuj to
źródło
Python 3 -
450427 bajtówWiem, że
450
to za dużo dla Pythona. Ale ale.....Jeśli zmieniona
for i in'O'*...
zostanie w lepszą funkcję rekurencyjną, wówczas można zmniejszyć wiele bajtów.Wypróbuj tutaj
Edytuj :
Zaoszczędzono 2 bajty, używając
;
jako separatora, i kilka bajtów, przyjmując bajt nowej linii jako 1 bajt.źródło
JavaScript, 204 bajty
źródło
\n
jako 1 bajt?PHP, 200 bajtów
może być krótszy z bardziej wyrafinowanym podejściem; ale spieszy mi się.
wymaga PHP 5.6 lub 7.0. Uruchom
-nr
lub wypróbuj online .źródło
Scala, 329 bajtów
źródło