Czy ktoś ma jakieś code-golf wskazówki dotyczące gry w golfa w przetwarzaniu ? Jest to graficzne rozszerzenie javy i jest nieco trudne do gry w golfa.
13
Czy ktoś ma jakieś code-golf wskazówki dotyczące gry w golfa w przetwarzaniu ? Jest to graficzne rozszerzenie javy i jest nieco trudne do gry w golfa.
Odpowiedzi:
void draw()
i włożyć wszystkovoid setup()
.(100, 100)
domyślnie zainicjowane .height
iwidth
w kodzie, jest zwykle krótszy zamiast używać ich wartości numerycznych. Na przykład w obszarze roboczym o rozmiarze(100, 100)
używanym99
do zamianyheight
iwidth
pozwalającym zaoszczędzić 7 bajtów.źródło
Jeśli uruchamiasz kod tylko w metodzie instalacyjnej, nie musisz pisać konspektu metody. Na przykład możesz napisać:
zamiast
I dopóki nie użyjesz żadnych innych metod, wszystko zostanie umieszczone w metodzie instalacji przed uruchomieniem
źródło
(R, G, B)
Notacja kolorówKolory szesnastkowe
Przetwarzanie jest bardzo elastyczne w kolorze.
można zapisać za pomocą zapisu szesnastkowego jako
Skala szarości
Oto specjalne zastosowanie dla kolorów, jeśli wszystkie wartości czerwony, zielony i niebieski są takie same (biały):
Wszystkie trzy parametry można skrócić do jednego parametru zawierającego wartość skali szarości: od
0
czerni do255
bieli.Można to również rozszerzyć dla wersji alfa:
Oba oznaczają ten sam kolor, ale ten drugi sposób jest krótszy o 8 bajtów.
Alfa
Chociaż oczywiste, należy stwierdzić, że parametr alfa przy określaniu kolorów jest opcjonalny, ponieważ kolory są domyślnie ustawione na wartość alfa
255
(100% nieprzezroczysta).Podsumowanie: formaty kolorów
Użyj najkrótszego formatu kolorów, aby wyrazić swój kolor (pamiętaj, aby pominąć niepotrzebne bity - w zależności od kontekstu programu - na przykład: alfa lub skala szarości)
R
: CzerwonyG
: zielonyB
: niebieskiA
: alfag
: skala szarościźródło
Skracaj stałe
Jeśli kiedykolwiek używasz jednego z kluczowych słów kluczowych w Przetwarzaniu (takich jak
DIFFERENCE
lubTRIANGLE_FAN
), sprawdź, czy liczba, której odpowiadają, jest krótsza.Na przykład,
DIFFERENCE
jest to tylko liczbaint
równa 32. Zamiast używaćDIFFERENCE
tutaj , mógłbym pisać32
, oszczędzając 8 znaków.źródło
Krótsza alternatywa dla
void keyPressed(){}
void draw(){}
Potrzebna jest domyślnie w celukey
aktualizacji. Jeśli użytkownik nie nacisnął żadnego klawisza od początku programu,key
zostanie podana wartość0
. Sprawdzając, czy jest więcej niż0
(tzn. Użytkownik nacisnął klawisz), mamy kod golfera i oszczędzamy 10 bajtów.źródło
Biały
#FFFFFF
Powiązane: Notacja kolorów
Zamiast używać tego dla białego:
możesz to zrobić:
i zapisz 1 bajt.
źródło
Ustawianie i zatwierdzanie pikseli za pomocą set ()
Bardziej wydajne jest ustawianie pikseli za pomocą pikseli [] :
Wymaga to jednak
updatePixels()
także użycia indeksu, który w zależności od scenariusza będzie wymagał konwersji pozycji x, y na indeks pikseli. Krótko mówiąc, pomimo mniejszej wydajności procesora (ponieważ każde wywołanie aktualizuje cały bufor), set () pozwala ustawić piksel i zatwierdzić buforowanie od razu w jednym wywołaniu.źródło