Robot de Tic-Tac-Toe (4 / 7 paso)

Paso 4: El código

He adjuntado mi código. Voy a intentar explicarlo aquí para que pueda usarlo con tu robot y adaptarla si es necesario. Este código fue escrito para el IDE de Arduino versión 0022. Debería funcionar en versiones posteriores pero si tienes problemas entonces atenerse 0022 para este proyecto.

Se necesita un mago de Micro (no importa que versión) y la biblioteca de microM que puede descargarse desde aquí: https://sites.google.com/site/daguproducts/home/arduino-libraries

Si lo prefiere que puede usar otra placa Arduino. Usted probablemente necesitará un protoboard y puente los cables para conectar un receptor de infrarrojos y sus servos. Usted puede preferir utilizar múltiples protocolos IR la biblioteca de Ken Shirriff que se puede encontrar aquí: http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html

Como puedes ver he analizado mi código en secciones lógicas y ponerlos en diferentes pestañas. Esto hace mucho más fácil de editar el código.

[TicTacToe] esta primera ficha es el código principal. Tiene la función Setup() donde se realiza la inicialización y la función Loop() donde se juega el juego. La función Loop() consisten en 3 secciones.

  1. Selección de modo - el programa busca nuevos comandos IR y cambia modos si es necesario.
  2. Los jugadores mueven - cuando es tu turno esta sección le permite hacer su jugada.
  3. Robots se mueven - dependiendo del nivel de dificultad, diferentes estrategias son seleccionados aquí.

Después de un movimiento se ha hecho es mostrado en el monitor serie. El robot a continuación comprueba si cualquier más movimientos se pueden hacer y si alguien ha ganado.

[IOpins.h] esta ficha es diagrama de cableado. Si desea cambiar un servo del perno que se conecta a entonces sólo cambia el número de pin aquí.  Como el IR receptor es cableado a D4 no aparecen.

[Constants.h] esta ficha contiene constantes que se utilizan dentro del programa. Códigos de receptores de infrarrojos y valores preestablecidos para los servos de mecanismo de sujeción y pernos se definen aquí. Como robot será diferente a la mía, usted necesitará cambiar estos valores para adaptarse a. Todos los valores son en μs para el uso con el comando writeMicroseconds() .

[Calibrar] esta función se utiliza para enseñar al robot donde cada posición en el tablero. Inicialmente todas las posiciones son iguales a ambos servos del brazo en la posición central. Como enseñar el brazo, nuevas posiciones se guardan en los procesadores de EEPROM por lo incluso si se apaga el robot no olvidará lo que enseñó.

[eepromFunctions] cuando el programa ejecuta primero la EEPROM es leer para que el robot sabrá las posiciones del tablero. Cuando calibra el robot las nuevas posiciones se escriben en la EEPROM para que cuando la energía está apagada el robot no olvidará las posiciones.

[DisplayGrid] el juego se muestra en el monitor serial para propósitos de depuración y permite jugar Tic Tac Toe contra el mago Micro utilizando sólo una televisión remota. El robot sólo es necesario para impresionar a tus amigos y familiares y hacer el juego más divertido para jugar. 0 representa una posición vacía. Las bolas de robots están representadas con 1. Sus bolas están representados por 2.

[MoveArm] como el nombre sugiere, esta función mueve el brazo desde una posición en el tablero a otro. mi código descompone el movimiento en pasos pequeños para que el brazo se mueve lenta y suavemente. Movimientos más grandes se dividen en pasos más para que todos los movimientos ocurren en aproximadamente la misma velocidad.

[CheckForWin] después de que cada uno mueva la Junta se comprueba para ver si hay un ganador. 3 de la misma se comprueban todas las filas, columnas y diagonales.

[ClearBoard] al final del juego robot recoge todas las bolas y los pone en su canal. El robot se basa en memoria para determinar si la bola pertenece al jugador o el robot y devuelve la bola al canal correcto. El mecanismo de pasador plantea las bolas lo suficientemente altas para la muñeca para recogerlos y luego baja otra vez las bolas para que el brazo pueda moverse libremente.

[RandomMove] en el nivel más fácil, todos los movimientos de robots son al azar. Este modo está diseñado para enseñar a los niños el juego por primera vez. Un movimiento al azar es también utilizado por el robot cuando otras estrategias no. Para hacer juego menos predicable (más agradable), cuando que los robots a su vez a iniciar un juego el robot empezará con un movimiento al azar.

[BlockPlayer] esta función es utilizado por el robot a mirar sus movimientos y determinar si usted está a punto de ganar. Si el robot detecta que tienes dos bolas en línea con la tercera posición está libre entonces colocará la bola en la posición libre para bloquear te. Esta función no se utiliza en el nivel más fácil que está diseñado para enseñar a los niños cómo jugar.

[MakeLine] esta función es similar a [BlockPlayer], excepto que se utiliza por el robot para obtener 3 en una fila. Esta función no se utiliza en los niveles más fáciles.

[SecondMove] como un juego de Tic Tac Toe no tiene muchos movimientos, el segundo paso es a menudo donde su estrategia se entran en juego. El robot utiliza esto en el nivel más difícil para tratar de golpearte. Lo admito, esta parte del código podría ser mejorada. No soy bueno en juegos de estrategia.

Artículos Relacionados

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
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
Arduino y Touchpad Tic Tac Toe

Arduino y Touchpad Tic Tac Toe

o un ejercicio de entrada y salida de la multiplexación y trabajar con bits.  Y una presentación para el concurso de Arduino.Se trata de una implementación de un juego de tic tac toe utilizando una matriz de 3 x 3 de doble color LED para la pantalla,
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 :-)
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
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