Su tarea es escribir un programa que haga que su pantalla parezca tener un píxel malo.
Debe elegir exactamente un píxel en la pantalla y exactamente un canal entre rojo, verde y azul, y hacer que su valor sea siempre 0 o siempre máximo (generalmente 255). Los valores de otros canales deben ser los mismos que si su programa no se ejecutara.
Puede elegir el píxel y el canal de cualquier forma, como codificarlo o generarlo aleatoriamente en cada ejecución. Pero siempre debe ser visible en hardwares bastante modernos.
Si el color que originalmente debería mostrarse en ese píxel ha cambiado, su programa debería actualizarse en menos de 0.5 segundos cuando el sistema sea lo suficientemente rápido.
No puede hacer suposiciones sobre lo que se muestra actualmente en la pantalla (como una barra de tareas que usa el tema predeterminado).
Su programa no necesita funcionar cuando un protector de pantalla, pantalla de inicio de sesión, efecto de un administrador de ventanas, etc., están activos.
El código más corto gana.
fuente
Respuestas:
Bash en Linux: 25 bytes de Latin-1
+3 de @wyldstallyns / -2 de eliminar comillas / -1 porque olvidé cómo funciona esto / -9 de @Dennis
Asume que / dev / fb0 existe (existe en mi sistema Arch Linux, y creo que debería hacerlo en cualquier otro sistema Linux). Requiere acceso raíz también. Esto no funciona para mí cuando X se está ejecutando. En mi sistema, esto establece constantemente el canal azul del píxel superior izquierdo a lleno (
ÿ
es 255).fuente
printf ÿ>/dev/fb0;exec $0
Guarda algunos bytes.yes
enfoque no funciona./dev/fb0
tiene que reabrirse después de escribir un canal de píxeles.Visual C ++,
1021009998 bytesSe ejecuta en Windows, directamente usando la API Win32 con el compilador de Visual C ++ dirigido al subsistema de la consola. Utiliza el contexto del dispositivo "pantalla" para establecer el canal rojo del píxel en (9,9) en
0xFF
.La suspensión es necesaria para permitir que otros programas dibujen entre get / set, y 9 ms fue demasiado corto, lo que provocó que el píxel se atascara 1 en su color inicial.
1 Desafortunadamente, no es exactamente el mismo tipo de píxel atascado que esta pregunta busca ...
fuente
HolyC, 13 bytes
Pone un punto negro en la capa persistente directamente.
Cómo se ve
fuente
C #,
247244371366354352 bytesSe ejecuta en Windows. Obtiene un contexto de dispositivo para toda la pantalla y maximiza repetidamente el canal rojo en (9,9).
Originalmente no quería importar
GetPixel
/SetPixel
, pero no hay una manera particularmente fácil de leer un solo píxel en unGraphic
. Así que en este momento esto es efectivamente lo mismo que mi intento de VC ++ . Tal vez guardar en mapa de bits será más corto ...-5 bytes gracias a @TuukkaX
fuente
SetPixel
.9ms
lugar de99ms
0x1FFFFFFF
iteraciones en un bucle ocupado en lugar de la suspensión, pero esto tendría que ajustarse para que cada máquina permanezca dentro del límite de 0.5s.SmileBASIC, 20 bytes
Se actualiza constantemente.
Establece sprite
0
en un área1
x1
en299
,99
en la hoja de sprite (que es un píxel rojo).33
es el atributo de visualización, que es1
(visualización activada) +32
(combinación de aditivos).fuente
Java 7, 266 bytes
Ejecuté esto en Windows 7. Abre un Applet Java que tiene un fondo blanco por defecto. Agrega una etiqueta con un punto y luego cambia el color de la etiqueta hasta la náusea.
fuente
Tcl / Tk, 61
En la imagen hay un píxel negro cerca de la esquina superior izquierda del icono de Vivaldi:
Si se encuentra en un shell interactivo, hay abreviaturas de comandos disponibles:
Tcl / Tk, 57
Hay un píxel negro sobre el área blanca V del icono de Vivaldi:
fuente