Script do jogo Python Tic-Tac-Toe
Execute um jogo terminal Tic-Tac-Toe em Python. Aprenda o gerenciamento do estado da placa, alterne as curvas e ganhe verificações de condições.
Visão geral
Construir um jogo de Tic-Tac-Toe é um exercício clássico que reforça a representação de estado do quadro matricial, estruturas de loop e lógica de comparação condicional.
O tabuleiro é representado como uma matriz 3x3 (ou uma lista simples de 9 elementos). Dois jogadores se revezam colocando seus símbolos ('X' ou 'O') na grade. Após cada movimento, o script verifica se um jogador possui três símbolos correspondentes em uma linha, coluna ou diagonal.
Esta implementação inclui um loop de jogo que alterna os estados ativos dos jogadores, aceita posicionamentos coordenados e para automaticamente quando uma condição de vitória ou empate é encontrada.
Saída de código e execução
Um mecanismo de jogo Tic-Tac-Toe de linha de comando totalmente funcional executando uma sessão 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!Implementação passo a passo
- Loops interativos de interface de linha de comando
- Protótipos simples de roteamento minimax de inteligência artificial
- Aprendendo mapeamentos de coordenadas de matriz de lista 2D
Perguntas frequentes
Como posso jogar contra o computador?
Para implementar um oponente de IA, você pode usar o módulo `random` do Python para selecionar slots livres no tabuleiro ou usar o algoritmo Minimax para criar um oponente imbatível.
Como faço para limpar a tela do terminal entre turnos?
Você pode importar `os` e chamar `os.system('cls' if os.name == 'nt' else 'clear')` para limpar as viewports padrão do terminal.
Tópicos Relacionados
Crie e execute um jogo Hangman em Python. Explore a verificação de conjuntos de caracteres, contadores de tentativas restantes e substituição de strings de palavras ocultas.
Jogo Python Rock Paper ScissorsCrie um jogo Pedra-Papel-Tesoura em Python. Domine escolhas aleatórias, validação de entradas do usuário e mapeamentos de regras relacionais.