diff --git a/jugadores.txt b/jugadores.txt index 9232b35..1cdcd06 100644 --- a/jugadores.txt +++ b/jugadores.txt @@ -1,2 +1,2 @@ JugadorX = Fede -JugadorO = Juan +JugadorO = Lore diff --git a/tateti_1.3.py b/tateti_1.3.py new file mode 100644 index 0000000..5b2edd2 --- /dev/null +++ b/tateti_1.3.py @@ -0,0 +1,128 @@ +''' +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") diff --git a/tateti_1.4.py b/tateti_1.4.py index 5b2edd2..be29401 100644 --- a/tateti_1.4.py +++ b/tateti_1.4.py @@ -5,6 +5,7 @@ Juego TA-TE-TI 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) + Agrego la función jugar_tateti(opcion) que según la opcion elegida juega vs humano o PC. 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: @@ -14,6 +15,19 @@ Juego TA-TE-TI Ingrid Celia Spessotti: Representación del tablero con una lista, actualización del tablero y control de casillas ocupadas ''' +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(): """ Comprueba si hay un ganador """ @@ -29,74 +43,44 @@ def comprueba_ganador(): 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""" + """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 """ + #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.") - + print("\n¡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") - + print("\n¡Buenisimo! " + nombre_jugadorX + " vs PC " + "\nArranca el juego.") 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): ") +def jugar_tateti(opcion): + datos_jugadores(opcion) + imprime_tablero() + jugadas = 0 + jugadorX = True + jugadorO = False - 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: + while jugadas < 9: if jugadorX: - print("Turno del jugador X") + print("\nTurno del jugador X") + numeroElegido = int(input("Elegir un número del 1 al 9: ")) else: - print("Turno del jugador O") - - numeroElegido = int(input("Elegir un número del 1 al 9: ")) + if opcion == str(1): + print("\nTurno del jugador O") + numeroElegido = int(input("Elegir un número del 1 al 9: ")) + else: + print("\nTurno PC") + numeroElegido = int(tatetivsPC(tablero)) if 1 <= numeroElegido <= 9: @@ -126,3 +110,28 @@ while jugadas < 9: break elif jugadas==9: print("La partida terminó empatada") + + +print("=== BIENVENIDO AL TA-TE-TI ===") +print("1. Humano vs Humano (2 jugadores)") +print("2. Humano vs PC") + +opcion = "" +opcion = input("Elegí una opción (1 para jugar): ") + +# 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] + +if opcion == "1": + jugar_tateti(opcion) + +elif opcion == "2": + jugar_tateti(opcion) +else: + print("Opción no válida. Poné 1 o 2.")