Sua tarefa é escrever um programa que faça com que sua tela pareça ter um pixel ruim.
Você deve escolher exatamente um pixel na tela e exatamente um canal entre vermelho, verde e azul e tornar seu valor sempre 0 ou sempre máximo (geralmente 255). Os valores de outros canais devem ser os mesmos, como se o seu programa não fosse executado.
Você pode escolher o pixel e o canal de qualquer maneira, como codificá-lo ou gerá-lo aleatoriamente em cada execução. Mas sempre deve estar visível em hardwares bastante modernos.
Se a cor que originalmente deveria ser exibida naquele pixel mudou, seu programa deve ser atualizado em menos de 0,5 segundos quando o sistema for rápido o suficiente.
Você não pode fazer suposições sobre o que é exibido atualmente na tela (como uma barra de tarefas usando o tema padrão).
Seu programa não precisa funcionar quando um protetor de tela, tela de login, efeito de um gerenciador de janelas etc. está ativo.
O menor código vence.
fonte
Respostas:
Bash no Linux - 25 bytes de Latin-1
+3 de @wyldstallyns / -2 de remover aspas / -1 porque eu esqueci como isso funciona / -9 de @Dennis
Assume que / dev / fb0 existe (existe no meu sistema Arch Linux e acho que deveria existir em qualquer outro sistema Linux). Requer acesso root também. Isso não funciona para mim quando o X está sendo executado. No meu sistema, isso apenas define constantemente o canal azul do pixel superior esquerdo (
ÿ
é 255).fonte
printf ÿ>/dev/fb0;exec $0
salva alguns bytes.yes
abordagem não funciona./dev/fb0
precisa ser reaberto depois de gravar um canal de pixel.Visual C ++,
1021009998 bytesÉ executado no Windows, usando diretamente a API Win32 com o compilador Visual C ++, visando o subsistema do console. Usa o contexto do dispositivo "tela" para definir o canal vermelho do pixel em (9,9) para
0xFF
.O sono é necessário para permitir que outros programas entrem entre o get / set - e 9ms era muito curto, levando o pixel a ficar preso 1 em sua cor inicial.
1 Infelizmente, não é exatamente o mesmo tipo de pixel preso que esta pergunta está procurando ...
fonte
HolyC, 13 bytes
Coloca diretamente um ponto preto na camada persistente.
O que isso parece.
fonte
C #,
247244371366354352 bytesExecuta no Windows. Obtém um contexto de dispositivo para a tela inteira e maximiza repetidamente o canal vermelho em (9,9).
Originalmente, não queria importar
GetPixel
/SetPixel
, mas não há uma maneira particularmente fácil de ler um único pixel de umaGraphic
. Então, neste momento, é efetivamente o mesmo que minha tentativa de VC ++ . Talvez salvar no bitmap seja mais curto ...-5 bytes graças a @TuukkaX
fonte
SetPixel
.9ms
em vez de99ms
0x1FFFFFFF
iterações em um loop ocupado, em vez de dormir, mas isso teria que ser ajustado para que cada máquina permanecesse dentro do limite de 0,5s.SmileBASIC, 20 bytes
Atualiza constantemente.
Define o sprite
0
para uma área1
x1
em299
,99
na folha de sprite (que é um pixel vermelho).33
é o atributo de exibição, que é1
(exibição em) +32
(mistura aditiva).fonte
Java 7, 266 bytes
Eu executei isso no Windows 7. Abre um Java Applet que possui um fundo branco por padrão. Adiciona um rótulo com um ponto final e depois muda a cor do rótulo ad nauseum.
fonte
Tcl / Tk, 61
Na imagem, há um pixel preto perto do canto superior esquerdo do ícone Vivaldi:
Se em um shell interativo, há abreviações de comandos disponíveis:
Tcl / Tk, 57
Há um pixel preto sobre a área branca V do ícone Vivaldi:
fonte