Технический взгляд на переменные

Scrap Mechanic24 views2 min readRussianby Stekmen8Updated 16 JunView on Steam ↗

Идея переменной в формате блока

Итак, думаю всем известно, что есть четкое понимание переменной - Что это может быть как правдой и ложью, а вместе эти переменные являются значением. В таком же плане нужно думать и о блоке: если сенсор его видит, значит он есть. Сигнал и есть обозначение его существования, что значит 1

В самой игре нам предоставлены разные интерактивные блоки. Самые главные в понимании нашей темы это: картофелемет, вакуумный насос и сенсор.

Благодаря данным трем объектам описывается вся основная часть: добавление, удаление, чтение. Диск, а на нем картонные блоки выступают в качестве сигналов.

https://images.steamusercontent.com/ugc/15275294832645104478/A197C3656A72F3D1A5C7976DD411CE91EBA7F833/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

И что же ?

Раз мы теперь имеем представление, что мы можем записать постоянное значение и заставить его постоянно выполняться или редактировать на ходу, то мы можем делать разные вещи. Это дает возможности "тонкой" настройки механизмов и их изменений на ходу.

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

https://images.steamusercontent.com/ugc/16346563396326330271/5FDD7450F112912457C547C3681D0797CA2CE465/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

Продвинутое понимание. Пакеты битов

Значит мы можем делать так называемое число. Но технически оно не будет ведь числом, это лишь правда, которого будет проигрываться до определенного момента во времени, после чего станет ложью на какой то момент.

И правда. Это не числа, а лишь сигналы. Но всё же, как бы нам иметь всё таки слаженность ?

В таком случае предоставляется нам понимание пакетов. Пакет - какое то число битов, обладающее битом начала, что запускает чтение и битом концом, что завершает чтение. К нашему счастью в игре предоставлена уникальная возможность: окрашивать блоки при помощи "Кисточки" и после по этому цвету можно настроить сенсор, что будет подавать сигнал при виде этой краски.

На таком не столь сложном понимании, мы уже можем сделать вывод, что нам дозволено созидать разные переменные при помощи лишь окрашивания. А также, конечно, играть роль в передаче данных.

Устройство, представленное ниже способно как раз сделано для чтения пакетов. В качестве простого действия механизм просто подсчитывает передаваемые ей биты. В данном случае она способна прочитать 1 байт.

https://images.steamusercontent.com/ugc/18373659846137368691/DA6457EFADB5DF474ACB19FFF8FA3D866BA3A537/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

Но как это сделано ? При помощи таймера и времени. Поршень имеет время, за которое он полностью выдвенит бит в чтение. Сенсор, который читает данные в пакете не имеет понимания: сколько здесь битов. Он не знает, ведь перед ним, хоть и двигающиеся блоки, он не в силах их различить и поэтому постоянно посылает сигнал истинности. Чтобы механизм понимал, сколько он высчитал, установлен таймер на 8 циклов. да, 8. Как и бит в байте. Это оптимальная задержка, при которой отсчитывается блок в данном чтении.

Из недоработки машины лишь то, что она к сильно маленьким числам прибавляет бит окончания. Но это не такая уж и страшная потеря.

В дополнении и заключение

В дополнении хочется написать, что снаряд картофелемета тоже является сигналом. Вылетевшая картошка читается сенсором, имеет огромную скорость, благодаря чему возможно выстроить дистанционную передачу. Если бы у картофелемета не было бы разброса.

На этом моменте автор заканчивает делиться своим восприятием и оставляет ссылку на чертеж, в котором были использованы машины.

https://steamcommunity.com/sharedfiles/filedetails/?id=3745897917

This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.