Python - Juego tres en raya/linea

 
Vista:
Imágen de perfil de etillo

Juego tres en raya/linea

Publicado por etillo (7 intervenciones) el 16/12/2014 02:03:20
Hola, necesito crear un programa de este juego en modo de texto (sin interfaz grafica)

Lo que tengo pensado es crear una matriz de 3x3 como el "tablero" del juego (no hay problema)

Para ingresar las "fichas" se puede ingresar coordenadas de esta forma "x,y"
e ir validando que no se coloquen unas fichas sobre otras es decir no poder poner 2 veces la misma coordenada
Ademas cuando se complete una linea vertical, horizontal o diagonal (que es el objetivo del juego) aparezca un mensaje

Alguna idea de como lo puedo realizar o alguna idea mas simple
Se me hace bastante dificil este problema

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Cristofer

Juego tres en raya/linea

Publicado por Cristofer (34 intervenciones) el 16/12/2014 05:14:14
Yo para el tablero generalmente creo 3 listas, la primera lista contiene el tablero de esta manera:

1
tablero = [1,2,3,4,5,6,7,8,9]

imprimo el tablero así:

1
2
3
print(tablero[0],tablero[1],tablero[2])
print (tablero[3],tablero[4],tablero[5])
print(tablero[6],tablero[7],tablero[8])

las otras 2 listas son las siguientes:

1
tableroc = ["0,0","1,0","2,0","0,1","1,1","2,1","0,3","1,3","2,3"]

este segundo tablero son las coordenadas entonces por ejemplo yo pido a través de input una coordenada y busco esa coordenada en tableroc obtengo el indice con este indice puedo encontrar la posición deseada en la lista "tablero" así por ejemplo si yo meto el punto 0,0 y busco el indice en tableroc me devuelve 0 entonces yo se que el punto en el que el jugador quiere poner su ficha es en tablero[0].

ademas agregamos una tercera lista solo con valores booleanos:

1
tableroo = [False,False,False,False,False,False,False,False,False]

Cuando un espacio esta ocupado se cambia el False por un True, se aplica la misma lógica que en lo anterior extrayendo el indice de 0,0 cambiamos tableroo[0] = True, luego si alguien intenta poner una ficha en esa zona es cosa de comprobar si esta o no ocupada.

Esta forma de tablero lo diseñe para programar "El juego del 15" en consola, te adjunto mi aplicación para que veas como funciona.

Para jugarlo debes escribir las 2 primeras letras de la dirección a la que quieres mover el par de equis (xx):

ar = arriba
de = derecha
ab = abajo
iz = izquierda

El objetivo del juego es ordenar el tablero correctamente (puedes buscar mas info en Internet sobre este juego)

A mi tablero lo llamare "Tablero unidimensional de 3 dimensiones" estúpido ¿no?

PD: Fue realmente entretenido encontrar por mi mismo la manera de coordenar el tablero podrías antes de echar un vistazo a mi código hacerlo tu mismo ya que es mucho mas enriquecedor que copiar y pegar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de etillo

Juego tres en raya/linea

Publicado por etillo (7 intervenciones) el 16/12/2014 21:44:30
Muchisimas gracias por tomarte el tiempo, esto me va a ayudar mucho
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha disminuido su posición en 16 puestos en Python (en relación al último mes)
Gráfica de Python

Juego tres en raya/linea

Publicado por Yidu (19 intervenciones) el 17/12/2014 20:58:09
A ver si me animo, y creo yo, mi Tres en raya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar