Ecrivez un programme qui crée une case à cocher à deux états avec laquelle les gens peuvent interagir à l'aide d'une souris.
Plus précisément, votre programme doit atteindre tous les objectifs suivants:
Avoir une zone de 8 × 8 pixels (ou plus grande si désiré) de l'écran qui est la zone cliquable de la case à cocher. Désormais cette région s'appelle simplement la case à cocher.
Lorsque le curseur de la souris est déplacé dans la case à cocher et que le bouton de souris * par défaut est enfoncé, la case à cocher doit basculer entre les états.
Coché devient décoché. Décoché devient coché.La case à cocher ne doit pas bouger quand on la bascule.
A l'état coché, la case à cocher peut être n'importe quelle couleur.
Si la case à cocher n'est pas cochée, la case à cocher peut contenir n'importe quelle couleur, à condition qu'au moins 16 pixels soient visuellement différents de l'état coché .
Dans une seule instance de programme, tous les états cochés doivent être visuellement identiques les uns aux autres et tous les états non vérifiés doivent être visuellement identiques les uns aux autres.
Ne terminez pas le programme tant qu'il n'est pas explicitement terminé (par exemple, via le bouton de sortie ou Alt + F4), afin qu'un utilisateur puisse cliquer autant que nécessaire sur la case à cocher.
* Vous pouvez supposer que le bouton de la souris par défaut correspond toujours à un clic gauche, mais il est également judicieux d'utiliser le paramètre par défaut défini par le logiciel de la souris ou le système d'exploitation, ce qui peut ne pas être en fait un clic gauche, en fonction de l'utilisateur.
Remarques
Peu importe ce qui se trouve en dehors de votre zone de case à cocher. Cela pourrait juste être le bureau. Il peut s'agir d'une partie d'une console qui change à chaque basculement.
Peu importe dans quel état votre case à cocher commence.
La zone de case à cocher peut avoir des dimensions égales ou supérieures à 8 × 8 pixels. Ce n'est pas nécessairement carré.
Vous pouvez accorder des tolérances mineures pour les paramètres hors de votre contrôle, tels que la taille de la police de la console, le zoom du navigateur, la résolution du moniteur, etc. Tant que votre programme fonctionne dans un paramètre de test raisonnable, il doit être valide.
Si votre programme ouvre une fenêtre, vous pouvez en déduire que celle-ci a été déplacée vers un emplacement approprié de l'écran si nécessaire (par exemple, le coin supérieur gauche).
Vous pouvez utiliser des langages de balisage tels que HTML ou d'autres langages que nous ne considérons généralement pas comme des langages de programmation à part entière.
Votre case à cocher doit être permutable en utilisant le bouton de la souris par défaut. C'est bien s'il bascule également pour d'autres formes de saisie (par exemple, le bouton droit de la souris), à l'exception du déplacement de la souris . c'est-à-dire que l'état ne devrait pas changer si la souris est simplement déplacée dans la case à cocher.
Les captures d'écran de votre case à cocher en action sont vivement encouragées!
Notation
Le code le plus court en octets gagne.
Exemple
Un exemple HTML canonique de 23 octets.
<input type="checkbox">
Pour moi, dans Google Chrome, cela fait une case à cocher de 12 × 12 pixels et environ 30 pixels changent clairement entre les états cochés et non cochés.
Je tiens compte du fait que le zoom du navigateur est à 100%.