Su tarea es simple: escriba un programa que reemplace los píxeles aleatorios en un rectángulo negro de 16px * 8px (ancho por alto) con un píxel blanco.
Los agujeros deben ser uniformemente aleatorios, y debe generar la imagen de 16 px por 8 px con los píxeles blancos insertados.
Reemplace solo 1 píxel por columna (16 píxeles reemplazados en total)
No toma ninguna entrada, y no puede confiar en que la imagen se almacene en otra parte de la computadora.
Este es el código de golf, por lo que gana el programa con el bytecount más corto.
code-golf
graphical-output
random
GracefulLemming
fuente
fuente
Respuestas:
MATL ,
151413 bytesEjemplo (con el compilador MATL ejecutándose en MATLAB):
¡O pruébalo en MATL Online! (Si no se ejecuta la primera vez, presione "Ejecutar" nuevamente o actualice la página). Tenga en cuenta que el intérprete en línea escala la imagen para una mejor visualización.
Este es un puerto de mi respuesta Octave / MATLAB (vea la explicación allí). Aquí están las declaraciones equivalentes:
fuente
Pyth -
1615 bytesEmite imagen a
o.png
.Imagen de ejemplo:
fuente
Octava / MATLAB,
483735 bytesEjemplo (en octava):
Explicación
fuente
C,
85100bytesEscribe un archivo de imagen PGM en stdout (llámalo con
prog >out.pgm
).Ungolfed y explicó:
Actualizaciones:
srand(time(0))
(:(
)fuente
Procesamiento,
7473 bytesSalida de muestra:
Explicación
fuente
Ruby, 61 bytes
Este es un programa completo que genera la imagen en formato netpbm en stdout.
Salida de muestra:
fuente
Befunge, 90 bytes
Esto genera un archivo PBM escrito en stdout.
Pruébalo en línea!
Explicación
Las tres líneas superiores conforman el generador de números aleatorios, almacenando 16 números aleatorios de 3 bits (es decir, en el rango 0-7) en la décima línea del campo de juego. La línea cuatro escribe el encabezado PBM, y la última línea genera los píxeles de la imagen. Esto se hace contando los 16 números aleatorios a medida que se emiten los píxeles: cuando el número correspondiente a una columna en particular llega a cero, se genera un 1 en lugar de un 0.
Salida de muestra (ampliada):
fuente
Mathematica,
7760 bytesSalida de muestra
Explicación
Haga reglas de reemplazo para cada columna; reemplazar una posición seleccionada al azar con 1.
Cree un
SparseArray
tamaño 8x16 a partir de las reglas de reemplazo. El fondo es0
por defecto. (8x16 porque Mathematica cuenta las filas primero)Convierta el
SparseArray
en unImage
objeto.Versión de 77 bytes
fuente
HTML + JavaScript, 148 bytes
fuente
R, 76 bytes
Utiliza el paquete
png
para enviar a un archivo.Salida de ejemplo:
fuente
QBasic, 59 bytes
Muy claro. Se
-.5
necesita porquePSET
con argumentos no enteros se usa redondear al más cercano en lugar de piso o truncar (y-.5
es más corto queINT()
).La imagen en cuestión se muestra en la esquina superior izquierda de la ventana de salida. Un ejemplo (recortado):
fuente
Java, ( ¿Importa Bytes, AKA 244 + 18 importación = 262)
Era inestable porque el sistema de coordenadas incluye el panel de la ventana del marco ... Por lo tanto, debe almacenar al menos 26 bytes o no aparece nada, de ahí el
x=50
bit.fuente
import java.awt.*;v->{new Frame(){public void paint(Graphics g){int x=50,i=16,y;g.setColor(Color.BLACK);g.fillRect(x,x,i,8);for(g.setColor(Color.WHITE);i>0;g.drawLine(x+i,x+y,x+i--,x+y),setVisible(1>0))y=(int)(Math.random()*8);}}.show();}
(Cambios realizados: estático eliminado; Java 8 lambda; algunosint
eliminados;i=16
reutilizados; poner cosas dentro del bucle for para eliminar los corchetes y;
)Posdata (65 bytes)
Versión sin golf:
fuente
SmileBASIC, 30 bytes
fuente
Chip-8, 12 bytes
Dibuja la imagen en la pantalla.
fuente
Tcl / Tk, 163
Dos enfoques diferentes representan la misma extensión de byte:
fuente
VBA Excel,
86105 bytesusando la ventana inmediata
fuente
Cells.RowHeight=42:[A1:P8].Interior.Color=0:For x=0To 15:[A1].Offset(Rnd*7,x).Interior.Color=-1:Next
-1
lugar devbWhite
- explicación completa de por qué aquí )