Autor Tema: Juego tres en linea  (Leído 4074 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Andres71

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 149
Juego tres en linea
« en: 13 de Febrero de 2006, 08:27:00 »
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.
"Dice mas el necio cuando calla, que el sabio cuando habla"

ANDRES ALEGRIA
alegriaandres@gmail.com
andresalegria@hotmail.com

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: Juego tres en linea
« Respuesta #1 en: 13 de Febrero de 2006, 11:46:00 »
Escrito originalmente por Andres71
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.


Eso de "saben como hacerlo con un PIC" es una pregunta muy generica.

Quieres hacer el juego para jugar con un tablero magnético o metálico?
Quieres hacer el juevo para jugarlo con teclado y una pantalla de lcd?

Andres... por favor, acota el problema...
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Andres71

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 149
RE: Juego tres en linea
« Respuesta #2 en: 13 de Febrero de 2006, 13:45:00 »
Gracias Mauricio,
La idea es hacerlo en un tablero sencillo con 9 casillas y cada casilla con 2 leds de diferente color (verde=X y rojo=O) y pulsadores, por ahora lo critico es el programa y la verdad no encuentro como hacerlo, gracias por la ayuda.
"Dice mas el necio cuando calla, que el sabio cuando habla"

ANDRES ALEGRIA
alegriaandres@gmail.com
andresalegria@hotmail.com

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: Juego tres en linea
« Respuesta #3 en: 13 de Febrero de 2006, 17:28:00 »
Escrito originalmente por Andres71
Gracias Mauricio,
La idea es hacerlo en un tablero sencillo con 9 casillas y cada casilla con 2 leds de diferente color (verde=X y rojo=O) y pulsadores, por ahora lo critico es el programa y la verdad no encuentro como hacerlo, gracias por la ayuda.


Gracias a miarroba.com tengo que volver a escribir mi post!
Estas semana ha andado para la mismisima mierd.......

En fin, sigamos

Como el problema es principalmente de lógica yo que tu lo programaría en C.  La parte de interfaz con el teclado y los leds es muy simple.  Los leds bueno, son prenderlo y apagarlo y la parte de las teclas de usuario, yo que tu me armo un teclado de 3x3 .

Lo importante sería ver quien comienza la partida, eso tal vez debas indicarlo al principio con una tecla que solo sirva para eso o bien que comience el ultimo que ganó, etc.  Hay muchas formas.  En principio te aconsejo qeu hagas que empiece siempre el mismo jugador.

Yo haria en memoria también una matriz de 3 x 3 donde, si el valor está vacío quiere decir que no hay nada, ,si es un 1, es una ficha del usuario , si es un 2 es una ficha del PIC.   Tendrás que ir ponderando los turnos uno por uno.

El PIC antes de jugar debiera revisar bien como está el tablero rellenado, buscando de evitar que el usuario forme 3 en línea y en segunda instancia buscando que ficha le puede dar la victoria.

El PIC hace ambos barridos y asigna prioridades a cada posibilidad, por ejemplo puede ser que detecte que el jugador en la proxima jugada si pone uuna ficha en una esquina gana y al mismo tiempo detectar que si el PIC pone la ficha en otra esquina diferente, el mismo arma las 3 en linea.  En este caso debiera dar mas prioridad a la tarea de ganar , antes que evitar que el otro gane.

El barrido este, seria en todas las direcciones posibles en que se pueda armar el 3 en línea y marcando la posibilidad que pueda darle la victoria.

Espero te sirva de ayuda al menos para comenzar.


Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado kain589

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 324
RE: Juego tres en linea
« Respuesta #4 en: 13 de Febrero de 2006, 17:35:00 »
Deberia empezar el ususario porque si empieza la maquina y haces bien el algoritmo siempre gana la maquina, ya que en el tres en raya si sabes un algoritmo ganas si sales siempre.
Respecto al proyecto vi eso hecho por una universidad, pero los enlaces no iban
Saludos desde Córdoba, españa

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: Juego tres en linea
« Respuesta #5 en: 13 de Febrero de 2006, 18:05:00 »
Escrito originalmente por kain589
Deberia empezar el ususario porque si empieza la maquina y haces bien el algoritmo siempre gana la maquina, ya que en el tres en raya si sabes un algoritmo ganas si sales siempre.
Respecto al proyecto vi eso hecho por una universidad, pero los enlaces no iban


Claro, el que comienza siempre gana.

Creo que la posibilidad que comience el PIC permitirá depurar el código, porque si alguna vez no ganó es porque ALGO no está bien. Sonrisa
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Andres71

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 149
RE: Juego tres en linea
« Respuesta #6 en: 14 de Febrero de 2006, 10:26:00 »
Gracias tendre en cuenta sus recomendaciones, intentare hacerlo, la verdad programo en asembler y no se que tal mevaya, pero como saber si no intento??? si me queda grande o me puede como decimos aca en Colombia pedire nuevamente ayuda.
"Dice mas el necio cuando calla, que el sabio cuando habla"

ANDRES ALEGRIA
alegriaandres@gmail.com
andresalegria@hotmail.com

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Juego tres en linea
« Respuesta #7 en: 14 de Febrero de 2006, 11:31:00 »
Seguro que si empieza la máquina siempre gana ella???

No estoy totalmente de acuerdo con eso, creo q con un algoritmo bien realizado la máquina NUNCA PIERDE, que no es lo mismo que SIEMPRE GANE, ya que está la opción de TABLAS. De hecho recuerdo una pelicula en la que para ganar a un computador que se volvió loco, la forma de "matarlo" fué con un juego de tres en raya, en el que se enfrentaba la máquina contra ella misma y siempre quedaba en tablas, terminó volviendose loca pq no podía ganar y pummmm.............. jajajaja

s2!

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
RE: Juego tres en linea
« Respuesta #8 en: 14 de Febrero de 2006, 12:24:00 »
Ahi tenéis algo de teoria (con ejemplos del tres en raya) :

Aprendizaje Automático y Vida Artificial

Introducción a la Inteligencia Artificial

Inteligencia Artificial

Con varios algoritmos para la resolución de este juego.


(A ver si ahora se postea en el hilo correcto Ardiendo)
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: Juego tres en linea
« Respuesta #9 en: 14 de Febrero de 2006, 13:15:00 »
Escrito originalmente por J1M
Seguro que si empieza la máquina siempre gana ella???

No estoy totalmente de acuerdo con eso, creo q con un algoritmo bien realizado la máquina NUNCA PIERDE, que no es lo mismo que SIEMPRE GANE, ya que está la opción de TABLAS. De hecho recuerdo una pelicula en la que para ganar a un computador que se volvió loco, la forma de "matarlo" fué con un juego de tres en raya, en el que se enfrentaba la máquina contra ella misma y siempre quedaba en tablas, terminó volviendose loca pq no podía ganar y pummmm.............. jajajaja

s2!



Uhh, es cierto, se me chispoteó como decía el chavo.

Tienes razón, la prueba sería que el PIC nunca pierda (tanto si comienza como si no).

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)