# juego tres en linea?



## fdesergio (Feb 13, 2006)

Alguien sabe como hacer un juego de esos llamados triqui o tres en linea con un tablero de 9 casillas? la idea es de 1 jugador y la maquina, por turnos cada uno coloca una marca X o 0 y el que primero coloque tres en linea gana, saben como hacerlo con un PIC??? de antemano gracias por la ayuda.


----------



## itvboy (May 18, 2009)

Antes que nada, creo que deberias definirnos primero cuanto sabes de pics, esto lo comento porque lo que pides yo creo que es muy sencillo, ya que se trata unicamente de tener 18 lineas de salidas al tablerito conformado por leds (2 lineas por casilla, una es para X, otra es para O). y debes tener 2 lineas de entrada (una para X, otra para 0). Ya con esto solo debes de tener un algorimo definido para el programa, La forma mas facil de hacer es declarando una matrix de 3x3 (of course in C) y checar lineas de 3 para ver si hizo gato, example..

void main() {
  int MATRIZ[3][3];

  if( MATRIZ[0][0]==MATRIZ[0][1]==MATRIZ[0][2] ) GATO();
  if( MATRIZ[1][0]==MATRIZ[1][1]==MATRIZ[1][2] ) GATO();
  if( MATRIZ[2][0]==MATRIZ[2][1]==MATRIZ[2][2] ) GATO();

  y asi para el resto de convinaciones..

Alguna duda?


----------



## Meta (May 18, 2009)

Me gustaría hacer un 3 en raya la verdad, sea jugando con el PIC y/o con alguien.







http://www.redcientifica.com/gaia/ejv/ejv3_c.htm
http://www.danipartal.net/taller/index.html
http://microcontroladores.net/P2003/Proy01/Proy1.htm

Saludo.


----------



## Oliver97 (Abr 25, 2016)

Muy buena tarde compañeros... Yo les vengo a preguntar di me pueden apoyar puesto que necesito realizar un  "Tres en linea" con el pic 16F877A o alguno que me recomienden, pero necesitó hacerlo mediante leds bicolor formando las X y O... Necesito una orientación. Gracias


----------



## TRILO-BYTE (Abr 26, 2016)

yo ¿como lo haria?

pues usaria una matriz obviamente debe estar vacia.

y mis variables serian por ejemplo 1 y 2 para player 1 y player 2

despues recorreria la matriz y contaria cuantos variables 1 y 2 hay , y con simples preguntas if 
revisaria si quedo en vertical , horizontal o en diagonal.

eso se hace haciendo uso de un contador.

en realidad es algo simple.

eso si todo el tiempo en el que se esta jugando debes hacer recorrido de la matriz.
siempre se debe andar recorriendo asi que no debes hacer uso de while ni delays.

por que si no jodes el programa.

una interrupcion en timer0 estaria buena para hacer el recorrido y si ahi si podrias hacer uso del poleo para entrada.


----------



## percebes (Abr 27, 2016)

Yo hice un juego de tres en raya pero con microprogramación... que entro como en 8 protos.
jaja pero yo tenia jugadas ya pregrabadas... o sea era solo para un jugador... aca me parece que es 1 vs 1... eso se haria mucho más fácil


----------



## TRILO-BYTE (Abr 27, 2016)

fijate esa es buena idea pre grabar movimientos.


----------



## OliMarch (May 3, 2016)

Muy buen día, he logrado realizarlo pero no se si D@rkbites o alguien me puede ayudar a realizar lo que he hecho en assembler a hacerlo en Micro code Studio... puesto que puedo programar en assembler pero me loo piden en Microcode studio....Ayuda porfavor


----------

