Escriba un programa que cree una casilla de verificación de dos estados con la que las personas puedan interactuar usando un mouse.
Específicamente, su programa debe lograr todo lo siguiente:
Tenga una región de 8 × 8 píxeles (o más grande si lo desea) de la pantalla que es el área en la que se puede hacer clic en la casilla de verificación. En adelante, esta región se llama simplemente la casilla de verificación.
Cuando el cursor del mouse se mueve dentro de la casilla de verificación y se presiona el botón predeterminado del mouse *, la casilla de verificación debe alternar los estados.
Marcado se desmarca. Sin marcar se comprueba.La casilla de verificación no debe moverse cuando se alterna.
En el estado marcado, la casilla de verificación puede ser de cualquier color.
En el estado desmarcado, la casilla de verificación puede tener cualquier color siempre que al menos 16 píxeles sean visualmente distintos del estado marcado .
En una sola instancia de programa, todos los estados marcados deben ser visualmente idénticos entre sí y todos los estados no verificados deben ser visualmente idénticos entre sí.
No finalice el programa hasta que finalice explícitamente (por ejemplo, mediante el botón de salida o Alt + F4), de modo que un usuario pueda hacer clic en la casilla de verificación todo lo que quiera.
* Puede suponer que el botón predeterminado del mouse siempre es hacer clic con el botón izquierdo, pero también está bien usar el predeterminado como lo define el software del mouse o el sistema operativo, que en realidad no se puede hacer clic izquierdo según el usuario.
Notas
No importa lo que esté fuera de su región de casilla de verificación. Podría ser solo el escritorio. Podría ser una parte de una consola que cambia en cada alternar.
No importa en qué estado comience su casilla de verificación.
La región de la casilla de verificación puede tener cualquier dimensión igual o superior a 8 × 8 píxeles. No necesita ser cuadrado.
Puede tener en cuenta los ajustes menores que están fuera de su control, como el tamaño de fuente de la consola, el zoom del navegador, la resolución del monitor, etc. Mientras su programa funcione en una configuración de prueba razonable, debería ser válido.
Si su programa abre una ventana, puede suponer que se ha arrastrado a una ubicación apropiada en la pantalla si es necesario (por ejemplo, la esquina superior izquierda).
Puede usar lenguajes de marcado como HTML u otros lenguajes que generalmente no consideramos como lenguajes de programación completos.
Su casilla de verificación debe poder alternarse con el botón predeterminado del mouse. Está bien si también alterna para otras formas de entrada (por ejemplo, el botón derecho del mouse), con la excepción del movimiento del mouse . es decir, el estado no debería cambiar si el mouse simplemente se mueve dentro de la casilla de verificación.
¡Se recomiendan las capturas de pantalla de su casilla de verificación en acción!
Puntuación
El código más corto en bytes gana.
Ejemplo
Un ejemplo HTML canónico en 23 bytes.
<input type="checkbox">
Para mí en Google Chrome, esto hace que una casilla de verificación de 12 × 12 píxeles y unos 30 píxeles cambien claramente entre los estados marcados y no marcados.
Tengo en cuenta que el zoom del navegador está al 100%.