Guión del juego Python Tic-Tac-Toe
Ejecute un juego de terminal Tic-Tac-Toe en Python. Aprenda a administrar el estado de la placa, cambiar de turno y ganar verificaciones de condición.
Descripción general
Crear un juego de Tic-Tac-Toe es un ejercicio clásico que refuerza la representación del estado del tablero matricial, las estructuras de bucle y la lógica de comparación condicional.
El tablero se representa como una matriz de 3x3 (o una lista plana de 9 elementos). Dos jugadores se turnan para colocar sus símbolos ('X' u 'O') en la cuadrícula. Después de cada movimiento, el script comprueba si un jugador tiene tres símbolos iguales en una fila, columna o diagonal.
Esta implementación incluye un bucle de juego que cambia los estados activos del jugador, acepta ubicaciones de coordenadas y se detiene automáticamente una vez que se encuentra una condición de victoria o empate.
Código y salida de ejecución
Un motor de juego Tic-Tac-Toe de línea de comandos completamente funcional que ejecuta una sesión simulada.
def print_board(board):
for i in range(3):
row = " | ".join(board[i*3:(i+1)*3])
print(f" {row} ")
if i < 2:
print("---+---+---")
def check_win(board, player):
win_states = [
[0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows
[0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns
[0, 4, 8], [2, 4, 6] # Diagonals
]
return any(all(board[pos] == player for pos in state) for state in win_states)
def play_tic_tac_toe():
board = [str(i+1) for i in range(9)]
# Simulated sequence of moves (X and O alternating)
moves = [4, 0, 8, 2, 7, 6, 3]
print("Welcome to Tic-Tac-Toe!\n")
print_board(board)
print("\nSimulating Gameplay...")
current_player = 'X'
for move in moves:
if board[move] not in ['X', 'O']:
board[move] = current_player
print(f"\nPlayer {current_player} places on {move+1}:")
print_board(board)
if check_win(board, current_player):
print(f"\nPlayer {current_player} wins the game!")
return
current_player = 'O' if current_player == 'X' else 'X'
print("\nGame ends in a draw!")
play_tic_tac_toe()Welcome to Tic-Tac-Toe!
1 | 2 | 3
---+---+---
4 | 5 | 6
---+---+---
7 | 8 | 9
Simulating Gameplay...
Player X places on 5:
1 | 2 | 3
---+---+---
4 | X | 6
---+---+---
7 | 8 | 9
Player O places on 1:
O | 2 | 3
---+---+---
4 | X | 6
---+---+---
7 | 8 | 9
... (moves continue)
Player X wins the game!Implementación paso a paso
- Bucles interactivos de interfaz de línea de comando
- Prototipos simples de enrutamiento minimax de inteligencia artificial
- Aprendizaje de asignaciones de coordenadas de matrices de listas 2D
Preguntas frecuentes
¿Cómo puedo jugar contra la computadora?
Para implementar un oponente de IA, puedes usar el módulo "aleatorio" de Python para seleccionar espacios libres en el tablero, o usar el algoritmo Minimax para crear un oponente imbatible.
¿Cómo borro la pantalla del terminal entre turnos?
Puede importar `os` y llamar a `os.system('cls' if os.name == 'nt' else 'clear')` para borrar las ventanas gráficas estándar del terminal.
Temas relacionados
Crea y ejecuta un juego del Ahorcado en Python. Explore la verificación de conjuntos de caracteres, los contadores de intentos restantes y el reemplazo de cadenas de palabras ocultas.
Juego de Pitón Piedra, Papel o TijeraCrea un juego de piedra, papel y tijera en Python. Domine las elecciones aleatorias, la validación de las entradas del usuario y las asignaciones de reglas relacionales.