Fissione , 958 + 752 = 1710 byte
._.
Sinistra
D
z
^@$$$$$$$$$$$$$$$$$$$@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~@!!@~~~@!@$$$$$@!@~~~~~@!@$$$$$$$$$$$$@!@~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$@!@~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$$$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~@!@~~@!@$$$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$@!@~~~@!!@~~~@!@$$$$$$$@!@~@!@$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!V
Provalo online!
Destra
} \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \} \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \ } \
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
Provalo online!
OK, eccoci qui con buona fortuna, in realtà ._.
La prima caratteristica interessante di Fission è che ha 4 comandi per creare puntatori di comandi, atomi AKA:, RLDU
quindi ho due comandi per i gruppi sinistro e destro.
Il secondo portafortuna sono 2 comandi per l'output !
e O
, che si verifica in diversi gruppi.
Terza volta il fascino. Entrambi i comandi in uscita producono l'equivalente ASCII della massa degli atomi. Quindi devo cambiarlo in qualche modo. Fortunato me! Sia + (+1 mass)
e _ (-1 mass)
sono in un gruppo e tutti necessari tre $ (+1 energy)
, ~ (-1 energy)
, @ (swap mass and energy)
sono in un altro gruppo.
Inoltre ci sono specchi per controllare gli atomi in entrambi i gruppi! Ma non li ho usati nel primo programma
Quindi non c'è nulla che mi fermi, ma non può essere compatto, impostando le masse passo dopo passo.
Primo programma
Il primo programma è composto solo da 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
L'inizio può essere più semplice (solo R
), ma l'uso di divide salva alcuni byte per la prima lettera.
Atom, che va a sinistra si avvolge e incontra V
, il che lo fa scendere e avvolgere indefinitamente, senza fare nulla.
Il secondo atomo diventa più rigoroso e incontrerà una serie di schemi ripetuti @...@!
per ogni lettera in uscita.
@ swap atom's mass and energy
... increament or decrement energy until it would match desired ASCII code
@ swap again
! print character by atoms mass
Alla fine incontrerà V
e condividerà il destino del primo atomo. Non c'è modo di distruggerli o fermarsi con la parte sinistra della tastiera.
Secondo programma
Il secondo arriva con i suoi alti e bassi. Ho dei comandi per cambiare direttamente la massa, ma il comando di output O
distrugge gli atomi, quindi devo preservarli in qualche modo.
Il programma inizia a destra L
con atomo che va a sinistra.
Modello ripetuto:
} \
/O\...X'
'
inserisce il codice ASCII del prossimo carattere rilevato nella massa degli atomi, quindi il codice di alcuni X
viene memorizzato per primo, quindi la massa viene modificata da _
e +
al valore esatto.
A volte X'
viene saltato, se è più corto usare solo _
e +
.
L'atomo viene da sinistra, si specchia due volte e colpisce }
da sinistra. In questo caso }
funziona come un clonatore, inviando due atomi identici su e giù. L'atomo verso il basso si riflette dallo specchio e va a sinistra. L'atomo si avvolge, colpisce lo stesso specchio ma dal basso e quindi riflette bene, incontrando O
e stampando.
Alla fine l'ultimo atomo incontra il finale O
per essere distrutto.