Crane-Flak , Puntuación 3 (252 bytes)
%&'()%&%X'Z&xx\()'()z%xz|%&'()%&'()%&'()9;=&'()9;=%XZ\&'z|%&'(9;=(9;=%&'XZ\(|xz|9;=%&'%&(%X'Z&\('()xxz%xz|9;=&'()9;=%XZ\&'z|9;=(9;=%&'XZ\(|9;=)))))))%&Y[]'()yy{}%&y{}%&'()%&'():<>'():<>%&Y[]'(){}y{}:<>%&Y[]'()yy{}::<><>:<>%&y{}:<>'():<>%&Y[]'(){}::<><>
Pruébalo en línea!
(No funciona en Brain-Hack porque solo mods Crane-Flak por 256)
Desplazado por 1
&'()*&'&Y(['yy])*()*{&y{}&'()*&'()*&'()*:<>'()*:<>&Y[]'({}&'():<>):<>&'(Y[])}y{}:<>&'(&')&Y(['])()*yy{&y{}:<>'()*:<>&Y[]'({}:<>):<>&'(Y[])}:<>*******&'Z\^()*zz|~&'z|~&'()*&'()*;=?()*;=?&'Z\^()*|~z|~;=?&'Z\^()*zz|~;;=?=?;=?&'z|~;=?()*;=?&'Z\^()*|~;;=?=?
Pruébalo en línea!
Desplazado por 2
'()*+'('Z)\(zz^*+)*+|'z|~'()*+'()*+'()*+;=?()*+;=?'Z\^()|~'()*;=?*;=?'()Z\^*~z|~;=?'()'(*'Z)\(^*)*+zz|'z|~;=?()*+;=?'Z\^()|~;=?*;=?'()Z\^*~;=?+++++++'([]_)*+{{}'({}'()*+'()*+<>@)*+<>@'([]_)*+}{}<>@'([]_)*+{{}<<>@>@<>@'({}<>@)*+<>@'([]_)*+}<<>@>@
Pruébalo en línea!
Desplazado por 3
()*+,()([*]){{_+,*+,}({}()*+,()*+,()*+,<>@)*+,<>@([]_)*}()*+<>@+<>@()*[]_+{}<>@()*()+([*])_+*+,{{}({}<>@)*+,<>@([]_)*}<>@+<>@()*[]_+<>@,,,,,,,()\^`*+,||~€()|~€()*+,()*+,=?A*+,=?A()\^`*+,~€|~€=?A()\^`*+,||~€==?A?A=?A()|~€=?A*+,=?A()\^`*+,~€==?A?A
Pruébalo en línea!
Explicación
El código principal en el trabajo aquí es
([]){{}({}n<>)<>([])}{}<>([]){{}({}<>)<>([])}<>
donde n
es un número arbitrario Esto mueve todo a la pila que se agrega n
a cada elemento (el módulo 256 está implícito en la salida) y luego los mueve a todos de regreso.
Sin embargo, para el primer programa (es decir, desplazado por 0) no necesitamos hacer nada de esto porque el desplazamiento por cero es el programa cat. Entonces comenzamos con este código:
([]){{}({}()<>)<>([])}{}<>([]){{}({}<>)<>([])}<>
y bajarlo por 1
'Z\(zz|'z|m;=(;='Z\(|z|;='Z\(zz|'z|;=(;='Z\(|;=
Esto no está equilibrado, por lo que debemos solucionarlo. Hay varias maneras en que podríamos hacer esto mediante mi método de elección (por razones que se harán evidentes) es la siguiente:
'Z\(zz|'z|m;=(;='Z\(|z|;='Z\(zz|'z|;=(;='Z\(|;=)))))){}{}{}{}{}
Cambiando esto por 2 obtenemos
)\^*||~)|~o=?*=?)\^*~|~=?)\^*||~)|~=?*=?)\^*~=?++++++}}}}}
Dado que ()
es más fácil de tratar que {}
usaremos los }
s para completar el programa que deseamos. Eso significa que )
se puede equilibrar con medios bastante obvios. Con un poco de violín podemos convertir eso en:
()\^*||~()|~()*=?*=?()\^*~|~=?()\^*||~()|~=?*=?()\^*~=?+++++++([]_)*+{{}({}()*+()*+<>@)*+<>@([]_)*+}{}<>@([]_)*+{{}<<>@>@<>@({}<>@)*+<>@([]_)*+}<<>@>@
Cambiando eso hacia abajo, obtenemos
&'Z\(zz|&'z|&'(;=(;=&'Z\(|z|;=&'Z\(zz|&'z|;=(;=&'Z\(|;=)))))))&Y[]'()yy{}&y{}&'()&'():<>'():<>&Y[]'(){}y{}:<>&Y[]'()yy{}::<><>:<>&y{}:<>'():<>&Y[]'(){}::<><>
El paso al 3 es tan complejo que ya no lo entiendo. Utilicé la misma técnica y solo jugueteé con ella hasta que finalmente conseguí que los 4 funcionaran a la vez. La técnica es más o menos la misma, solo que hay mucho más violín.