Fissão , 958 + 752 = 1710 bytes
._.
Esquerda
D
z
^@$$$$$$$$$$$$$$$$$$$@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~@!!@~~~@!@$$$$$@!@~~~~~@!@$$$$$$$$$$$$@!@~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$@!@~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$$$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~@!@~~@!@$$$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$@!@~~~@!!@~~~@!@$$$$$$$@!@~@!@$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!V
Experimente online!
Direita
} \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \
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
Experimente online!
OK, aqui estamos com pura sorte, na verdade ._.
O primeiro recurso interessante do Fission é que ele possui 4 comandos para criar ponteiros de comando, átomos AKA:, RLDU
então eu tenho dois comandos para grupos esquerdo e direito.
O segundo amuleto da sorte são 2 comandos de saída !
e O
, o que ocorre em diferentes grupos.
Terceira vez o charme. Ambos os comandos de saída emitem o equivalente ASCII da massa dos átomos. Então, eu preciso mudar de alguma forma. Sorte minha! Ambos + (+1 mass)
e _ (-1 mass)
estão em um grupo e todos os necessários três $ (+1 energy)
, ~ (-1 energy)
, @ (swap mass and energy)
estão em outro grupo.
Também existem espelhos para controlar átomos em ambos os grupos! Mas eu não os usei no primeiro programa
Portanto, não há nada para me impedir, mas não pode ser compacto, definindo massas passo a passo.
Primeiro programa
O primeiro programa consiste em apenas 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
O início pode ser mais simples (apenas R
), mas o uso da divisão salva alguns bytes para a primeira letra.
Atom, que vai para a esquerda, envolve e encontra V
, o que o faz cair e se enrolar indefinidamente, sem fazer nada.
O segundo átomo vai bem e encontrará vários padrões repetidos @...@!
para cada letra a ser impressa.
@ swap atom's mass and energy
... increament or decrement energy until it would match desired ASCII code
@ swap again
! print character by atoms mass
Eventualmente, ele encontrará V
e compartilhará o destino do primeiro átomo. Não há como destruí-los ou parar com a parte esquerda do teclado.
Segundo programa
O segundo vem com seus altos e baixos. Eu tenho comandos para alterar a massa diretamente, mas o comando de saída O
destrói átomos, então preciso preservá-los de alguma forma.
O programa inicia à direita L
com o átomo indo para a esquerda.
Padrão repetido:
} \
/O\...X'
'
puts próxima encoutered código ASCII do caractere em massa átomos, para que o código de algum X
é armazenado em primeiro lugar, que a massa é alterado pelo _
e +
para o valor exato.
Às vezes X'
é ignorado, se for mais curto para usar apenas _
e +
.
Atom vem da esquerda, espelha duas vezes e acerta }
da esquerda. Nesse caso, }
funciona como clonador, enviando dois átomos idênticos para cima e para baixo. O átomo abaixo reflete pelo espelho e vai para a esquerda. O átomo se envolve, atinge o mesmo espelho, mas por baixo e, portanto, reflete direito, encontro O
e impressão.
No final, o último átomo encontra o final O
a ser destruído.