108 lines
3.6 KiB
Python
108 lines
3.6 KiB
Python
|
|
'''
|
||
|
|
Juego TA-TE-TI
|
||
|
|
Profesora = ANA LAURA ALMADA
|
||
|
|
Alumnos de UNL Virtual - Grupo Venus
|
||
|
|
Federico Alejandro Mazzei ✅
|
||
|
|
Fernando Zaldívar Posse ✅
|
||
|
|
Matías Mauricio Machado Pérez ✅
|
||
|
|
Sara Somaré ✅
|
||
|
|
Ingrid Celia Spessotti ✅
|
||
|
|
En linkode https://linkode.org/#RMKQuCRyK0VKoiYU6GFdo7
|
||
|
|
luego de cada edición presionen el botón de "Nueva versión"
|
||
|
|
así vamos viendo la evolución de nuestro código. Recomiendo copiar esto
|
||
|
|
y trabajarlo en sus IDE's localmente y cuando tengan algo funcional lo suben ;)
|
||
|
|
Nos hablamos
|
||
|
|
Dejo una lista de tareas a realizar :)
|
||
|
|
TODO: Iniciar el juego por el jugador X
|
||
|
|
TODO: Iterar entre jugador X y O
|
||
|
|
TODO: Validar que no ingresen un número ingresado
|
||
|
|
TODO: Reemplazar los valores p1, p2, p3 etc. con los valores ingresados
|
||
|
|
TODO: Chequear si se forman los tres en linea para verificar si existe un ganador
|
||
|
|
las formas ganadoras serían:
|
||
|
|
[p1,p2,p3], [p4,p5,p6], [p7,p8,p9]
|
||
|
|
[p1,p4,p7], [p2,p5,p8], [p3,p6,p9]
|
||
|
|
[p1,p5,p9], [p7,p5,p3]
|
||
|
|
TODO: Mejorar el código con lo que nos enseñaron hasta el momento.
|
||
|
|
'''
|
||
|
|
|
||
|
|
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":
|
||
|
|
print("\n¡Buenísimo! Arranca el juego.")
|
||
|
|
elif opcion == "2":
|
||
|
|
print("\nEste modo va a estar disponible en la próxima unidad!")
|
||
|
|
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 pder controlar las ubicaciones y lineas
|
||
|
|
|
||
|
|
tablero = [p1 , p2, p3, p4, p5, p6, p7, p8, p9]
|
||
|
|
|
||
|
|
|
||
|
|
print(f"\n {p1} | {p2} | {p3} \n---+---+---\n {p4} | {p5} | {p6} \n---+---+---\n {p7} | {p8} | {p9} ")
|
||
|
|
|
||
|
|
#Integración del código de jugador X y jugador O al código de Ingrid.
|
||
|
|
# Comienza el jugador X
|
||
|
|
# Cualquier sugerencia, crítica constructiva o modificación en el código es bienvenida!
|
||
|
|
jugadorX = True
|
||
|
|
jugadorO = False
|
||
|
|
jugadas = 0
|
||
|
|
|
||
|
|
while jugadas < 9:
|
||
|
|
# Comprueba si hay un ganador
|
||
|
|
if (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]):
|
||
|
|
print("GANASTE!")
|
||
|
|
break
|
||
|
|
else:
|
||
|
|
|
||
|
|
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
|
||
|
|
|
||
|
|
print(f"\n {tablero[0]} | {tablero[1]} | {tablero[2]}")
|
||
|
|
print("---+---+---")
|
||
|
|
print(f" {tablero[3]} | {tablero[4]} | {tablero[5]}")
|
||
|
|
print("---+---+---")
|
||
|
|
print(f" {tablero[6]} | {tablero[7]} | {tablero[8]}")
|
||
|
|
|
||
|
|
else:
|
||
|
|
print("Ubicación no disponible.")
|
||
|
|
|
||
|
|
else:
|
||
|
|
print("Ingrese un número válido del 1 al 9.")
|