¡Este desafío es un homenaje al ganador de la Mejor Película en los Oscar 2017, La La Land Moonlight!
Tu desafío es imprimir el texto
La La Landpausa un segundo, luego cambia el texto para mostrar
El texto original (La La Land) debe tener un tachado . Esto se puede lograr despejando la pantalla, dibujando sobre el texto original o mediante cualquier otra solución inteligente.La La LandMoonlight
Este es un código de golf, por lo que gana los bytes más bajos. Aplican reglas estándar de código de golf.
code-golf
string
kolmogorov-complexity
animation
vikarjramun
fuente
fuente
La La La(nd)
patrónRespuestas:
Jalea , 31 bytes
Probado con xterm y
LANG=en_US
. No funciona en TIO por varias razones.Hexdump
Verificación
Antecedentes
Esta respuesta hace uso de caracteres de control y secuencias de escape ANSI .
0d
(<CR>
) se utiliza para volver al comienzo del revestimiento después de imprimir La La Land .9b 39 6d
(<CSI> 9 m
) se utiliza para activar el texto tachado antes de imprimir La La Land por segunda vez.9b 6d
(<CSI> m
) se utiliza para restablecer el primer plano y el fondo al modo predeterminado, desactivando así el tachado, antes de imprimir Moonlight .Cómo funciona
fuente
Vim, 37 bytes
Una solución bastante sencilla.
Aquí hay una animación en ejecución:
fuente
gs
duerme un segundoHTML,
153148 bytesUsando animación CSS. Probado solo en Firefox y Chrome.
fuente
@keyframes
declaraciones al final y eliminar las dos llaves de cierre.}
falta alguna de ellas , por lo que desafortunadamente esto no se puede hacer.HTML + JavaScript, 18 + 59 = 77 bytes
Lamentablemente, no parece haber una forma eficiente de reutilizar
O.innerHTML
...fuente
setTimeout('a=O.innerHTML;a=a.strike()+" Moonlight"',1e3)
?a
allí no modificaríaO.innerHTML
.Octava,
8166 bytes15 bytes guardados gracias a @Stewie
Demostración en línea aquí .
Mientras que la demostración muestra dos gráficos separados, cuando se ejecuta en la versión de escritorio de MATLAB, muestra el primer gráfico, espera 1 segundo y luego agrega la segunda cadena al mismo gráfico.
Dado que Octave no tiene soporte para tachar texto, he optado por mostrar el texto dentro de un
axes
objeto en una figura y mostrar un "tachado" al mostrarlo'--------'
sobre el texto inicial (idea inicial de @Stewie). Anteriormente, había planeado unline
objeto para atravesarlo'La La Land'
fuente
text(0,.5,'La La Land');pause(1);text(0,.5,'---------- Moonlight')
.'-'*8+
en lugar de los guiones?.
)Bash,
70, 6966 bytes-4 pts gracias a Riley
echo La La Land;sleep 1;echo -e "\r\e[9mLa La Land\e[0m Moonlight"
Créditos a la respuesta de Sylvain Pineau en AskUbuntu para el tachado
fuente
\r
en el segundo enecho
lugar declear
. Además, no necesita el espacio antes del segundoecho
.clear;
debería ir primero. Y tienes un espacio innecesario adentro; echo
.\e[A
, por lo que noclear
es necesario. Para más información sobre eso, mírame .s="La La Land";echo $s;sleep 1;echo -e "\e[A\e[9m$s\e[0m Moonlight"
echo -n La La Land;sleep 1;echo -e "\r\e[9mLa La Land\e[0mMoonlight"
QBasic, 61 bytes
Usando el modo gráfico, dibuje una línea real a través del texto. Así es como se ve en QB64 :
El código debería explicarse bastante por sí mismo, pero aquí hay una versión sin golf:
fuente
MATL, 46 bytes
Dado que MATL no tiene soporte para códigos de control o formato de texto, esta solución simplemente alterna entre
'La La Land'
y lo'-----------'
más rápido posible para simular texto tachado.Explicación
fuente
Bash + pv , 50 bytes
Esto se basa en la respuesta Bash de @ DigitalTrauma .
♪
representa un retorno de carro ( 0x0d ),›
un byte CSI ( 0x9b ).Hexdump
Verificación
Cómo funciona
printf repite su cadena de formato tantas veces como sea necesario para agotar sus otros argumentos. Como hay una aparición de
%b
y dos argumentos (9m\\0
ym\ Moonlight
), producirá la siguiente secuencia de bytes.Esto hace lo siguiente.
\r
lleva el cursor al inicio de la línea.La La Land
Está impreso textualmente.\x9b9m
activa el texto tachado.\0
establece un marcador de fin de línea parapv -0
.\rLa La Land
hace lo mismo que antes.\x9bm
restablece el primer plano y el fondo al modo predeterminado, desactivando el tachado.Moonlight
Está impreso textualmente.Finalmente,
pv -0L1
imprime una línea terminada en nulo por segundo, introduciendo el retraso deseado.fuente
♪
ayudó a su golf, o específicamente quería usarlo con La La Land? ¡Me gusta!♪
veces es solo una feliz coincidencia.pv
lugar desleep
como todos los demás es hermoso.pv
es lo que tomé de la respuesta Bash vinculada, por lo que realmente no puedo tomar el crédito por eso.HTML + JavaScript, 10 + 63 = 73 bytes
fuente
PHP (
867569 Bytes)Utiliza el carácter UTF-8 U + 0336 para el tachado.
Editar: guardado 17 bytes con las sugerencias que @Titus comentó
fuente
sleep
siempre devuelve 0; así que solo puedes hacersleep(1)?:" ̶L̶a̶ ̶L̶a̶ ̶L̶a̶n̶d̶ Moonlight"
(-3 bytes).\r
en lugar de\033[10D
guardar 6 bytes e incluirlo en la cadena final guarda otros 4.U+0336
para el tachado".La La Land<?=
lugar de<?="La La Land",
guardar otros 3 bytes.Pyth - 47 bytes
¿Lo tachado ahora?
fuente
"
frente para +1.<exmpty line>
? Sugeriría<pre>
etiquetas.C
8786 bytesVersión sin golf:
fuente
char
y*
.f()
en la versión no golfista, ¿no?f()
.HTML + JavaScript, 100 bytes
fuente
GNU sed + sleep,
6358 bytesEditar: guardado 5 bytes, basado en los comentarios de Digital Trauma
Esperar entre dos declaraciones de impresión no se puede hacer usando sed solo, y como tal llamo
sleep 1
. Es posible hacer una llamada al sistema desde sed, usando ele
comando, que es una extensión de GNU.Para crear texto tachado (línea 3) , se agrega una "combinación de superposición de trazo largo", U + 0336 , a cada carácter. Después de eso, muevo el cursor hacia arriba 1 línea, reemplazando efectivamente el texto antiguo al imprimir algo nuevo, utilizando las llamadas secuencias de escape ANSI . El terminal los interpreta como comandos de formateo especiales. Puede encontrar más información sobre ellos aquí .
Explicación:
fuente
\c
, ¡buen descubrimiento! En cuanto a ese Unicode especial, es la primera vez que escucho sobre él, pero funciona de hecho. Cuando se imprime en esta página, se combina con els
separador de comandos:
, por lo que es un poco extraño verlo al principio.Java 7,
207206171139 bytesEstoy haciendo trampa con esta primera respuesta, porque uso unicode tachado .
Explicación:
Java 7 (con AWT),
444429341 bytesTachado 444 sigue siendo 444 regular; (
Dado que la consola Java no tiene ningún marcado como tachado, tendrá que usar Java AWT. Y bueno, si pensabas que Java Console ya era detallada, entonces esto es aún peor (lo sé, lo sé, la mayoría de ustedes ni siquiera podrían imaginar que Java 7 fuera peor ...)
Explicación:
Salida gif:
fuente
String[] a
y usarlo en1e3
lugar de1000
1e3
, eso es un doble, yThread.sleep
espera un largo.1000
es más corto que(long)1e3
. :)Swing
, noSpring
, ¿verdad? ¡Casi tuve un ataque al corazón! Spring in a codegolf ... Además, para guardar bytes, puede usar AWT en lugar de Swing.void m(){new Frame(){public void paint(Graphics g){g.drawString("La La Land",99,99);try{Thread.sleep(1000);}catch(Exception e){}AttributedString s=new AttributedString("La La Land Moonlight");s.addAttribute(java.awt.font.TextAttribute.STRIKETHROUGH,1>0,0,10);g.drawString(s.getIterator(),99,99);}}.show();}
Python 3, 90 bytes
Use Unicode (U + 0336) para tachar, porque el terminal macOS no admite ese
\e[9m
comando.fuente
Arduino,
332331 bytesNo compite, solo por diversión.
Lista de materiales:
fuente
#include
Python3, 99 bytes
fuente
l = 'La La Land
, ¿no podrías evitar los+s
caracteres -2? .Bash + pv, 62
fuente
SmileBASIC, 45 bytes
Un byte menos gracias al truco de período mágico de 12Me21.
Por lo que sé, SB no tiene caracteres tachados, así que usé en su
GLINE
lugar. Obviamente asume una pantalla clara, úselaACLS
si es necesario.fuente
AHK, 102 bytes
Hice un poco de trampa para obtener texto tachado mediante el uso del carácter unicode de superposición de trazo largo combinado . Esto puede crear una apariencia extraña dependiendo de su configuración. El bloc de notas le da una buena apariencia.
AutoHotkey claramente no es el lenguaje más eficiente para esto, pero fue un desafío divertido. Tenga cuidado donde lo ejecute porque no crea su propia pantalla y borra todo el texto de cualquier ventana que esté activa.
fuente
Swift, 392 bytes
¡Swift + UIKit realmente no es ideal para jugar al golf! Ejecute esto en un patio de juegos XCode y el resultado se mostrará en el panel de vista previa.
fuente
l.textColor=UIColor.red
necesario?Jalea , 41 bytes
No funciona en intérprete en línea.
fuente
Python (137 bytes)
fuente
import
. También sugeriría guardar "La La Land" como una variable.TI-BASIC,
5753 bytesTenga en cuenta que esto utiliza la capacidad TI-84 + CE con el sistema operativo más nuevo para pausar durante 1 segundo. Esto devolverá un error de sintaxis en la TI-84 +. Para las pruebas, puede omitir la pausa de 1 segundo eliminando esa línea. También recuerde presionar Zoom, 6 primero para que esté en la configuración predeterminada de la ventana, de lo contrario el comando de línea no funcionará.
fuente
SpecBAS - 58 bytes
Cada carácter tiene 8x8 píxeles, por lo que dibuja una línea de 0,4 a la posición relativa 80,4 (80 agregado a la primera coordenada y 0 a la segunda para que permanezca en la misma línea).
fuente
ACEITE , 76 bytes
Reemplace el
⎋
con un carácter de escape y↩︎
con un retorno de carro. OIL carece de cualquier tipo de comando de suspensión, así que lo emulo usando un bucle que cuenta desde 89999 a 1. Toma aproximadamente un segundo en mi computadora, pero puede que no en la tuya.El intérprete ignora las primeras 3 líneas, luego imprime (
4
) la segunda línea (línea 1; "La La Land"). La siguiente estructura es el ciclo que disminuye el gran número al final hasta que sea igual a 1. Al final, solo imprimo las primeras 3 líneas.fuente
PHP, no compitiendo (64 bytes)
usa UTF-8:
--
significaU+0336
, pero estoy bastante seguro de que no funciona solo.Si no es así, intente
~"1I"
o en~I1
lugar de--
(+3 o +1 bytes).No hay tiempo para almacenarlo en un archivo o descubrir cómo configurar mi consola para UTF-8; así que no pude probar ninguno de estos; pero quien pueda: por favor avíseme si esto es BS completo o no.
fuente
Powershell, 63 bytes
Funciona solo en PowerShell ISE. No compite, ya que el tachado es cambiado por un personaje y no puedo solucionarlo.
fuente