75 lines
2.6 KiB
Python
75 lines
2.6 KiB
Python
|
|
# Archivo Funciones.py
|
||
|
|
|
||
|
|
import random
|
||
|
|
|
||
|
|
|
||
|
|
def tatetivsPC(tablero):
|
||
|
|
|
||
|
|
casillas = []
|
||
|
|
|
||
|
|
for casilla in range(9):
|
||
|
|
if not (tablero[casilla] == "X" or tablero[casilla] == "O"):
|
||
|
|
casillas.append(tablero[casilla])
|
||
|
|
|
||
|
|
print(casillas)
|
||
|
|
return random.choice(casillas)
|
||
|
|
|
||
|
|
|
||
|
|
def comprueba_ganador(tablero):
|
||
|
|
""" Comprueba si hay un ganador """
|
||
|
|
return (tablero[0] == tablero[1] == tablero[2] or
|
||
|
|
tablero[3] == tablero[4] == tablero[5] or
|
||
|
|
tablero[6] == tablero[7] == tablero[8] or
|
||
|
|
tablero[0] == tablero[3] == tablero[6] or
|
||
|
|
tablero[1] == tablero[4] == tablero[7] or
|
||
|
|
tablero[2] == tablero[5] == tablero[8] or
|
||
|
|
tablero[0] == tablero[4] == tablero[8] or
|
||
|
|
tablero[2] == tablero[4] == tablero[6])
|
||
|
|
|
||
|
|
def imprime_tablero(tablero):
|
||
|
|
|
||
|
|
tablero_colores = []
|
||
|
|
|
||
|
|
for casilla in tablero:
|
||
|
|
if casilla == "X":
|
||
|
|
tablero_colores.append("\033[91mX\033[0m")
|
||
|
|
elif casilla == "O":
|
||
|
|
tablero_colores.append("\033[94mO\033[0m")
|
||
|
|
else:
|
||
|
|
tablero_colores.append(casilla)
|
||
|
|
|
||
|
|
|
||
|
|
print(f"\n {tablero_colores[0]} | {tablero_colores[1]} | {tablero_colores[2]} \n---+---+---\n {tablero_colores[3]} | {tablero_colores[4]} | {tablero_colores[5]} \n---+---+---\n {tablero_colores[6]} | {tablero_colores[7]} | {tablero_colores[8]} ")
|
||
|
|
|
||
|
|
def datos_jugadores(modalidad):
|
||
|
|
"""Esta función permite cargar los datos de los jugadores"""
|
||
|
|
|
||
|
|
#Grabo los datos de los jugadores en un archivo TXT
|
||
|
|
archivo = open('./juego_tateti/jugadores.txt', 'w')
|
||
|
|
|
||
|
|
#El jugadorX puede jugar solo o contra otro humano por eso se define afuera
|
||
|
|
nombre_jugadorX = input('\nIngrese el nombre del jugador X: ')
|
||
|
|
archivo.write('JugadorX = ' + nombre_jugadorX + '\n')
|
||
|
|
|
||
|
|
if modalidad == str(1):
|
||
|
|
nombre_jugadorO = input('\nIngrese el nombre del jugador O: ')
|
||
|
|
print("\n¡Buenisimo! " + nombre_jugadorX + " vs " + nombre_jugadorO + "\nArranca el juego.")
|
||
|
|
archivo.write('JugadorO = ' + nombre_jugadorO + '\n')
|
||
|
|
else:
|
||
|
|
nombre_jugadorO = "a la PC"
|
||
|
|
print("\n¡Buenisimo! " + nombre_jugadorX + " vs PC " + "\nArranca el juego.")
|
||
|
|
archivo.close()
|
||
|
|
return nombre_jugadorX, nombre_jugadorO
|
||
|
|
|
||
|
|
def pedir_numero():
|
||
|
|
while True:
|
||
|
|
pos = input("Elegir un número del 1 al 9: ")
|
||
|
|
if pos in ["1", "2", "3", "4", "5", "6", "7", "8", "9"]:
|
||
|
|
return int(pos)
|
||
|
|
print("Opción no válida. Ingresá un número del 1 al 9.")
|
||
|
|
|
||
|
|
def informa_ganador(jugadorX, nombre_jugadorO, nombre_jugadorX):
|
||
|
|
if jugadorX:
|
||
|
|
print("¡Ganó \033[94mO\033[0m! Felicitaciones " + nombre_jugadorO)
|
||
|
|
else:
|
||
|
|
print("¡Ganó \033[91mX\033[0m! Felicitaciones " + nombre_jugadorX)
|