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