Projeto de um jogo de xadrez desenvolvido em Java utilizando Programação Orientada a Objetos.
A aplicação roda diretamente no terminal/console, utilizando uma interface textual para exibir o tabuleiro, peças, movimentos e status da partida.
O projeto foi desenvolvido durante os estudos do curso de Java da Udemy, com foco na prática de lógica de programação, modelagem orientada a objetos e implementação das regras oficiais do xadrez.
- Java
- Programação Orientada a Objetos (POO)
- Git
- GitHub
Durante o desenvolvimento deste projeto foram aplicados conceitos importantes de desenvolvimento backend e orientação a objetos:
- Herança
- Polimorfismo
- Encapsulamento
- Abstração
- Tratamento de exceções
- Enumerações
- Composição
- Manipulação de matrizes
- Regras de negócio
- Movimentação de peças
- Validação de jogadas
- Controle de turnos
- Captura de peças
- Verificação de xeque
- Verificação de xeque-mate
- Roque (Castling)
- En Passant
- Promoção de peão
- Interface textual via console
src
├── Application
├── Boardgame
└── chessResponsável pela execução da aplicação e interação com o usuário.
Programan.javaUI.java
Contém a estrutura genérica do tabuleiro.
Board.javaBoardException.javaPiece.javaPosition.java
Contém toda a lógica específica do jogo de xadrez.
ChessMatch.javaChessPiece.javaChessPosition.javaChessException.javaColor.java
King.javaQueen.javaRook.javaBishop.javaKnight.javaPawn.java
- Java JDK 17+ (ou versão compatível)
git clone https://github.com/lucascrippa7/Chess.gitcd ChessExecute a classe principal localizada em:
src/Application/Programan.javaO sistema utiliza uma interface textual executada diretamente no terminal.
Através dela é possível:
- Visualizar o tabuleiro
- Selecionar posições
- Movimentar peças
- Acompanhar peças capturadas
- Verificar estados de xeque e xeque-mate
Este projeto foi desenvolvido principalmente para fins de estudo e prática de:
- lógica de programação;
- orientação a objetos;
- modelagem de domínio;
- implementação de regras complexas;
- organização de código Java.
Projetos de xadrez são excelentes exercícios para consolidar raciocínio lógico e arquitetura de software.
Desenvolvido por Lucas Crippa.
GitHub: