Ваша задача - написать программу, которая заставит ваш экран иметь плохой пиксель.
Вы должны выбрать ровно один пиксель на экране и ровно один канал между красным, зеленым и синим, и сделать его значение либо всегда 0, либо всегда максимальным (обычно 255). Значения других каналов должны быть такими же, как если бы ваша программа не запускалась.
Вы можете выбрать пиксель и канал любым способом, например жестко закодировать его или сгенерировать случайным образом при каждом запуске. Но это всегда должно быть видно на довольно современном оборудовании.
Если изменился цвет, который первоначально должен отображаться на этом пикселе, ваша программа должна обновиться менее чем за 0,5 секунды, когда система будет достаточно быстрой.
Вы не можете делать предположения о том, что в данный момент отображается на экране (например, панель задач с использованием темы по умолчанию).
Ваша программа не должна работать, когда активны заставка, экран входа в систему, эффект из оконного менеджера и т. Д.
Самый короткий код выигрывает.
источник
Ответы:
Bash на Linux - 25 байт латиницы-1
+3 от @wyldstallyns / -2 от удаления кавычек / -1, потому что я забыл, как это работает / -9 от @Dennis
Предполагается, что / dev / fb0 существует (он существует в моей системе Arch Linux, и я думаю, что это должно быть в любой другой системе Linux). Требуется также root-доступ. Это не работает для меня, когда X работает. В моей системе это просто постоянно устанавливает синий канал верхнего левого пикселя на полный (
ÿ
255).источник
printf ÿ>/dev/fb0;exec $0
сохраняет несколько байтов.yes
Подход не работает./dev/fb0
должен быть открыт после записи одного пиксельного канала.Visual C ++,
1021009998 байтРаботает в Windows, напрямую используя Win32 API с компилятором Visual C ++, ориентированным на консольную подсистему. Использует «экранный» контекст устройства для установки красного канала пикселя в (9,9)
0xFF
.Спящий режим необходим для того, чтобы другие программы могли рисовать между get / set - и 9 мс были слишком короткими, что приводило к застреванию пикселя 1 на его первоначальном цвете.
1 К сожалению, не совсем такой же тип застрявшего пикселя ищет этот вопрос ...
источник
HolyC, 13 байт
Помещает черную точку на постоянный слой напрямую.
На что это похоже.
источник
C #,
247244371366354352 байтаРаботает на Windows. Получает контекст устройства для всего экрана и многократно увеличивает красный канал в (9,9).
Изначально я не хотел импортировать
GetPixel
/SetPixel
, но нет особенно простого способа прочитать один пиксель из aGraphic
. Так что сейчас это фактически так же, как моя попытка VC ++ . Может быть, сохранение в растровое изображение будет короче ...-5 байт благодаря @TuukkaX
источник
SetPixel
.9ms
а не99ms
0x1FFFFFFF
итераций в занятом цикле вместо сна, но это должно быть настроено для каждой машины, чтобы оставаться в пределах 0,5 с.SmileBASIC, 20 байтов
Обновления постоянно.
Наборы спрайт
0
к1
й1
области в299
,99
на спрайтах листа (который представляет собой красный пиксель).33
является атрибутом отображения, который1
(отображение включено) +32
(аддитивное смешивание).источник
Java 7, 266 байт
Я запустил это в Windows 7. Открывает апплет Java, который по умолчанию имеет белый фон. Добавляет метку с точкой, а затем меняет цвет метки до тошноты.
источник
Tcl / Tk, 61
На изображении есть черный пиксель в верхнем левом углу значка Вивальди:
Если в интерактивной оболочке есть сокращения команд:
Tcl / Tk, 57
Над V-образной белой областью значка Вивальди есть черный пиксель:
источник