._.
Lewo
D
z
^@$$$$$$$$$$$$$$$$$$$@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~@!!@~~~@!@$$$$$@!@~~~~~@!@$$$$$$$$$$$$@!@~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$@!@~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$$$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~@!@~~@!@$$$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$@!@~~~@!!@~~~@!@$$$$$$$@!@~@!@$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!V
Wypróbuj online!
Dobrze
} \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \
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
Wypróbuj online!
OK, tutaj mamy zwykłe szczęście, właściwie ._.
Pierwszą fajną cechą Fission jest to, że ma 4 polecenia do tworzenia wskaźników poleceń, atomów AKA:, RLDU
więc mam dwa polecenia dla lewej i prawej grupy.
Drugi szczęśliwy urok to 2 polecenia wyjściowe !
i O
, które występują w różnych grupach.
Po raz trzeci urok. Obie komendy wyjściowe generują równoważnik masy atomów ASCII. Więc muszę to jakoś zmienić. Mam szczęście! Zarówno + (+1 mass)
i _ (-1 mass)
są w jednej grupie, a wszystkie potrzebne trzy $ (+1 energy)
, ~ (-1 energy)
, @ (swap mass and energy)
są w drugiej grupie.
Istnieją również lustra do kontrolowania atomów w obu grupach! Ale nie użyłem ich w pierwszym programie
Nic mnie nie powstrzyma, ale nie może być zwarte, ustawiając masy krok po kroku.
Pierwszy program
Pierwszy program składa się tylko z 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
Start może być prostszy (tylko R
), ale użycie dzielenia pozwala zaoszczędzić trochę bajtów na pierwszą literę.
Atom, który idzie w lewo, owija się wokół i spotyka V
, co powoduje, że spada i owija się w nieskończoność, nie robiąc nic.
Drugi atom staje się sztywny i napotka szereg powtarzających się wzorów @...@!
dla każdej litery do wydrukowania.
@ swap atom's mass and energy
... increament or decrement energy until it would match desired ASCII code
@ swap again
! print character by atoms mass
W końcu spotka V
i podzieli los pierwszego atomu. Nie ma sposobu, aby je zniszczyć lub zatrzymać za pomocą lewej części klawiatury.
Drugi program
Drugi ma swoje wzloty i upadki. Mam komendy do bezpośredniej zmiany masy, ale polecenie wyjściowe O
niszczy atomy, więc muszę je jakoś zachować.
Program rozpoczyna się po prawej stronie odL
atomu w lewo.
Powtarzający się wzór:
} \
/O\...X'
'
umieszcza kod ASCII następnego zakodowanego znaku w masie atomów, więc kod niektórych X
jest zapisywany jako pierwszy, a następnie masa jest zmieniana przez _
i +
do dokładnej wartości.
Czasami X'
jest pomijany, jeśli jest krótszy w użyciu tylko _
i +
.
Atom pochodzi z lewej strony, dwa razy zwierciadło i uderza }
z lewej. W tym przypadku }
działa jak kloner, wysyłając dwa identyczne atomy w górę iw dół. Atom w dół odbija się w lustrze i idzie w lewo. W górę owija atom, uderza w to samo lustro, ale od dołu, a więc odbija się w prawo, napotyka O
i drukuje.
Na końcu ostatni atom spotyka się z ostatecznym O
celem zniszczenia.