Hoy es el 8 de noviembre de 2016, Día de las Elecciones en los Estados Unidos de América.
Si usted es ciudadano estadounidense elegible para votar, salga y vote si aún no lo ha hecho antes de responder a este desafío. No discuta por quién votó. Solo importa que hayas votado.
Si no es ciudadano de los EE. UU. O no es elegible para votar, antes de responder a este desafío, haga un favor a los EE. UU. Diciéndole a cualquier persona que conozca quién es ciudadano elegible que salga a votar si aún no lo ha hecho.
Desafío
Escriba un programa que indique que votó, como una calcomanía digital de "Voté" .
Se debe tomar ninguna salida y entrada de necesidad en una forma razonable la frase I Voted
donde el I
, o
y e
son de color rojo ( #FF0000
) y el V
, t
y d
son de color azul ( #0000FF
). El fondo debe ser blanco ( #FFFFFF
).
Por ejemplo:
Estos colores son, por supuesto, representativos de la bandera estadounidense (aunque no son los colores oficiales ). El rojo viene primero simplemente porque viene primero en el idioma común "rojo blanco y azul".
Para ser válido, una respuesta debe:
Use los colores especificados en el arreglo especificado.
Use una sola fuente legible y tamaño de fuente. El ejemplo usa 72pt Times New Roman bold pero cualquier fuente común por encima de 6pt probablemente esté bien.
Tenga solo la frase
I Voted
en una sola línea , en mayúscula correctamente, con un espacio claro entre las dos palabras. No debería verse asíIVoted
.No indicar por quién votó el defensor o por quién apoya al presidente o cualquier carrera electoral. No empecemos ningún debate en internet. Se trata de celebrar la votación, no los candidatos.
Cualquier forma razonable de mostrar o producir la salida es válida, como:
Dibujar el texto en una imagen que luego se muestra, se guarda o se imprime sin formato.
Escribir el texto en una consola con formato de color . En este caso, puede aproximarse al rojo puro y al azul si es necesario, y está bien si solo el área directamente detrás del texto se puede hacer blanca.
Mostrar el texto en un formulario WPF / Windows.
Salida de un archivo HTML / RTF / PDF con el texto.
Por favor, publique una imagen de su salida.
La respuesta más corta en bytes gana.
fuente
Respuestas:
Chat de Minecraft (cliente vanilla 1.10, servidor spigot 1.10): 19 bytes
o desde el lado del cliente:
Minecraft utiliza un sistema de codificación de colores con estos colores programados.
Cuidado con las reglas:
Todos estos son verdaderos, como:
el rojo y el azul SON aproximaciones (aunque aún muy similares).
El fondo en el chat de Minecraft es transparente, lo que significa que es posible poner esto sobre un fondo blanco. (como un mundo vacío)
fuente
&
s debería ser§
sC,
8280787454 bytes¡Gracias a @WillihamTotland y @criptych por guardar 2 bytes cada uno!
Donde los ␛s representan 0x1B bytes (tecla de escape). Como este código contiene caracteres de control no imprimibles, aquí hay un hexdump reversible:
Salida en mi teléfono:
fuente
a
como"\x1B[%dm"
, que es una secuencia de escape ANSI para colorear, con un marcador de posición. Los números enprintf()
llenar esos marcadores de posición."\x1B[47;31m"
y definiendo b a"\x1B[34m"
, luego se usaputs
con alternanciaa
yb
prefijos.\33
. No está seguro de lo que piensa el estándar de C que ...Google Blockly ,
1014 bloques,284135 blytesCódigo
Salida
Pruébalo aquí
Sin contar el
hide turtle
bloque porque es solo estética.Un blyte es una combinación de un bloque y un byte, todavía no hay meta publicación como cómo contar esto, pero crearé uno más tarde. Por ahora, así es como cuento:
I o e
8 blytesV t d
, 10 blytes (2 espacios principales aquí)Dado que Google Blockly rara vez se usa para jugar al golf y estoy pensando fuera de la caja para este desafío, espero que sea una presentación válida.
fuente
I o
con dos espacios em?Inspect Element
ejecutar el código en Blockly API para obtener el código JavaScript real.HTML, 52 bytes
fuente
#FF0000
->#F00
y#0000FF
->#00F
funciona<r>I <c>V<r>o<c>t<r>e<c>d<style>r{color:red}c{color:blue
funcionaI <c>V<e>o<c>t<e>e<c>d<style>*{color:red}c{color:0ff
y notar el cambio a azul0ff
c{color:blue}
versión.LaTeX,
147126bytesAhorré 21 bytes y obtuve un mejor interletraje gracias a @ AndreïKostyrka.
Esto imprime una página a4 con esto en la primera línea (tenga en cuenta que esto también imprime la página 1 en la parte inferior):
fuente
Vo
kerning más bonito ... Pero aparentemente considera cada letra por separado debido a los colores.\documentclass{proc}\input color\begin{document}\def\z{\color{red}}\def\y{\color{blue}}\z I \y V\z o\y t\z e\y d\end{document}
ahorra 21 bytes y da como resultado 126 bytes de pura belleza tipográfica.Lote de Windows 10,
5150 bytesDonde ␛ representa el carácter ANSI Escape 0x1B. Salidas con formato de color. Editar: Guardado 1 byte gracias a @ brianush1. Intenté escribir el código para generar esto, pero tomó 97 bytes. Salida:
fuente
@color fc&echo I
...JavaScript, 71 bytes
Hace uso de
console.log
la capacidad de imprimir en color. No funciona en un fragmento de pila, por lo que debe pegar esta respuesta en la consola para probarla.Créditos de imagen a @Mast
fuente
console.log([...' I Voted'].join`%c`,r='color:red',r,b='color:blue',r,b,r,b)
R,
113 85 81 74 7355 bytesEditar: guardado un montón de bytes gracias a @rturnbull y @JDL
El tamaño de la salida (y el espacio, etc.) depende de la resolución del dispositivo gráfico abierto actualmente. Probado en RGui y RStudio en mi monitor y produce:
fuente
el()
antes. Gracias por ayudarme a aprender más R! Dado quetext
se vectorizado, se puede omitir el bucle de y acaba de escribir:text(seq(.3,.6,.05),.5,s,col=c("red","blue"))
. (Modifiqué tus posiciones x para el código de golfista, aunque el espacio puede ser un poco menos ordenado)co=
lugar decol=
. Y finalmente,6:12*.05
es varios bytes más corto queseq(.3,.6,.05)
.6:12/20
por supuesto, es 1 byte más corto que6:12*.05
, disculpas por desviarlo y sugerir ediciones subóptimas.el()
mejora el 99% de todas lasstrsplit
respuestas anteriores en 1 byte.LÖVE ,
152 142136 bytes¡Enseñemos algo de amor para un pequeño y divertido lenguaje de creación de prototipos! No es perfecto para la tarea de jugar golf (vamos, está basado en LUA), pero es fácil de escribir.
Captura de pantalla:
Versión totalmente sin golf:
fuente
love.draw()
es una función incorporada que anula, que se ejecuta en el paso de dibujar. También hay cosas comolove.update()
ylove.load()
para varias partes del bucle de renderizado, pero son opcionales. Es un lenguaje agradable, y puedes comenzar a usarlo muy fácilmente . A veces lo uso para crear prototipos de ideas de juegos.Procesador de sopa caliente , 48 bytes
La versión sin golf es:
Si tiene en cuenta que
mes
(mensaje) es HSPecho
, creo que esto es bastante legible.Extrañamente, si intenta hacer
pos
opos,
, la línea azul no sobrescribe la línea roja y aparece debajo de ella. Aún más extraño,color
solo está destinado a tomar valores0-255
, pero0,0,-1
funciona para el azul,0,-1,0
funciona para el verde y-1,0,0
funciona para ... ¿el negro? (-257,0,0
y511,0,0
funciona para el rojo, así que hay algo raro en el mod 256)fuente
mes
sobrescriben al primero?MATLAB, 74 bytes
Creamos un fondo blanco de 50x50 (una columna para cada estado) usando
imshow
una matriz deones
. Luego mostramos un texto, usando mi truco de acortar nombres de propiedades para obtener los colores. Como la fuente predeterminada no tiene un ancho fijo, el texto se rellena con espacios.MATLAB, 99 bytes, fuente de ancho fijo
La primera versión utiliza el violín con espacios y coordenadas para obtener un interletraje adecuado en la fuente predeterminada y es posible que no se muestre correctamente en su computadora. En cambio, podemos usar una fuente de ancho fijo, como
Courier
(o, para algunos bytes más,FixedWidth
que funciona en cualquier sistema que tenga instalada una fuente de ancho fijo). Esto tiene el costo de unos pocos bytes adicionales. Podemos mitigar esto ligeramente usando unfor
bucle para imprimir el texto. El texto y los colores correspondientes se almacenan en una matriz de celdas. El fondo debe ser un poco más grande.Matlab, edición adicional de 80 bytes
Lamentablemente, el texto azul subrayado no está permitido. De lo contrario, esta respuesta habría destacado un comportamiento interesante en MATLAB. Puede imprimir texto rojo con
fprintf(2,txt)
, y puede imprimir texto subrayado azul confprintf('<a href="">txt</a>')
. Combinar esto funciona ... a veces. Completamente al azar , también puede crear texto subrayado en rojo. Puede emitirdrawnow
entref
llamadas consecutivas si este es el caso en su sistema.fuente
<a href>
lugar de<a href="">
. Si no te gusta, puedes usarlo<a href=#>
.<a>
no funcionó<a>
no se considera un enlace en el que se puede hacer clic. para obtener su color azul, debe considerarse como uno. En CSS, el selector puede sera[href]
. Mientras el atributohref
esté allí, es un enlace en el que se puede hacer clic. Es por eso que usar solo<a>
no funcionará.ImageMagick, 102 bytes
Sin golf:
Jugar al golf con el comando ImageMagick completo consistía en
no llama explícitamente a la
convert
utilidad predeterminadausar en
xc:
lugar decanvas:
(xc:
es un antiguo sinónimo decanvas:
; no preveo que ImageMagick lo elimine nunca)no especifica el color del lienzo pero depende del valor predeterminado de ImageMagick, que resulta ser blanco
eliminar el ancho
60
de la geometría (cuando se omite, ancho == alto)la eliminación de la "!" de la geometría que solo se necesita para producir un lienzo no cuadrado, como
canvas:white[60x30!]
utilizando el anterior en
x:
lugar deshow:
como el archivo de salida (se supone que ImageMagick se creó conX
soporte)eliminando algunos espacios en blanco que había usado para alinear las cadenas de texto
unir las múltiples líneas del comando (eliminó la barra diagonal inversa-CR entre líneas)
Si está tan interesado después de la elección, agregue 12 bytes
-rotate 180
antes de lashow:
directiva:fuente
Bash, 35 bytes
Mi guión se ve así
xxd del archivo de script:
Escribiéndolo: ctrl-v-esc y ctrl-vh insertarán los escapes y los espacios de retroceso (^ [y ^ H).
fuente
Mathematica (salida de imagen REPL),
6549 bytesExpresión gráfica REPL.
fuente
Overlay@{"I o e"~Style~Red," V t d"~Style~Blue}
(se supone que hay dos espacios entre I y O y antes de V)Java,
322319318309304229217 bytes-9 Bytes gracias a Kevin.
-75 Bytes gracias a Angzuril, agradable llamada en las viejas clases awt, siempre olvida que existen.
-12 Bytes gracias al usuario 902383.
Salida:
fuente
JFrame j=
se puede jugar al golfFrame j=
;(c==' '||i++%2==0)?
se puede jugar al golfc<33|i++%2<1?
ytrue
se puede jugar al golf1>0
. Además, @HelkaHomba, ¿es esta una salida válida? Ya que también tiene espacios entre elV o t e d
? Ah, y porque0,0,999,99
?0,0,99,99
es lo suficientemente grande para el texto en mi pantalla.(c<33||i++%2<1)?
puede seguir jugando golf en tres bytes quitando el paréntesis y cambiando||
a|
new JComponent
anew Container
(-1); eliminarchar c="IVoted".charAt(i);
y cambiarg.drawString(c+""
ag.drawString("IVoted".charAt(i)+""
(-8).Frame j=new JFrame();j.add(new JComponent()
aFrame j=new Frame();j.add(new Container()
y también se puede bajar la importaciónimport javax.swing.*;
yg.setColor(Color.WHITE);g.fillRect(0,0,99,99)
como resultado (-63)void n(){new Frame(){{add(new Panel(){public void paint(Graphics g){int i=0;for(String c:"IVoted".split("")){g.setColor(i%2<1?Color.RED:Color.BLUE);g.drawString(c,i++*8,10);}}});setVisible(0<1);}};}
le permite reducir en 12 bytesChicle, 28 bytes
No funciona en línea, ya que utiliza códigos de color ANSI para colorear.
fuente
PowerShell v2 +,
71595755 bytesAhorré dos bytes gracias a @flashbang ... guardé dos más gracias a @ConnorLSW
Lo toma
"I Voted"
y lo convierte en unachar
matriz, luego realiza un bucle|%{...}
. Cada letra, la ejecutamosWrite-Host
con el-b
color de fondo aWhite
,-n
oNewLine, y el-f
color de fondo para que sea el índice apropiado . Esto aprovecha el hecho de que los valores ASCII impares son rojos, mientras que los valores ASCII pares son azules a través$_%2
del índice.Los colores de la consola en PowerShell son muy limitados, por lo que esta es la aproximación más cercana que podría obtener. Sería más golfista usar
4
(DarkRed
) para el rojo, pero no se ve bien, así que estoy sacrificando un par de bytes en aras de la precisión del color.A continuación se muestra la salida, seguida de los 16 colores disponibles que la consola puede mostrar. Tenga en cuenta que el fondo no es realmente blanco, ya que Microsoft, en su sabiduría, optó por tener los colores de fondo muy ligeramente apagados de los colores de primer plano.
fuente
Python, 91 bytes +
termcolor
No voy a ganar, pero lo publiqué por diversión.
La mitad del crédito va a Sp3000.
fuente
'blue' if c else 'red'
a'brleude'[c^1::2]
.from termcolor import*\nfor c in'I Voted':cprint(c,'brleude'[ord(c)%2::2],'on_white',end='')
Jolf, 53 bytes
Hay no imprimibles. Pruébalo aquí!
La salida de Jolf es compatible con HTML. Intenté hacer algo inteligente como el módulo 2 para decidir el color, pero eso solo terminó más tiempo (alrededor de 69 bytes). Entonces, la salida está en HTML.
Salida:
(versión más grande)
fuente
blue
puede escribir como00f
?Python,
9987 bytesPruébalo en línea
fuente
sh,
6149 bytesDebido a que contiene elementos no imprimibles, aquí hay un hexdump xxd reversible:
Xterm (322)
Gracias a 4198 (manatwork) por -12 bytes.
fuente
[47;31;1m
. Y1
para negrita persiste hasta a0
, por lo que no es necesario configurarlo una y otra vez para cada letra.sh
es nada más moderno que el viejo shell Bourne, una cierta expansión parámetro puede ayudar:s=":1;47;1mI :4mV:1mo:4mt:1me:4md";echo ${s//:/^[[3}
.${VAR/FROM/TO}
requiere ksh93, bash o zsh, no solo "algo más moderno que el viejo shell Bourne". POSIX requiere los modificadores de expansión de parámetros#
y%
pero no/…/
o:…:
SVG +
bzip2
, 1807 bytesUna versión vectorizada de la imagen de ejemplo, luego comprimida con bzip2 a aproximadamente la mitad (4385 -> 1807 bytes). Puedes descargarlo aquí . (enlace directo a las páginas de GitHub)
No voy a ganar, pero lo publiqué por diversión.
fuente
bzip2
No es un lenguaje de programación.xxd
archivo reversible del archivo<svg xmlns="http://www.w3.org/2000/svg"><text fill="blue"><tspan fill="red">I</tspan> V<tspan fill="red">o</tspan>t<tspan fill="red">e</tspan>d</text></svg>
tenga en cuenta que esto realmente lo hace fuera del área imprimible y no tiene color de fondo. Como dije, es solo un comienzo.C, 65 bytes
o, más exactamente:
Utiliza la misma técnica de color bash utilizada por betseg, pero con la secuencia de escape octal en lugar de hexadecimal, y con la observación de Sp3000 de que todos los puntos de código impares son rojos.
Deja la terminal en azul. Restablecer con:
fuente
||
funciona en C como lo hace en JavaScript (x||y -> x?x:y
), puede hacerc&1||4
para guardar un byte.||
y&&
son un cortocircuito, que siempre devuelven 1 ó 0, independientemente de los valores involucrados.\33
guardar dos bytes, si eso no está en contra de las reglas de alguna manera.Nodo,
575541 bytesReemplace cada uno
q
con el byte literal1B
yH
con el byte08
antes de ejecutarlo.Así es como se ve en el emulador de terminal ConEmu en mi computadora con Windows (zoom):
fuente
Python IDLE,
97967869 bytes¡Gracias a DrMcMoylex por eliminar algunos bytes!
EDITAR: descubrí que un directo
.write()
era 9 bytes más cortoNo es realmente una respuesta adecuada, más abuso de un tema estándar. IDLE es el IDE de Python y, a menos que esté personalizado,
STDOUT
es azul,STDERR
es rojo y el fondo es blanco. Entonces, el siguiente código:Imprime esto:
Esto funciona porque
ord(i)%2
comprueba la paridad del punto de código de la letra y la imprime enERR
/ enOUT
consecuencia.fuente
REBOL ,
1009095 bytes (-7 bytes con REPL para 88)En REPL, no se requiere el REBOL inicial [] . Eso son 7 bytes.
La versión sin golf es:
A la izquierda, con "espacio 0x0" agregado a cada bloque de texto, a la derecha, con el relleno 2x2 predeterminado.
(fuente: canardpc.com )
fuente
Perl, 57 + 17 = 74 bytes
Corre con
-MTerm::ANSIColor
Su terminal puede ser azul al final (agregue
,c("reset")
al final del código para restaurarlo a la normalidad).Por defecto, los terminales suelen ser de fondo negro, pero opcionalmente se pueden cambiar a blanco, lo que personalmente no creo que sea trampa.
Con foto:
fuente
PHP,
199201151 bytesEste script muestra la imagen a la salida estándar. Actualizado gracias a manatwork
Ejecútelo en la línea de comando así:
Salida:
fuente
header()
llamada. Su código también funciona bien desde la línea de comandos. Comoerror_reporting
el valor predeterminado no muestra avisos, generalmente es aceptable no citar los literales de cadena. O si no te gusta,str_split("I Voted")
sigue siendo más corto que enumerar los caracteres por separado. Y mueva la asignación a $ i para su primer uso.~2**24
parece funcionar en lugar de0xFFFFFF
. No estoy seguro si esto es válido para todas las arquitecturas. Si no,2**24-1
debe ser portátil.~2**24
y2**24-1
obtuve errores. Ni siquiera sé cómo funcionan esos.pow()
, pero más práctico para jugar al golf. pastebin.com/jFn6ahFkXamarin.Forms C #,
317313 bytesVerticalOptions=LayoutOptions.End
es necesario para iOS, de lo contrario, el texto se superpondrá con la barra de estado. No hay problema en Android, por lo que puede guardar 34 bytes, incluida la coma.Editar: 2016-11-14: -4 bytes
Sin golf
fuente
Código de máquina x86 + DOS + BIOS, 25 bytes
Hexdump:
Código de ensamblaje (adecuado como entrada para
debug.com
, por lo que todos los números son hexadecimales):Utiliza una rutina de BIOS para enviar la cadena a la memoria de la pantalla. La cadena aparecerá en una posición "aleatoria" en la pantalla (ver más abajo), así:
La cadena contiene las letras
I V o t e d
, intercaladas con "atributos"que especifican el color de las letras. Aquí 7 como el dígito más significativo significa "fondo blanco", y el dígito menos significativo especifica el primer plano (1 = azul; 4 = rojo).
La posición de visualización de la cadena está especificada por el
dx
registro. Como se menciona aquí , el valor inicial de este registro es igual al valor delcs
registro. Y el valor de esa es la primera dirección disponible en la memoria, después de cargar DOS.El tamaño de DOS suele ser inferior a 64 K, es decir, la dirección del segmento del programa del usuario cargado es inferior a hexadecimal
1000
. Por lo tanto, la salida aparecerá en algún lugar alrededor de las primeras 16 líneas de texto en la pantalla. En mi ejemplo, apareció en la línea 8 (la mitad superior dedx
, llamadadh
, es igual a 8).La mitad inferior de
dx
, llamadadl
, contiene la columna en la que se emite el texto. Los experimentos muestran que el BIOS no comprueba el desbordamiento, por lo que no importa sidx
solicita resultados, por ejemplo, en la columna 100.fuente