Patrząc na to, jak strasznie świat się odwrócił, oto trudniejszy.
Uwielbiam Zelda i ReBoot.
Utwórz następujące elementy
Wymagania:
Musi to być okno (może to być DOWOLNE okno, nawet przeglądarki itp.).
Okno może mieć dowolny rozmiar.
Okno nie może zawierać niczego poza obrazem.
Okno nie powinno od razu się zamknąć.
Trójkąty muszą mieć dowolny odcień niebieskiego.
Koło musi mieć dowolny odcień zieleni.
Mniejszy trójkąt musi dotykać krawędzi
Bez kradzieży obrazów poprzez podanie linków.
Warunek: wygrywa najkrótszy kod.
PS: Tak Logo ReBoot jest nieco inne, ale jest wystarczająco blisko, aby było fajnie.
EDYCJA: Dodałem kolejny wymóg. Wygląda na to, że mamy wielu bardzo genialnych ludzi, którzy lubią znajdować luki: PI kocham was.
Odpowiedzi:
Mathematica
118 119 118 10797Edycja: Skrócono do 107 znaków z pomocą Belizariusza i do 97 znaków z alephalpha.
źródło
p=Polygon;a={1,1};b={2,0};CreateDialog[Graphics@{Blue,p@{0a,2b,2a},White,p@{a,b+a,b},Green,{2,1}~Circle~1}]
CreateDialog[Graphics@{Blue,Polygon@Outer[Plus,#,#,1]&@{{0,0},{1,1},{2,0}},Green,{2,1}~Circle~1}]
Dyalog APL (
121116115)(Edycja: użyj trójkątów o szerokości 8 elementów zamiast 10, aby nieco skrócić kod)
(Edycja 2: Używałem tylko
M¨
, więc zawarłem¨
w definicjiM
)Grafika? Kto potrzebuje grafiki?
(Również czarne jest domyślnym tłem, nie powiedziałeś, żeby to zmienić)
źródło
Skrypt powłoki:
166163 znakówPrzykładowe dane wyjściowe:
źródło
R,
124,122, 111Daje to następujący obraz w oknie wydruku:
źródło
p=polygon
, a potemp(c(1,3,5
itd. (BTW, w moim systemie, rozmiar koła skaluje się inaczej niż trójkąty, gdy okno jest przeskalowane, i muszę się nim trochę pobawić, aby koło przecięło się rogi „kwadratu”.)Java,
434358349grał w golfa
Kto wiedział, że golf tak bardzo ogranicza kod.
EDYCJA: Dziękujemy za wszystkie sugestie.
źródło
Game Maker Language,
167165155EDYCJA 1 - Ogoliłem dwa znaki, zastępując
c_green
je32768
tą samą wartością. Wartości drugiego koloru były dłuższe niż ich wstępnie zdefiniowane nazwy.EDYCJA 2 - Epicki golf! Używane zmienne dla często używanych wartości i zapomniałem, że znaki nowej linii nie są potrzebne (znaki nowej linii liczą się jako dwie spacje).
Room (
r
) jest wstępnie zdefiniowany 64 na 32 z białym tłem. Obiektd
jest w dowolnym miejscu w pokojur
. Narysuj kod zdarzenia:Wynik:
Ti84-Basic - 54 znaki (ale wydruk jest czarno-biały)
źródło
draw_set_color
trzy razy. Czy nie możesz uratować postaci według czegoś takiegod=draw_set_character
?HTML, 101
źródło
http://someshort.url
(... i to też stworzyłoby kolejny wymóg)HTML + CSS,
352290261257http://jsfiddle.net/WF3hP/6/
Nie golfowany:
źródło
border-left
iborder-right
oddzielnie, lepiej ustawić,border
a następnie zmniejszyć niepotrzebne, takie jakborder-top:0
: jsfiddle.net/WF3hP/2border-bottom-color
zamiastborder-bottom
na pierwszym divie i podobnieborder-top-color
na drugim divie. I używanie1em
zamiast25px
i2em
zamiast50px
zmienia rozmiar, ale oszczędza kilka znaków.R, 108 znaków
Bardzo podobny do rozwiązania Svena Hohensteina, ale różni się dwoma interesującymi punktami, więc pomyślałem, że mógłbym go dodać:
Zamiast rysować duży niebieski trójkąt i mały biały, rysuję wielokąt reprezentujący już trzy trójkąty. Jeśli chodzi o okrąg, ten (którego kod jest wyraźnie dłuższy niż Svena) nie traci kontaktu z trójkątami przy zmianie rozmiaru.
Wreszcie zamiast używać nazw kolorów, użyłem ich numeru w domyślnej palecie kolorów R (4 dla niebieskiego i 3 dla zielonego).
źródło
JavaScript (canvas, Firefox),
237231 znakówNie mogłem znaleźć żadnych twardych wymagań dotyczących wymiarów, więc postanowiłem to trochę nadużyć i przejść z 8 × 4 pikselami, aby zmniejszyć rozmiar kodu ... również, zależy od rozszerzenia MozFillRule, aby uzyskać parzyste nieparzyste wypełnienie dla triforce.
jsbin (mały) , jsbin (większy)
źródło
SVG
305296źródło
style="fill:#00f"
możesz użyćfill="#00f"
. To samo dla pozostałychstyle
s.1
: posiadanie planu pionowego2 to 9
zamiast zamiast3 to 10
...HTML 118
źródło
Sage (CLI),
111106Odbywa się to poprzez interfejs wiersza poleceń Sage. (Działa to również w Sage Notebook, ale chociaż obraz pojawia się we własnej komórce, prawdopodobnie nie kwalifikuje się jako „okno”).
EDYCJA: Wyeliminowano 5 znaków minus i zastąpiono zrzut ekranu komórki Sage Notebook jednym z okien interfejsu Sage CLI. (Kredyt @boothby)
źródło
.show()
obiekt graficzny z interfejsu CLI, pojawi się okno. Możesz także uratować kilka postaci, przesuwając wszystko (+ 2, + 1).Golf-Basic 84, 36 znaków (Wyjście jest czarno-białe)
źródło