Baw się dobrze z tym, The Powder Toy to interesujące wyzwanie dla golfa, szczególnie z logiką filt.
Rzeczą, która sprawia, że TPT jest wyzwaniem, jest wiele, wiele sposobów podejścia do problemu: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic?
Jako takie, lokalizacja wskazówek dotyczących gry w golfa TPT byłaby bardzo pomocna, więc zadałem to pytanie.
W tym wątku prawdopodobnie używa się wielu skrótów. Wiele z nich będzie elementami w grze, więc wyszukiwanie ich na Wiki dostarczy Ci wielu informacji na ich temat, takich jak to, czym są.
Oto najczęściej spotykane w tym wątku z dołączonym opisem gry (i pełnym imieniem) dla osób, które nie chcą szukać:
- SPRK: Energia elektryczna. Podstawa całej elektroniki w TPT przemieszcza się wzdłuż drutów i innych elementów przewodzących.
- FILT: Filtruj. Filtruj fotony, zmienia kolor.
- ARAY: Ray Emitter. Promienie tworzą punkty, gdy się zderzają.
- BTRY: Bateria. Generuje nieskończoną energię elektryczną.
- DRAY: Promień powielacza. Replikuje przed sobą linię cząstek.
- CRAY: Emiter cząstek stałych. Tworzy wiązkę cząstek ustawioną według jej typu, z zakresem ustawionym przez tmp.
- SWCH: Przełącznik. Działa tylko przy włączeniu. (PSCN włącza się, NSCN wyłącza się)
code-golf
tips
the-powder-toy
code-golf
number
array-manipulation
integer
code-golf
string
decision-problem
boggle
code-golf
array-manipulation
average
code-golf
math
code-golf
decision-problem
restricted-source
code-golf
code-golf
math
primes
code-golf
random
code-golf
tips
perl
code-golf
string
parsing
code-golf
math
number
decision-problem
code-golf
math
number
code-golf
string
alphabet
code-golf
math
geometry
code-golf
interpreter
brainfuck
code-golf
code-golf
decision-problem
boggle
code-golf
math
number
sequence
code-golf
math
code-golf
ascii-art
code-challenge
restricted-source
quine
code-golf
math
decision-problem
number-theory
primes
code-golf
ascii-art
code-golf
integer
graph-theory
chess
code-golf
math
interpreter
code-golf
code-golf
code-golf
ascii-art
code-golf
arithmetic
number-theory
code-golf
string
kolmogorov-complexity
code-golf
string
decision-problem
code-golf
primes
factoring
encode
code-golf
decision-problem
code-golf
geometry
grid
code-golf
quine
code-golf
matrix
code-golf
matrix
code-golf
code-golf
number
array-manipulation
code-golf
array-manipulation
sorting
code-golf
matrix
code-golf
brain-flak
moonheart08
źródło
źródło
Odpowiedzi:
Logiki podramki należy używać tylko wtedy, gdy jest ona mniejsza
W przypadku bardziej złożonych maszyn jest często znacznie mniejszy.
Rama pomocnicza generalnie nakłada koszty związane z tworzeniem jednolitej SPRK (około 3 piksele dla większości kierunków, dodatkowy piksel w porównaniu do tylko BTRY), FILT „kanały” (dla szybkiego transferu BRAY) i minimalizowanie ilości logiki bez ramy, nawet jeśli jest mniejsza , ponieważ jest on wielokrotnie (4x do 20x-30x wolniejszy!) wolniejszy.
Logika podramki jest często dobra w przypadku złożonych operacji (co stanowi większość wyzwań tutaj), ale w przypadku prostszych logika podramki prawdopodobnie nie jest optymalna.
źródło
Poznaj swoje tryby FILT
FILT jest, przynajmniej w logice FILT i ramce pomocniczej, kamieniem węgielnym obliczeń w TPT. I jako taki ma wiele sztuczek, które ułatwią ci życie, w postaci różnych trybów. Ustawiasz tryb FILT za pomocą
tmp
, ale wyczerpująca lista opisująca zawiłości tych trybów nie jest w tej chwili tak naprawdę rzeczą. FILT pobiera dwa dane wejściowe: swój własny kolor (CTYPE) i kolor tego, z czym wchodzi w interakcję, BRAY lub SZALONY. Oznaczę te odpowiednio FILTC i INTRC dla tej listy.Tryb 0:
W najprostszym trybie ustawia INTRC na wartość FILTC, nic więcej.
Tryb 1:
Jest to plik binarny AND i razem INTRC i FILTC, ustawiając INTRC na wynik.
Tryb 2:
Jest to binarny OR, to razem INTRC i FILTC, ustawiając INTRC na wynik.
Tryb 3:
Ten tryb jest nieco bardziej skomplikowany, łączy odwrotność FILTC i INTRC, ustawiając INTRC na wynik.
Tryb 4:
Ten tryb jest nieco trudniejszy do opisania. To czerwona zmiana (binarne lewe przesunięcie),
Połów tutaj polega na tym, że ilość, o którą się przesuwa, jest kontrolowana przez jego temperaturę, z równaniem (Temperatura-273,0) * 0,025, domyślnie przesunięcie o 1, jeśli wartość jest mniejsza niż 1. Możesz uzyskać przesunięcie dowolnej wymaganej ilości przez pomnożenie liczby potrzebnych bitów przez 40 i dodanie 273,0. Nazwę przesuniętą kwotę X.
Jako taki, INTRC jest przesunięty w lewo o X, ustawiając INTRC na wynik.
Tryb 5:
Zasadniczo jest to tryb 4, ale zamiast niego zastosowano prawą zmianę. Zobacz informacje o trybie 4, aby dowiedzieć się, jak go używać.
Tryb 6:
Nic nie robi.
Tryb 7:
Wykonuje binarny XOR na INTRC i FILTC, ustawiając INTRC na wynik.
Tryb 8:
Wykonuje binarne NOT na INTRC, ustawiając INTRC na wynik.
Tryb 9:
Ustawia INTRC na losowy kolor.
Tryb 10:
Wykonuje inną wersję czerwonej zmiany.
[DO ZROBIENIA: dowiedz się, jak opisać]
Tryb 11:
Wykonuje inną wersję niebieskiego przesunięcia.
[DO ZROBIENIA: dowiedz się, jak opisać]
źródło