def mostrar_tablero(tablero):
print("-------------")
print(f"| {tablero[0]} | {tablero[1]} | {tablero[2]} |")
print("-------------")
print(f"| {tablero[3]} | {tablero[4]} | {tablero[5]} |")
print("-------------")
print(f"| {tablero[6]} | {tablero[7]} | {tablero[8]} |")
print("-------------")
def comprobar_ganador(tablero, jugador):
for i in range(0, 9, 3):
if tablero[i] == tablero[i+1] == tablero[i+2] == jugador:
return True
for i in range(3):
if tablero[i] == tablero[i+3] == tablero[i+6] == jugador:
return True
if (tablero[0] == tablero[4] == tablero[8] == jugador) or \
(tablero[2] == tablero[4] == tablero[6] == jugador):
return True
return False
def jugar_ta_te_ti():
tablero = [" " for _ in range(9)]
jugador_actual = "X"
juego_terminado = False
print("¡Bienvenido al Ta-Te-Ti!")
mostrar_tablero(tablero)
while not juego_terminado:
try:
posicion = int(input(f"Jugador {jugador_actual}, elige una posición (1-9): ")) - 1
if 0 <= posicion <= 8 and tablero[posicion] == " ":
tablero[posicion] = jugador_actual
mostrar_tablero(tablero)
if comprobar_ganador(tablero, jugador_actual):
print(f"¡Jugador {jugador_actual} ha ganado!")
juego_terminado = True
elif " " not in tablero:
print("¡Empate!")
juego_terminado = True
else:
jugador_actual = "O" if jugador_actual == "X" else "X"
else:
print("¡Posición inválida! Intenta de nuevo.")
except ValueError:
print("¡Entrada inválida! Por favor, introduce un número entre 1 y 9.")
print("¡Gracias por jugar al Ta-Te-Ti!")
if __name__ == "__main__":
jugar_ta_te_ti()