Fission , 958 + 752 = 1710 байт
._.
Зліва
D
z
^@$$$$$$$$$$$$$$$$$$$@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~@!!@~~~@!@$$$$$@!@~~~~~@!@$$$$$$$$$$$$@!@~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$@!@~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$$$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~@!@~~@!@$$$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$@!@~~~@!!@~~~@!@$$$$$$$@!@~@!@$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!V
Спробуйте в Інтернеті!
Правильно
} \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \
O________________________________________I'/O\/O\__u'/O\____i'/O\++p'/O\___/O\_i'/O\__u'/O\___/O\_____i'/O\++p'/O\+++/O\+/O\_______/O\_i'/O\_________________________________________I'/O\_u'/O\++p'/O\____/O\___/O\_i'/O\_u'/O\/O\____i'/O\++u'/O\__u'/O\_________________________________________I'/O\_/O\+/O\+++/O\____/O\___/O\_i'/O\++p'/O\___/O\_i'/O\_u'/O\____/O\____i'/O\+++++++P'L
Спробуйте в Інтернеті!
Гаразд, тут ми насправді ._.
Перша класна особливість Fission полягає в тому, що він має 4 команди для створення командних покажчиків, атомів AKA:, RLDU
тому у мене є дві команди для лівої та правої груп.
Друга щаслива принадність - це 2 команди для виведення !
і O
, які трапляються в різних групах.
Втретє чарівність. Обидва вихідні коміри виводять ASCII еквівалент маси атомів. Тому мені потрібно змінити це якось. Мені пощастило! Обидва + (+1 mass)
і _ (-1 mass)
знаходяться в одній групі і всім необхідним три $ (+1 energy)
, ~ (-1 energy)
, @ (swap mass and energy)
в іншій групі.
Також є дзеркала для управління атомами в обох групах! Але я не використовував їх у першій програмі
Тож мене ніщо не зупинить, але це не може бути компактно, встановлюючи маси крок за кроком.
Перша програма
Перша програма складається лише з Dz^@$~!V
D create atom, going down
z set its mass to ASCII code of 'z'
^ split atom in 2, dividing their mass. One goes left, second - right
Запуск може бути спрощеним (просто R
), але за допомогою ділення зберігається кілька байтів для першої літери.
Атом, що йде ліворуч, обгортає і стикається V
, що змушує його спускатися і загортатися нескінченно, нічого не роблячи.
Другий атом йде річ і зустріне купу повторних шаблонів @...@!
для кожної літери для виведення.
@ swap atom's mass and energy
... increament or decrement energy until it would match desired ASCII code
@ swap again
! print character by atoms mass
Врешті-решт вона зіткнеться V
і поділить долю першого атома. Немає можливості їх знищити або зупинити лівою частиною клавіатури.
Друга програма
Друге - з підйомами та падіннями. У мене є команди безпосередньо змінювати масу, але команда виведення O
знищує атоми, тому мені потрібно якось їх зберегти.
Програма запускається праворуч L
з того, що атом йде ліворуч.
Повторний шаблон:
} \
/O\...X'
'
ставить наступний розширений код ASCII в масі атомів, тому код деяких X
зберігається спочатку, ніж маса змінюється на _
та +
точне значення.
Іноді X'
пропускається, якщо коротше використовувати просто _
і +
.
Атом виходить зліва, дзеркало два рази і удари }
зліва. У цьому випадку }
працює як клонер, посилаючи два однакових атома вгору і вниз. Вниз атом відбивається дзеркалом і йде ліворуч. Вгору атом обгортає, б'є в одне дзеркало, але знизу, і так відображає право, зустрічаючи O
та друкуючи.
Зрештою, останній атом зустрічається остаточним O
для руйнування.