''' Juego TA-TE-TI Profesora = ANA LAURA ALMADA Alumnos de UNL Virtual - Grupo Venus Federico Alejandro Mazzei: Estructura inicial del programa (tablero inicial del juego, ingreso de posiciones validas y contador de jugadas) datos_jugadores() Solicito nombre de los jugadores y lo guardo en un archivo .TXT (jugadores.txt) Fernando Zaldívar Posse: Validación de ganador de la partida. Empate si se completan las 9 posiciones sin un ganador. Matías Mauricio Machado Pérez: Menú principal con opciones antes de que muestre el tablero de juego. Sara Somaré: Incorporación del segundo jugador y turnos de juego integrándolo al código de Ingrid. Ingrid Celia Spessotti: Representación del tablero con una lista, actualización del tablero y control de casillas ocupadas ''' def comprueba_ganador(): """ 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(): print(f"\n {tablero[0]} | {tablero[1]} | {tablero[2]} \n---+---+---\n {tablero[3]} | {tablero[4]} | {tablero[5]} \n---+---+---\n {tablero[6]} | {tablero[7]} | {tablero[8]} ") """ Defino una función que permite cargar datos de los jugadores """ def datos_jugadores(modalidad): """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("¡Buenisimo! " + nombre_jugadorX + " vs " + nombre_jugadorO + "\nArranca el juego.") archivo.write('JugadorO = ' + nombre_jugadorO + '\n') else: print("\n " + nombre_jugadorX + " esta modalidad va a estar disponible próximamente!\n") archivo.close() print("=== BIENVENIDO AL TA-TE-TI ===") print("1. Humano vs Humano (2 jugadores)") print("2. Humano vs PC (Próximamente...)") opcion = "" while opcion != "1": opcion = input("Elegí una opción (1 para jugar): ") if opcion == "1": datos_jugadores(opcion) elif opcion == "2": datos_jugadores(opcion) else: print("Opción no válida. Poné 1 o 2.") # Declaro las variables para luego validarlas p1, p2, p3 = "1", "2", "3" p4, p5, p6 = "4", "5", "6" p7, p8, p9 = "7", "8", "9" # Defino matriz para poder almacenar las X y O para luego poder controlar las ubicaciones y lineas tablero = [p1, p2, p3, p4, p5, p6, p7, p8, p9] imprime_tablero() # Integración del código de jugador X y jugador O al código de Ingrid. # Comienza el jugador X jugadorX = True jugadorO = False jugadas = 0 while jugadas < 9: if jugadorX: print("Turno del jugador X") else: print("Turno del jugador O") numeroElegido = int(input("Elegir un número del 1 al 9: ")) if 1 <= numeroElegido <= 9: if tablero[numeroElegido - 1] not in ['X', 'O']: if jugadorX: tablero[numeroElegido - 1] = 'X' jugadorX = False jugadorO = True else: tablero[numeroElegido - 1] = 'O' jugadorX = True jugadorO = False jugadas += 1 imprime_tablero() else: print("Ubicación no disponible.") else: print("Ingrese un número válido del 1 al 9.") if comprueba_ganador(): print("¡GANASTE!") break elif jugadas==9: print("La partida terminó empatada")