se siguen agregando funciones

This commit is contained in:
Federico Mazzei 2026-07-29 18:34:44 -03:00
parent c3660f10c9
commit 6c16092804
3 changed files with 190 additions and 53 deletions

View file

@ -1,2 +1,2 @@
JugadorX = Fede JugadorX = Fede
JugadorO = Juan JugadorO = Lore

128
tateti_1.3.py Normal file
View file

@ -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")

View file

@ -5,6 +5,7 @@ Juego TA-TE-TI
Federico Alejandro Mazzei: Federico Alejandro Mazzei:
Estructura inicial del programa (tablero inicial del juego, ingreso de posiciones validas y contador de jugadas) 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) 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: Fernando Zaldívar Posse:
Validación de ganador de la partida. Empate si se completan las 9 posiciones sin un ganador. Validación de ganador de la partida. Empate si se completan las 9 posiciones sin un ganador.
Matías Mauricio Machado Pérez: Matías Mauricio Machado Pérez:
@ -14,6 +15,19 @@ Juego TA-TE-TI
Ingrid Celia Spessotti: Ingrid Celia Spessotti:
Representación del tablero con una lista, actualización del tablero y control de casillas ocupadas 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(): def comprueba_ganador():
""" Comprueba si hay un ganador """ """ Comprueba si hay un ganador """
@ -29,74 +43,44 @@ def comprueba_ganador():
def imprime_tablero(): 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]} ") 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): 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') 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: ') nombre_jugadorX = input('\nIngrese el nombre del jugador X: ')
archivo.write('JugadorX = ' + nombre_jugadorX + '\n') archivo.write('JugadorX = ' + nombre_jugadorX + '\n')
if modalidad == str(1): if modalidad == str(1):
nombre_jugadorO = input('\nIngrese el nombre del jugador O: ') nombre_jugadorO = input('\nIngrese el nombre del jugador O: ')
print("\n¡Buenisimo! " + nombre_jugadorX + " vs " + nombre_jugadorO + "\nArranca el juego.")
print("¡Buenisimo! " + nombre_jugadorX + " vs " + nombre_jugadorO + "\nArranca el juego.")
archivo.write('JugadorO = ' + nombre_jugadorO + '\n') archivo.write('JugadorO = ' + nombre_jugadorO + '\n')
else: else:
print("\n¡Buenisimo! " + nombre_jugadorX + " vs PC " + "\nArranca el juego.")
print("\n " + nombre_jugadorX + " esta modalidad va a estar disponible próximamente!\n")
archivo.close() archivo.close()
print("=== BIENVENIDO AL TA-TE-TI ===")
print("1. Humano vs Humano (2 jugadores)")
print("2. Humano vs PC (Próximamente...)")
opcion = "" def jugar_tateti(opcion):
while opcion != "1": datos_jugadores(opcion)
opcion = input("Elegí una opción (1 para jugar): ") imprime_tablero()
jugadas = 0
jugadorX = True
jugadorO = False
if opcion == "1": while jugadas < 9:
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: if jugadorX:
print("Turno del jugador X") print("\nTurno del jugador X")
numeroElegido = int(input("Elegir un número del 1 al 9: "))
else: else:
print("Turno del jugador O") if opcion == str(1):
print("\nTurno del jugador O")
numeroElegido = int(input("Elegir un número del 1 al 9: ")) numeroElegido = int(input("Elegir un número del 1 al 9: "))
else:
print("\nTurno PC")
numeroElegido = int(tatetivsPC(tablero))
if 1 <= numeroElegido <= 9: if 1 <= numeroElegido <= 9:
@ -126,3 +110,28 @@ while jugadas < 9:
break break
elif jugadas==9: elif jugadas==9:
print("La partida terminó empatada") 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.")