Tout d'abord, pour ceux qui ne connaissent pas le jeu, voici comment le jeu fonctionne,
Le but du jeu est d'éteindre toutes les lumières, donc appelé "Lights Out", et chaque pression sur le bouton / la lumière inverse son état ainsi que ses voisins adjacents nord / sud / est / ouest, et c'est à peu près tout .
Maintenant, ce à quoi je pourrais penser, c'est en utilisant des tongs SR ou des tongs JK. Cela est dû à sa capacité à agir comme élément de stockage (l'état initial et l'état suivant). Mais je n'arrive pas à penser à des moyens de les mettre en œuvre.
Une autre idée est que chaque ensemble de boutons et ses boutons / voyants adjacents (NSEW) auront leur propre table de vérité, comme ceci:
mais est-il possible que les variables d'entrée soient les mêmes que les variables de sortie? Y a-t-il d'autres façons de procéder?
la source
Je dirais que les tongs T seraient probablement les plus faciles car vous pouvez basculer leur état de sortie avec une seule entrée. Vous pouvez utiliser une seule bascule pour chaque LED et avec l'entrée liée à votre bouton et la sortie liée à votre LED. Ensuite, vous pourriez avoir chaque bouton lié aux entrées des 4 bascules adjacentes afin de changer également leur état.
Si vous vouliez utiliser des bascules JK, vous pouvez en faire des bascules T en passant votre entrée aux deux entrées (J et K)
la source
Si l'on voulait construire un tel jeu jusqu'à la taille 7x7 à partir d'une logique discrète, la conception la plus pratique serait probablement d'utiliser un registre à décalage en circulation pour conserver l'état de la carte et un compteur à six bits pour suivre le décalage position des données dans le registre. Décalez les données à travers le levier de vitesses en groupes de 8 bits pour piloter un affichage multiplexé et numériser un clavier multiplexé. Avoir un compteur "flip light" à sept bits qui s'exécutera à chaque fois que les six bits inférieurs sont différents de zéro, ou lorsque l'état du bit supérieur correspond à l'état du bouton actuellement décodé. Inversez l'état de la lumière actuelle lorsque toutes les conditions suivantes s'appliquent:
Notez que si une quantité importante de logique serait nécessaire pour décoder ces états de compteur, elle serait triviale par rapport au nombre de puces nécessaires pour implémenter chaque lumière séparément.
la source