Arduino y Touchpad Tic Tac Toe (3 / 8 paso)

Paso 3: Hacer frente a la matriz de LED

El código de dedo del pie tic tac, tendremos que ser capaces de almacenar la siguiente información acerca de los LEDs:
-Si un LED se ilumina o no
-Si enciende, si es rojo o verde

Una manera de hacer esto es guardar el estado en una matriz de 9 celdas, mediante tres dígitos para representar el estado (0 = apagado, 1 = rojo, 2 = verde en).  Cada vez que necesitamos para verificar los Estados de lo LED, por ejemplo, para comprobar si existe una condición de ganar, tendremos que recorrer el array.  Se trata de un método realizable, pero algo torpe.

Un método más ágil sería utilizar dos grupos de nueve bits.  El primer grupo de nueve bits almacena el estado de encendido y apagado de los LEDs, y el segundo grupo de nueve bits almacena el color.  Luego, manipulando los Estados LED simplemente se convierte en una cuestión de aritmética de bits y desplazamiento.

Aquí hay un ejemplo trabajado.  Supongamos que dibujamos nuestra red de tic tac toe gráficamente y primer uso de 1s y 0s para representar el estado de encendido y apagado (1 sobre, 0 está apagado):

000
000 = matriz con la parte inferior izquierda LED encendido
100

100
010 = matriz diagonal LED iluminado
001

Si nosotros enumerar las células de la parte inferior izquierda, podemos escribir las representaciones anteriores como una serie de bits.  En el primer caso, que sería 100000000, y en el segundo caso, sería 001010100.  Si pensamos en estas representaciones binarias, cada serie de bits puede resumirse en un solo número (256 en el primer caso, 84 en el segundo caso).  Así que en lugar de utilizar un array para almacenar el estado de la matriz, sólo podemos utilizar un solo número!

Del mismo modo, podemos representar el color del LED de la misma manera (1 es de color rojo, 0 es verde).  Supongamos primero que todos los LEDs se encienden (por lo que el estado de encendido y apagado está representado por 511).  La siguiente matriz representa entonces el estado del color de los LEDs:

010 verde, rojo, verde
101 rojo, verde, rojo
010 verde, rojo, verde

Ahora, cuando se muestra la matriz de LED, solo tenemos que recorrer cada uno de los bits, primero en el estado de encendido y apagado y luego en el estado de color.  Por ejemplo, supongamos que nuestro estado de encendido y apagado es 100100100, y el estado de color 010101010.  Aquí está nuestro algoritmo para iluminar la matriz LED:

Paso 1.  Hacer un complemento bit a bit de estado encendido y apagado con un 1 binario (es decir bit masking).
Paso 2.  Si bien es cierto, el LED está encendido.  Hacer ahora un complemento bit a bit de estado de color con un 1 binario.
Paso 3.  Si bien es cierto, encenderá el LED rojo.  Si es false, se encenderá el LED verde.
Paso 4.  Cambiar el estado de encendido y apagado y estado de color, un poco a la derecha (es decir cambio de bit).
Paso 5.  Repita los pasos 1-4 hasta que se ha leído todos los nueve bits.

Nota que estamos llenando la matriz hacia atrás - empieza con celular 9, luego proceder a cell 1.

Además, los Estados de encendido y apagado y el color se almacenan como un tipo de entero sin signo (palabra) en lugar de un tipo del entero con signo.  Eso es porque en cambio de poco, si no tenemos cuidadosos, podríamos inadvertenly cambio el signo de la variable.

Adjunto es el código para iluminar la matriz de LED.

Artículos Relacionados

Tic Tac Toe juego usando Arduino

Tic Tac Toe juego usando Arduino

Tic Tac Toe es un juego popular de papel de dos jugadores en que primer jugador que complete una fila o columna o diagonal de 'X' o ' o ' wins. Si nadie no pudo lograr la hazaña, se dibuja el partido.Paso 1: Componentes necesarios1) Arduino Uno / Nan
Inteligente Arduino Uno y la Mega Tic Tac Toe (tres en raya)

Inteligente Arduino Uno y la Mega Tic Tac Toe (tres en raya)

He decidido crear el clásico juego de tres en raya (o Tic Tac Toe, como también se conoce) en el Arduino después de ser pedido por mi hija si podríamos construir un juego juntos. Aquí está un video jugando la versión final en el Arduino Mega. El segu
Robot de Tic-Tac-Toe

