Votre tâche consiste à écrire un programme qui donne à votre écran un mauvais pixel.
Vous devez choisir exactement un pixel à l'écran et exactement un canal entre le rouge, le vert et le bleu, et attribuer sa valeur toujours à 0 ou toujours à son maximum (généralement 255). Les valeurs des autres canaux doivent être les mêmes que si votre programme ne fonctionnait pas.
Vous pouvez choisir le pixel et le canal de quelque manière que ce soit, comme le coder en dur ou le générer de manière aléatoire à chaque passage. Mais il doit toujours être visible sur des matériels assez modernes.
Si la couleur initialement affichée sur ce pixel a changé, votre programme doit être mis à jour en moins de 0,5 seconde lorsque le système est suffisamment rapide.
Vous ne pouvez pas émettre d'hypothèses sur ce qui est actuellement affiché à l'écran (telle qu'une barre de tâches utilisant le thème par défaut).
Votre programme n'a pas besoin de fonctionner lorsqu'un économiseur d'écran, un écran de connexion, un effet provenant d'un gestionnaire de fenêtres, etc. sont actifs.
Le code le plus court gagne.
la source
Réponses:
Bash sur Linux - 25 octets de latin-1
+3 de @wyldstallyns / -2 de supprimer les guillemets / -1 car j'ai oublié comment cela fonctionne / -9 de @Dennis
Suppose que / dev / fb0 existe (cela existe sur mon système Arch Linux, et je pense que cela devrait être le cas sur tout autre système Linux). Nécessite également un accès root. Cela ne fonctionne pas pour moi lorsque X est en cours d'exécution. Sur mon système, le canal bleu du pixel situé en haut à gauche est paramétré en permanence (
ÿ
255).la source
printf ÿ>/dev/fb0;exec $0
enregistre quelques octets.yes
approche ne fonctionne pas./dev/fb0
doit être rouvert après l'écriture d'un canal de pixel.Visual C ++,
1021009998 octetsFonctionne sous Windows, directement à l'aide de l'API Win32 avec le compilateur Visual C ++ ciblant le sous-système de la console. Utilise le contexte de périphérique "écran" pour définir le canal rouge du pixel à (9,9) sur
0xFF
.La mise en veille est nécessaire pour permettre aux autres programmes d’attirer entre le get / set - et 9 ms était trop court, le pixel se bloquant 1 sur sa couleur initiale.
1 Malheureusement, cette question ne correspond pas au même type de pixel bloqué ...
la source
HolyC, 13 octets
Place un point noir sur le calque persistant directement.
À quoi il ressemble.
la source
C #,
247244371366354352 octetsFonctionne sous Windows. Obtient un contexte de périphérique pour tout l'écran et maximise à plusieurs reprises le canal rouge à (9,9).
Au départ, je ne voulais pas importer
GetPixel
/SetPixel
, mais il n’existe pas de moyen particulièrement facile de lire un pixel sur un fichierGraphic
. Donc, pour l’instant, c’est la même chose que ma tentative de VC ++ . Peut-être que l'enregistrement en bitmap sera plus court ...-5 octets grâce à @TuukkaX
la source
SetPixel
.9ms
plutôt que de99ms
0x1FFFFFFF
itérations dans une boucle occupée au lieu du sommeil, mais cela devrait être réglé pour que chaque machine reste dans la limite de 0,5 s.SmileBASIC, 20 octets
Mises à jour constamment.
Définit l’image-objet
0
sur une zone1
x1
située à299
,99
sur la feuille de l’image-objet (qui est un pixel rouge).33
est l'attribut display, qui est1
(display on) +32
(fusion additive).la source
Java 7, 266 octets
J'ai exécuté ceci sur Windows 7. Ouvre une applet Java qui a un fond blanc par défaut. Ajoute une étiquette avec un point, puis modifie la couleur de l'étiquette ad nauseum.
la source
Tcl / Tk, 61
Sur l'image, il y a un pixel noir près du coin supérieur gauche de l'icône Vivaldi:
Si sur un shell interactif, il existe des abréviations de commandes disponibles:
Tcl / Tk, 57
Un pixel noir recouvre la zone V blanche de l’icône Vivaldi:
la source