#HOLA LES PRESENTO MI JUEGO TRES EN RAYA EL FAMOSO JUEGO MICHI
#LO HICE CON LISTAS.
#ESPERO QUE SEA DE SU AGRADO LO HICE COMO PARTE DE MI APRENDIZAJE DE ESTE INTERESANTE LENGUAJE DE PROGRANACION
#USE LAS LETRAS MAYUSCULAS PARA INGRESAR LAS POSICIONES.
#SI ALGUEN DESEA MEJORARLO BIENVENIDO SEA.
import itertools
def primera_evaluacion_triqui(triqui_player):
mi_tablero = [[‘A1’, ‘A2’, ‘A3’], [‘B1’, ‘B2’, ‘B3’], [‘C1’, ‘C2’, ‘C3’]]
diagonales = [[‘A1’, ‘B2’, ‘C3’], [‘C1’, ‘B2’, ‘A3’], [‘A3’, ‘B2’, ‘C1’],
[‘C3’, ‘B2’, ‘A1’]]
nuevo_triqui_columna1 = []
nuevo_triqui_columna2 = []
nuevo_triqui_columna3 = []
nuevo_triqui_fila1 = []
nuevo_triqui_fila2 = []
nuevo_triqui_fila3 = []
for i in range(len(mi_tablero[0])):
nuevo_triqui_columna1.append(mi_tablero[i][0])
nuevo_triqui_columna2.append(mi_tablero[i][1])
nuevo_triqui_columna3.append(mi_tablero[i][2])
for j in range(len(mi_tablero)):
nuevo_triqui_fila1.append(mi_tablero[0][j])
nuevo_triqui_fila2.append(mi_tablero[1][j])
nuevo_triqui_fila3.append(mi_tablero[2][j])
def giro_lista_derecha(triqui):
a = []
b = []
c = []
for i in range(len(triqui)):
triqui.append(triqui[0])
del triqui[0]
a.append(triqui[0])
b.append(triqui[1])
c.append(triqui[2])
return [a] + [b] + [c]
def giro_lista_izquierda(triqui):
a = []
b = []
c = []
triqui.insert(0, triqui[2])
triqui.pop()
triqui.append(triqui[1])
del triqui[1]
nuevo_triqui_izquierda = triqui
for i in range(len(nuevo_triqui_izquierda)):
nuevo_triqui_izquierda.append(nuevo_triqui_izquierda[0])
del nuevo_triqui_izquierda[0]
a.append(nuevo_triqui_izquierda[0])
b.append(nuevo_triqui_izquierda[1])
c.append(nuevo_triqui_izquierda[2])
return [a] + [b] + [c]
giro_lista_derecha(nuevo_triqui_columna1)
giro_lista_derecha(nuevo_triqui_columna2)
giro_lista_derecha(nuevo_triqui_columna3)
giro_lista_derecha(nuevo_triqui_fila1)
giro_lista_derecha(nuevo_triqui_fila2)
giro_lista_derecha(nuevo_triqui_fila3)
giro_lista_derecha(diagonales[0])
giro_lista_derecha(diagonales[1])
giro_lista_derecha(diagonales[2])
giro_lista_derecha(diagonales[3])
giro_lista_izquierda(nuevo_triqui_columna1)
giro_lista_izquierda(nuevo_triqui_columna2)
giro_lista_izquierda(nuevo_triqui_columna3)
giro_lista_izquierda(nuevo_triqui_fila1)
giro_lista_izquierda(nuevo_triqui_fila2)
giro_lista_izquierda(nuevo_triqui_fila3)
giro_lista_izquierda(diagonales[0])
giro_lista_izquierda(diagonales[1])
giro_lista_izquierda(diagonales[2])
final_triqui_1 = []
tri_1 = giro_lista_derecha(nuevo_triqui_columna1)
tri_2 = giro_lista_derecha(nuevo_triqui_columna2)
tri_3 = giro_lista_derecha(nuevo_triqui_columna3)
tri_4 = giro_lista_derecha(nuevo_triqui_fila1)
tri_5 = giro_lista_derecha(nuevo_triqui_fila2)
tri_6 = giro_lista_derecha(nuevo_triqui_fila3)
tri_7 = giro_lista_derecha(diagonales[0])
tri_8 = giro_lista_derecha(diagonales[1])
tri_9 = giro_lista_derecha(diagonales[2])
tri_10 = giro_lista_derecha(diagonales[3])
final_triqui_1 += tri_1 + tri_2 + tri_3 + tri_4 + tri_5 + tri_6 + tri_7 + tri_8 + tri_9 + tri_10
final_triqui_2 = []
tri_11 = giro_lista_izquierda(nuevo_triqui_columna1)
tri_22 = giro_lista_izquierda(nuevo_triqui_columna2)
tri_33 = giro_lista_izquierda(nuevo_triqui_columna3)
tri_44 = giro_lista_izquierda(nuevo_triqui_fila1)
tri_55 = giro_lista_izquierda(nuevo_triqui_fila2)
tri_66 = giro_lista_izquierda(nuevo_triqui_fila3)
tri_77 = giro_lista_izquierda(diagonales[0])
tri_88 = giro_lista_izquierda(diagonales[1])
tri_99 = giro_lista_izquierda(diagonales[2])
tri_100 = giro_lista_izquierda(diagonales[3])
final_triqui_2 += tri_11 + tri_22 + tri_33 + tri_44 + tri_55 + tri_66 + tri_77 + tri_88 + tri_99 + tri_100
final_triquis = final_triqui_1 + final_triqui_2
a = [
index for index, posicion in enumerate(final_triquis)
if posicion == triqui_player
]
if a != []:
return (bool(a))
else:
a = False
return (bool(a))
def segunda_evaluacion_triqui(triqui_player):
e=[]
v=[]
combi=itertools.combinations(triqui_player, 3)
vvv=(list(combi))
for i in range(len(vvv)):
v.append(vvv[i])
z=v
a=primera_evaluacion_triqui(list(z[0]))
b=primera_evaluacion_triqui(list(z[1]))
c=primera_evaluacion_triqui(list(z[2]))
d=primera_evaluacion_triqui(list(z[3]))
e=[a,b,c,d]
return any(e)
def ultima_evaluacion_triqui(triqui_player):
#aplicamos combinaciones para 5 elementos de la lista y los descomponemos en
#listas de 3 elementos
z=[]
combi=itertools.combinations(triqui_player, 3)
vvv=(list(combi))
for i in range(len(vvv)):
z.append(primera_evaluacion_triqui(list(vvv[i])))
return any(z)
mi_tablero = [ [‘A1’, ‘A2’, ‘A3’], [‘B1’, ‘B2’, ‘B3’], [‘C1’, ‘C2’, ‘C3’]]
print(“BIENVENIDO AL JUEGO DEL MICHI”)
print("============================")
print(’ ')
#escogemos ser cero o x
player_2='x’
player_1= input("escoge una opcion: ¿x o cero? => ")
if player_1’0’:
print("jugador 1 : ",player_1)
print(“jugador 2: “,player_2)
else:
player_2='0’
print(“jugador 1:”,player_1)
print(“jugador 2:”,player_2)
print(”___________________________________________________________”)
#construimos el tablero
print(“POSICIONES DEL MICHI EN FILAS Y COLUMNAS”)
print(‘’)
for i in mi_tablero:
print(i)
print('__________________’)
#Reemplazamos los datos en la lista
triqui_player_1=[]
triqui_player_2=[]
num_vuelta=1
while num_vuelta<=5:
#pos = pyautogui.position()
print("intento ",num_vuelta)
#ingresamo el valor del jugador uno
posi_player_1=input("ingresa tu posicion PLAYER 1 “+player_1+” => ")
#pos=pyautogui.position()
posi_player_2=input("ingresa tu posicion PLAYER 2 “+player_2+” => ")
#pos=pyautogui()
#pyautogui.moveRel(15,1)
#pyautogui.posi.tion()
if posi_player_1posi_player_2:
posi_player_2= input("Eliga otra posicion “+player_2+”=> ")
columna=len(mi_tablero[0])
fila=len(mi_tablero)
for i in range(columna):
for j in range(fila):
if mi_tablero[i][j]posi_player_1:
mi_tablero[i][j]=player_1
triqui_player_1.append(posi_player_1)
if mi_tablero[i][j]posi_player_2:
mi_tablero[i][j]=player_2
triqui_player_2.append(posi_player_2)
for a in mi_tablero:
print(a)
if num_vuelta3:
a=primera_evaluacion_triqui(triqui_player_1)
if aTrue:
print(“GANASTE CON”,player_1+‘JUGADOR 1’)
break
else:
a=primera_evaluacion_triqui(triqui_player_2)
if aTrue:
print(“GANASTE CON”,player_2+‘JUGADOR 2’)
break
elif num_vuelta4:
b=segunda_evaluacion_triqui(triqui_player_1)
if bTrue:
print(‘GANASTE CON’,player_1+‘JUGADOR 1’)
break
else:
b=segunda_evaluacion_triqui(triqui_player_2)
if bTrue:
print(‘GANASTE CON’,player_2+‘JUGADOR 2’)
break
elif num_vuelta5:
c=ultima_evaluacion_triqui(triqui_player_1)
if cTrue:
print(‘GANASTE CON’,player_1+‘JUGADOR 1’)
break
else:
c=ultima_evaluacion_triqui(triqui_player_2)
if cTrue:
print(‘GANASTE CON’,player_2+‘JUGADOR 2’)
break
else:
print("**** vamos tu puedes…")
num_vuelta+=1
print(“SE ACABO EL JUEGO”)