Wskazówki do gry w golfa w The Powder Toy

9

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ę)

Lista wszystkich elementów

moonheart08
źródło
1
@ mbomb007 Dziękujemy za dodanie linku. Chciałem tylko o to poprosić. Nie znam TPT i pomyślałem, że to wyzwanie dotyczące zabawek, które kiedyś były - a może nadal są - w paczkach detergentów ...: /
Arnauld
@Arnauld Haha. Ups Dzięki mbomb007: P
moonheart08
Jak w ogóle obliczyć wynik?
12
@ 12Me21 W tej chwili wynik oparty jest na pliku zapisu. Możesz to omówić w tym poście
moonheart08

Odpowiedzi:

2

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.

moonheart08
źródło
pls dodaj zdjęcia tyvm
tylko ASCII
@ Tylko ASCII Zrobię, kiedy wrócę do domu.
moonheart08
3
Byłoby miło, gdybyś mógł przeliterować rzeczy zamiast używać tak wielu skrótów. Nie wszyscy znają tę grę, ale niektórzy mogą uznać ją za interesującą.
mbomb007
@ mbomb007 Uwaga: FILT, BTRY, BRAY, SPRK itp. to tylko nazwy cząstek w grze. Sama gra używa tych nazw. Czy zamiast tego mam umieścić wiki gry w głównym poście? Ludzie mogą tam wyszukiwać te nazwiska i dość łatwo dowiedzieć się, jakie są.
moonheart08
1

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.

    INTRC = FILTC
    
  • Tryb 1:

    Jest to plik binarny AND i razem INTRC i FILTC, ustawiając INTRC na wynik.

    INTRC = INTRC & FILTC
    
  • Tryb 2:

    Jest to binarny OR, to razem INTRC i FILTC, ustawiając INTRC na wynik.

    INTRC = INTRC & FILTC
    
  • Tryb 3:

    Ten tryb jest nieco bardziej skomplikowany, łączy odwrotność FILTC i INTRC, ustawiając INTRC na wynik.

    INTRC = INTRC & (~FILTC)
    
  • 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.

    X = (temperature-273.0)*0.025
    INTRC = INTRC << X
    
  • 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ć.

    X = (temperature-273.0)*0.025
    INTRC = INTRC >> X
    
  • Tryb 6:

    Nic nie robi.

    INTRC = INTRC
    
  • Tryb 7:

    Wykonuje binarny XOR na INTRC i FILTC, ustawiając INTRC na wynik.

    INTRC = INTRC ^ FILTC
    
  • Tryb 8:

    Wykonuje binarne NOT na INTRC, ustawiając INTRC na wynik.

    INTRC = ~INTRC
    
  • Tryb 9:

    Ustawia INTRC na losowy kolor.

    INTRC = rand()
    
  • Tryb 10:

    Wykonuje inną wersję czerwonej zmiany.

    [DO ZROBIENIA: dowiedz się, jak opisać]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC * LSB
    
  • Tryb 11:

    Wykonuje inną wersję niebieskiego przesunięcia.

    [DO ZROBIENIA: dowiedz się, jak opisać]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC / LSB
    
moonheart08
źródło