📊 Capítulo 19: Projeto de Sistemas: Jogo de Xadrez
Especialização em Sistemas com Java
🗺️ A Arquitetura em Camadas do Sistema de Xadrez
flowchart TD
UI["Camada UI (Console ANSI Terminal / Renderização com Cores)"]
--> CHESS_LAYER["Camada de Xadrez (Regras de Domínio)"]
CHESS_LAYER --> MATCH["ChessMatch (Controle de Turnos, Xeque, Xeque-Mate, Roques, En Passant)"]
CHESS_LAYER --> PIECES["Peças Específicas (Rei, Rainha, Torre, Bispo, Cavalo, Peão)"]
CHESS_LAYER --> BOARD_LAYER["Camada de Tabuleiro (Board Engine Genérico)"]
BOARD_LAYER --> BOARD["Board (Matriz 8x8 de Pieces)"]
BOARD_LAYER --> POS["Position (Linhas e Colunas de Matriz)"]
style UI fill:#ede7f6,stroke:#512da8,stroke-width:2px
style CHESS_LAYER fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style MATCH fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style PIECES fill:#e8f5e9,stroke:#4caf50,stroke-width:1.5px
style BOARD_LAYER fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style BOARD fill:#b2dfdb,stroke:#00796b,stroke-width:1.5px
style POS fill:#fff9c4,stroke:#fbc02d,stroke-width:1.5px
🎯 Slide 1: O Desafio de Modelagem de Domínio
-
Missão: Construir um motor completo de jogo de xadrez em Java puro sem bibliotecas externas, aplicando POO avançada, polimorfismo, matrizes e exceções de domínio.
- Padrões e Regras:
- Validação de movimentos possíveis com matrizes booleanas (
boolean[][]). - Detecção rigorosa de xeque e xeque-mate.
- Movimentos especiais: Roque pequeno/grande, En Passant e Promoção de Peão.
- Validação de movimentos possíveis com matrizes booleanas (
🎯 Slide 2: Separação de Camadas (Board vs Chess)
-
A camada
boardgamedesconhece as regras de xadrez: ela cuida apenas de peças posicionadas em uma grade matricial bidimensional. - A camada
chessestende as peças básicas e implementa as regras específicas do xadrez FIDE!
🎯 Slide 3: Cores ANSI no Terminal
- Interface rica no terminal com coloração dinâmica para peças brancas e pretas, e destaque visual dos movimentos possíveis para a peça selecionada!
🔗 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