Sua tarefa é simples: escreva um programa que substitua pixels aleatórios em um retângulo preto de 16px * 8px (largura por altura) por um pixel branco.
Os furos devem ser uniformemente aleatórios e você deve gerar a imagem de 16 x 8 px com os pixels brancos inseridos.
Substitua apenas 1 pixel por coluna (total de 16 pixels substituídos)
Você não recebe nenhuma entrada e não pode confiar na imagem sendo armazenada em outro lugar no computador.
Isso é código-golfe, e o programa com o menor número de vitórias ganha!
code-golf
graphical-output
random
GracefulLemming
fonte
fonte
Respostas:
MATL ,
151413 bytesExemplo (com o compilador MATL em execução no MATLAB):
Ou tente no MATL Online! (Se não for executado pela primeira vez, pressione "Executar" novamente ou atualize a página). Observe que a imagem é dimensionada pelo intérprete on-line para melhor visualização.
Esta é uma porta da minha resposta Octave / MATLAB (veja a explicação lá). Aqui estão as instruções equivalentes:
fonte
Pitão -
1615 bytesEnvia a imagem para
o.png
.Imagem de exemplo:
fonte
Oitava / MATLAB,
483735 bytesExemplo (na oitava):
Explicação
fonte
C,
85100 bytesGrava um arquivo de imagem PGM no stdout (chame-o com
prog >out.pgm
).Ungolfed e explicou:
Atualizações:
srand(time(0))
(:(
)fonte
Processando,
7473 bytesSaída de amostra:
Explicação
fonte
Ruby, 61 bytes
Este é um programa completo que exibe a imagem no formato netpbm para stdout.
Saída de amostra:
fonte
Befunge, 90 bytes
Isso gera um arquivo PBM gravado no stdout.
Experimente online!
Explicação
As três linhas superiores formam o gerador de números aleatórios, armazenando 16 números aleatórios de 3 bits (ou seja, no intervalo de 0 a 7) na décima linha do campo de jogo. A linha quatro grava o cabeçalho do PBM e a última linha gera os pixels da imagem. Isso é feito contando os 16 números aleatórios à medida que os pixels são gerados - quando o número correspondente a uma coluna específica chega a zero, produzimos 1 e não 0.
Saída de amostra (ampliada):
fonte
Mathematica,
7760 bytesSaída de amostra
Explicação
Faça regras de substituição para cada coluna; substitua uma posição selecionada aleatoriamente por 1.
Crie um
SparseArray
tamanho 8x16 a partir das regras de substituição. O plano de fundo é0
por padrão. (8x16 porque o Mathematica conta primeiro as linhas)Converta o
SparseArray
em umImage
objeto.Versão de 77 bytes
fonte
HTML + JavaScript, 148 bytes
fonte
R, 76 bytes
Usa o pacote
png
para gerar um arquivo.Exemplo de saída:
fonte
QBasic, 59 bytes
Bem direto. Isso
-.5
é necessário porque,PSET
com argumentos que não são inteiros, o valor é arredondado para o mais próximo, em vez de mínimo ou truncado (e-.5
é menor queINT()
).A imagem em questão é exibida no canto superior esquerdo da janela de saída. Um exemplo (recortado):
fonte
Java, ( Importa mesmo bytes, AKA 244 + 18 import = 262)
Era instável porque o sistema de coordenadas inclui o painel da janela do quadro ... Portanto, você precisa armazenar em buffer pelo menos 26 bytes ou nada aparece, daí o
x=50
bit.fonte
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();}
(Alterações feitas: estática removida; Java 8 lambda; algunsint
s removidos;i=16
reutilizados; colocar coisas dentro do loop for para remover colchetes e;
)Postscript (65 bytes)
Versão não destruída:
fonte
SmileBASIC, 30 bytes
fonte
Chip-8, 12 bytes
Desenha a imagem na tela.
fonte
Tcl / Tk, 163
Duas abordagens diferentes são processadas na mesma extensão de bytes:
fonte
Excel VBA,
86105 bytesusando janela imediata
fonte
Cells.RowHeight=42:[A1:P8].Interior.Color=0:For x=0To 15:[A1].Offset(Rnd*7,x).Interior.Color=-1:Next
-1
em vez devbWhite
- completa explicação de por aqui )