Visite a página do curso na Udemy
Este é um projeto desenvolvido durante o curso de Java completo ministrado pelo professor Nélio Alves na plataforma Udemy. O objetivo deste projeto é criar um jogo de xadrez utilizando a linguagem Java, aplicando conceitos de Programação Orientada a Objetos (POO).
- Tabuleiro de xadrez com 64 casas.
- Peças de xadrez: rei, rainha, bispo, cavalo, torre e peão.
- Movimentação das peças de acordo com as regras do xadrez.
- Cheque e cheque-mate.
- Promoção de peão.
- Partida entre dois jogadores.
- JDK 11 ou superior
- IDE Java (Eclipse, IntelliJ, NetBeans, etc.)
- Clone o repositório para sua máquina local:
git clone https://github.com/jsnevt/xadrez_java.git
O projeto é estruturado da seguinte forma:
src/
├── application/
│ └── App.java # Classe principal que inicia o jogo
├── boardgame/
│ ├── Board.java # Classe que representa o tabuleiro
│ ├── Piece.java # Classe base para todas as peças do jogo
│ └── Position.java # Classe que representa uma posição no tabuleiro
├── chess/
│ ├── ChessMatch.java # Classe que gerencia uma partida de xadrez
│ ├── ChessPiece.java # Classe base para as peças de xadrez
│ ├── ChessPosition.java # Classe que representa uma posição no tabuleiro de xadrez
├── chessPieces/
│ ├── King.java # Classe que representa o rei
│ ├── Queen.java # Classe que representa a rainha
│ ├── Rook.java # Classe que representa a torre
│ ├── Bishop.java # Classe que representa o bispo
│ ├── Knight.java # Classe que representa o cavalo
│ └── Pawn.java # Classe que representa o peão
└── ui/
└── UI.java # Classe responsável pela interface do usuário (console)
Para iniciar o jogo, execute a classe Program.java. A interface do usuário é baseada em console, onde os jogadores inserem os comandos para movimentar as peças. Execute a classe App.java. O tabuleiro será exibido no terminal. Insira os comandos para movimentar as peças (ex: e2 e4 para mover um peão de e2 para e4). O jogo continuará até que um dos jogadores dê cheque-mate ou ocorra um empate.
Agradecimentos especiais ao professor Nélio Alves pelo excelente curso de Java e por proporcionar a base para o desenvolvimento deste projeto.
Autor
Feito por Jason Everton 👋🏽