Советы по игре в гольф в The Powder Toy

9

Веселитесь с этим, Пороховая Игрушка - интересная задача для гольфа, особенно с логикой фильтра.

То, что делает TPT сложной задачей, - это много-много-много способов решения проблемы: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic?

Таким образом, расположение подсказок для игры в гольф TPT было бы весьма полезно, поэтому я сделал этот вопрос веткой.

Этот поток, вероятно, будет использовать много сокращений. Многие из них будут внутриигровыми элементами, поэтому их поиск в вики принесет вам много информации о них, например, что они есть.

Вот наиболее распространенные из них, которые вы, вероятно, увидите в этой теме, с прикрепленным описанием игры (и их полным именем) для людей, которые не хотят искать:

  • СПРК: Электричество. Основа всей электроники в TPT, путешествует по проводам и другим проводящим элементам.
  • ФИЛЬТ: Фильтр. Фильтр для фотонов, меняет цвет.
  • АРАЙ: Рэй Эмиттер. Лучи создают точки, когда они сталкиваются.
  • BTRY: аккумулятор. Вырабатывает бесконечное электричество.
  • DRAY: Дубликатор Рэй. Копирует линию частиц перед ним.
  • CRAY: излучатель частиц. Создает пучок частиц, заданный его типом c, с диапазоном, установленным tmp.
  • SWCH: переключатель. Проводит только при включении. (PSCN включается, NSCN выключается)

Список всех элементов

moonheart08
источник
1
@ mbomb007 Спасибо за добавление ссылки. Я просто собирался попросить об этом. Я не знаю ТПТ и думал, что это была проблема с игрушками, которые раньше - и, возможно, все еще - были найдены в пачках моющих средств ...: /
Арно
@ Арнаулд Хаха. Упс. Спасибо mbomb007: P
moonheart08
Как вы вообще рассчитываете счет?
12Me21
@ 12Me21 На данный момент оценка основана на файле сохранения. Вы можете обсудить это в этой мета-пост
moonheart08

Ответы:

2

Используйте логику подкадра только тогда, когда она меньше

И, для более сложных машин, это часто намного меньше.

Подкадр обычно накладывает накладные расходы на создание сплошного SPRK (около 3 пикселей для большинства направлений, дополнительный пиксель по сравнению только с BTRY), FILT «каналов» (для быстрой передачи BRAY) и минимизации количества логики без подкадра, даже если он меньше из-за того, что он во много раз (в 4–20 раз медленнее!) медленнее.

Логика подкадра часто хороша для сложных операций (что является большинством проблем здесь), но для более простых логика подкадра, вероятно, не оптимальна.

moonheart08
источник
Просьба добавить изображения Tyvm
только ASCII
@ ASCII-only Подойдет, когда я вернусь домой.
moonheart08
3
Было бы хорошо, если бы вы могли разобрать вещи вместо того, чтобы использовать так много сокращений. Не все знакомы с игрой, но некоторые могут найти ее интересной.
mbomb007
@ mbomb007 Хочу отметить, что FILT, BTRY, BRAY, SPRK и т. д. - это просто названия частиц в игре. Сама игра использует эти имена. Должен ли я вместо этого поместить вики в основной пост игры? Люди могут искать эти имена там и выяснить, что они собой представляют.
moonheart08
1

Знай свои режимы FILT

FILT является, по крайней мере для логики FILT и подкадра, краеугольным камнем вычислений в TPT. И как таковой, он имеет множество хитростей, чтобы сделать вашу жизнь проще, в виде его различных режимов. Вы устанавливаете режим FILT, используя tmp, но исчерпывающий список, который описывает тонкости этих режимов, на самом деле не очень важен. FILT принимает два входа: его собственный цвет (CTYPE) и цвет того, с чем он взаимодействует, BRAY или CRAY. Я обозначу эти FILTC и INTRC соответственно для этого списка.

  • Режим 0:

    Самый простой режим, он устанавливает INTRC на значение FILTC, не более того.

    INTRC = FILTC
    
  • Режим 1:

    Это двоичное И, оно объединяет INTRC и FILTC, устанавливая INTRC в результат.

    INTRC = INTRC & FILTC
    
  • Режим 2:

    Это двоичное ИЛИ, оно объединяет INTRC и FILTC, устанавливая INTRC в результат.

    INTRC = INTRC & FILTC
    
  • Режим 3:

    Этот режим немного сложнее, он объединяет инверсию FILTC и INTRC, устанавливая INTRC на результат.

    INTRC = INTRC & (~FILTC)
    
  • Режим 4:

    Этот режим немного сложнее описать. Это красное смещение (двоичное смещение влево),

    Подвох в том, что величина, на которую оно сдвигается, определяется его температурой с помощью уравнения (Температура-273,0) * 0,025, по умолчанию сдвиг которого равен 1, если значение меньше 1. Вы можете получить сдвиг любого необходимого количества. умножив количество нужных вам битов на 40 и добавив 273,0. Я назову сумму сдвинутой X.

    Таким образом, INTRC сдвигается влево на X, устанавливая INTRC на результат.

    X = (temperature-273.0)*0.025
    INTRC = INTRC << X
    
  • Режим 5:

    По сути, это режим 4, но вместо него правое смещение. Смотрите информацию о режиме 4, чтобы узнать, как его использовать.

    X = (temperature-273.0)*0.025
    INTRC = INTRC >> X
    
  • Режим 6:

    Ничего не делает.

    INTRC = INTRC
    
  • Режим 7:

    Выполняет двоичный XOR для INTRC и FILTC, устанавливая INTRC в результат.

    INTRC = INTRC ^ FILTC
    
  • Режим 8:

    Выполняет двоичное НЕ на INTRC, устанавливая INTRC к результату.

    INTRC = ~INTRC
    
  • Режим 9:

    Устанавливает INTRC в случайный цвет.

    INTRC = rand()
    
  • Режим 10:

    Выполняет другую версию красного смещения.

    [TODO: понять, как описать]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC * LSB
    
  • Режим 11:

    Выполняет другую версию синего смещения.

    [TODO: понять, как описать]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC / LSB
    
moonheart08
источник