Robot de Tic-Tac-Toe

en este Instructable mostrará cómo hacer un brazo robot que juega Tic Tac Toe utilizando un controlador de robot mago Micro, 4 servos y bloques de construcción / materiales de su elección. El cableado es muy simple, apenas enchufe 4 servos y la bater
Tic Tac Toe de viaje

Tic Tac Toe de viaje

Dedo del pie de tic tac es un juego de viaje impresionante que puede mantener a niños y adultos ocupados durante las horas de un viaje por carretera. Con un poco de fieltro y creatividad pude hacer una placa impresionante viaje reutilizable tic tac t
Cómo escribir un programa de Tic-Tac-Toe en Java

Cómo escribir un programa de Tic-Tac-Toe en Java

Introducción:Tres en raya es un juego muy común que es bastante fácil de jugar. Las reglas del juego son simples y bien conocidos. Debido a estas cosas, Tic-Tac-Toe es bastante fácil de código de arriba. En este tutorial, buscará cómo codificar un tr
Cómo ganar Tic Tac Toe: Simple!

Cómo ganar Tic Tac Toe: Simple!

Hola, soy InstructableUltimate y hoy mostrará usted cómo ganar Tic Tac Toe en pocos pasos, y esto es muy simple!Paso 1: Ganar yendo primero Bueno, eso es una victoria fácil. Adiós y espero que esto te ayudó! (Si esto no funciona, recuerda que tu opon
Ganar estrategias TIC-TAC-Toe

Ganar estrategias TIC-TAC-Toe

Todo el mundo ama el simple juego de Tic-Tac-Toe, pero parece como un juego al azar. En realidad, no!Parece que muchos conflictos pueden resolverse mediante un simple juego...Ahora usted puede ganar la siguiente Juega-Tic-tac-toe-off mirando estas 4
Hacer Tic Tac Toe en Java

Hacer Tic Tac Toe en Java

este instructivo le guiará, paso a paso, por lo que Tic Tac Toe en Java! Esto no pretende ser un resumen del lenguaje Java, pero más de un ejemplo guiado. El primer paso será ir sobre algunos conceptos básicos para hacer el resto de la guía bajar sua
FPGA Tic Tac Toe

FPGA Tic Tac Toe

¿"Tic Tac Toe? ¿Qué es eso? Nunca oí de eso."-Nadie nuncaPor Ryan Frawley y Derek NguyenEsta guía le mostrará cómo hacer un trabajo de Tic Tac Toe juego en VHDL en un tablero de SDMONexys 2 FPGA. Este tutorial fue hecho por parte de un proyecto
Bandera americana Tic Tac Toe

Bandera americana Tic Tac Toe

Mantener su cuarto de huéspedes de julio partido entretenido con esto fácil hacer Junta de bandera americana tic tac toe!Paso 1: Reúna sus materiales 10 piedrasMarcador permanente azulMarcador permanente rojoCaja (dobles como tablero de tic tac toe y
Tic Tac Toe

Tic Tac Toe

Tic Tac ToeEste es un proyecto muy sencillo que cualquiera puede hacer, que realmente podría hacer esto con herramientas limitadas.Utilizar y reciclar un viejo tablero Rimu Head pero puede usar cualquier cosa. (También se puede hacer esto cualquier t
Tic-Tac-Toe K'nex

Tic-Tac-Toe K'nex

¿quién no conoce este juego? Tres en raya, uno de los juegos más jugados de siempre. Recientemente, he hecho las tres en raya que ha hecho Daniel662000. Vi que podía utilizar la mejora, así que hice esta versión. Es más pequeño y tiene una menor cant
Diversión rústico Tic Tac Toe

Diversión rústico Tic Tac Toe

Tic Tac Toe el amor?? ¡Yo también! Yo he jugado desde que era niño, ahora gano bien o es un sorteo ;-DEs un divertido juego para jugar con los niños y hacer esta versión rústica hace más divertido! Hacerlo y lo regalo! Todo el mundo le encantaría :-)
Microcontrolador ATMEL juega el juego de Tic-Tac-Toe

Microcontrolador ATMEL juega el juego de Tic-Tac-Toe

juego de Tic-Tac-Toe implementado con microcontrolador ATmega168 de desnudo hueso. Trabaja en lo más baja posible para esta frecuencia de controlador 1 MHz. Permite a la energía de dos baterías AAA.  Puede encontrar algunos detalles adicionales en es