GatoPad (9 / 11 paso)

Paso 9: Programando el Gato (un solo módulo)

Adjunto está el código para el juego.

Primero dividamos el gato en varios pasos. Para el modo de dos jugadores:

Paso 1: El jugador A elije una celda vacía tocando una intersección

Paso 2: El LED de esa celda se ilumina con el color de A

Paso 3: Chequear si el jugador A ha ganado

Paso 4: El jugador B elije una celda vacía tocando una intersección

Paso 5: El LED de esa celda se ilumina con el color B

Paso 6: Chequear si el jugador B ha ganado

Paso 7: Respuesta los pasos desde el 1 al 6 hasta exista la condición para ganar o hasta todas las celas estén llenas.

Leyendo las celdas:

El programa hace un bucle entre leer la rejilla y situado los LEDs. Siempre y cuando el sensor de la rejilla (el teclado) no cero de registe un valor distinto de este bucle continuara. Cuando una intersección es presionada en la rejilla la presionada variable guarda la posición de la celda presionada.

Chequear si la celda está vacía:

Cuando una posición de lectura es obtenida (variable presionada), es comparada contrastando el estado real de la celda (guardada en la la variable Grid On-Off) usando una adición poco a poco. Si la celda presionada está vacía, entonces nutrirá un situado el LED, de lo contrario luz-Paris a leer las celdas.

Alternando los colores:

Una variable booleana "Vuelta", es usada para almacenar a quien le toca jugar. El color del LED elegido cuando una celda es escogida es determinado por esta variable, alterna cada vez se elige una celda.

Chequeando la condición de ganador

Sólo hay 8 posibles condiciones de victoria y estos se almacenan como variables de palabras en una matriz (winArray). Dos adiciones a nivel de bits se utilizan para comparar las posiciones de celdas llenas de un jugador con victoria de las condiciones de. Si hay una coincidencia, entonces el programa muestra una rutina de triunfo, después del cual se inicia un nuevo juego.

Chequeando una condición de empate

Cuando se han guardado nueve rutinas y todavía no hay una condición de victoria, el juego es un empate. Los LEDs entonces hacen un efecto de desvanecimiento y comienza un nuevo juego

Cambio al modo de un jugador:

Si el interruptor está en la posición ON, el programa entra en modo 1 jugador con el jugador humano comenzando la partida. Al final del turno de este jugador, el programa simplemente elige una celda al azar. Obviamente esta no es la estrategia más inteligente!

Artículos Relacionados