Напишите программу, которая создает флажок с двумя состояниями, с которым люди могут взаимодействовать с помощью мыши.
В частности, ваша программа должна выполнять все следующие действия:
Имейте область экрана размером 8 × 8 пикселей (или больше, если хотите), которая является интерактивной областью флажка. Отныне этот регион просто называется флажком.
Когда курсор мыши перемещается внутри флажка и нажата кнопка мыши по умолчанию *, флажок должен переключать состояния.
Проверено становится непроверенным. Не проверено становится проверено.Флажок не должен перемещаться при переключении.
В отмеченном состоянии флажок может быть любого цвета.
В непроверенном состоянии флажок может быть любого цвета, если по крайней мере 16 пикселей визуально отличаются от отмеченного состояния .
В одном экземпляре программы все проверенные состояния должны быть визуально идентичны друг другу, а все непроверенные состояния должны быть визуально идентичны друг другу.
Не завершайте программу до тех пор, пока она не прекратится явно (например, с помощью кнопки выхода или Alt + F4), поэтому пользователь может установить флажок столько, сколько он хочет.
* Вы можете предположить, что кнопка мыши по умолчанию всегда щелкается левой кнопкой мыши, но также хорошо использовать значение по умолчанию, определенное программным обеспечением мыши или ОС, которое может фактически не щелкать левой кнопкой мыши в зависимости от пользователя.
Примечания
Неважно, что находится за пределами вашего региона флажка. Это может быть просто рабочий стол. Это может быть часть консоли, которая меняется при каждом переключении.
Не имеет значения, в каком состоянии установлен ваш флажок.
Область флажка может иметь любые размеры 8 или 8 пикселей или выше. Это не должно быть квадратным.
Вы можете вносить незначительные поправки в настройки, которые находятся вне вашего контроля, такие как размер шрифта консоли, масштабирование браузера, разрешение монитора и т. Д. Если ваша программа работает в приемлемых тестовых настройках, она должна быть действительной.
Если ваша программа открывает окно, вы можете предположить, что оно было перенесено в соответствующее место на экране, если это необходимо (например, в верхнем левом углу).
Вы можете использовать языки разметки, такие как HTML или другие языки, которые мы обычно не считаем полноценными языками программирования.
Ваш флажок должен быть переключен с помощью кнопки мыши по умолчанию. Это нормально, если он также переключает другие формы ввода (например, правую кнопку мыши), за исключением движения мыши . то есть состояние не должно изменяться, если мышь просто перемещается внутри флажка.
Скриншоты вашего флажка в действии очень приветствуются!
счет
Самый короткий код в байтах побеждает.
пример
Канонический пример HTML в 23 байта.
<input type="checkbox">
Для меня в Google Chrome это делает флажок 12 × 12 пикселей, и около 30 пикселей четко меняются между проверенным и непроверенным состояниями.
Я принимаю во внимание, что масштаб браузера составляет 100%.