📊 Capítulo 19: Projeto de Sistemas: Motor de Xadrez
Especialização em Sistemas com Python
🗺️ A Arquitetura em Camadas do Jogo de Xadrez em Python
flowchart TD
UI["Camada UI (Terminal ANSI Colorido com Rich / Caracteres Unicode ♔ ♕ ♖)"]
--> CHESS_MATCH["ChessMatch (Controle de Turnos, Xeque, Xeque-Mate e Movimentos Especiais)"]
CHESS_MATCH --> PIECES["Peças de Xadrez (Rei, Rainha, Torre, Bispo, Cavalo, Peão)"]
CHESS_MATCH --> BOARD["Board (Grade Matricial 8x8 de Peças)"]
BOARD --> POSITION["Position (Linhas e Colunas do Tabuleiro)"]
style UI fill:#ede7f6,stroke:#512da8,stroke-width:2px
style CHESS_MATCH fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style PIECES fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style BOARD fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style POSITION fill:#c8e6c9,stroke:#2e7d32,stroke-width:1.5px
🎯 Slide 1: O Desafio de Engenharia do Jogo de Xadrez
-
Missão: Implementar um motor robusto de xadrez em Python puro aplicando POO avançada, herança, polimorfismo e matrizes.
- Regras Especiais Implementadas:
- Roque pequeno e roque grande.
- Captura En Passant.
- Promoção de Peão para Rainha, Torre, Bispo ou Cavalo.
🎯 Slide 2: Matrizes de Movimentos Possíveis
-
Cada peça implementa o método
movimentos_possiveis() -> list[list[bool]]. - O motor avalia se qualquer movimento deixaria o próprio Rei em xeque, filtrando jogadas ilegais antes de autorizar o turno!
🎯 Slide 3: Terminal Interativo
- Notação algébrica oficial do xadrez (
e2 para e4), impressão visual formatada do tabuleiro e histórico de jogadas exportável em PGN!
🔗 Navegação do Capítulo 19
| 📖 Ler Conteúdo Completo | 🧠 Fazer Quiz | 💻 Ver Exemplos | 🧩 Exercícios |
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim