https://github.com/rafgpereira/sistema-xadrez-java
Sistema de xadrez orientado a objetos desenvolvido em Java.
https://github.com/rafgpereira/sistema-xadrez-java
java oriented-object-programming
Last synced: 3 months ago
JSON representation
Sistema de xadrez orientado a objetos desenvolvido em Java.
- Host: GitHub
- URL: https://github.com/rafgpereira/sistema-xadrez-java
- Owner: rafgpereira
- Created: 2023-10-28T20:53:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-31T20:45:12.000Z (over 1 year ago)
- Last Synced: 2025-01-28T00:16:30.391Z (5 months ago)
- Topics: java, oriented-object-programming
- Language: Java
- Homepage:
- Size: 203 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# SISTEMA JOGO DE XADREZ
## Sobre
Este é um sistema de jogo de xadrez produzido em JAVA, atavés da IDE Eclipse.
O projeto foi idealizado por [Nelio Alves.](https://github.com/acenelios)
O software é executado em terminal, e possui as seguintes funcionalidades:
- Movimentos padrão das peças
- Jogadas especiais: En Passant, Roque e Promoção
- Contagem de turno
- Peças capturadas
- Lógica de xeque e xeque-mate
- Tratamento de possíveis erros de entrada e desvios da regra## Conteúdos Aplicados:
### Java
- Lógica de programação (estrutura sequencial, condicional e repetitiva, vetores, matrizes, funções)
- Entrada e saída de dados
- Tipos e tratamento de dados
- Tratamento de exceções
- Programação orientada a objetos### Orientação a objetos
- Classe, objeto, atributos e métodos
- Construtores
- Sobrecarga
- Encapsulamento
- Membros estáticos
- Sobrescrita
- Enumerações
- Composição de classes
- Associação/dependência de classes
- Classes abstratas
- Herança
- Polimorfismo
- Upcasting
- Downcasting### UML
Representações UML abordadas:
- Classes: atributos e métodos
- Encapsulamento: public, protected, private
- Relacionamentos: herança, composição, associação## Diagrama de Classes
O diagrama de classes apresenta de forma simplificada as classes, suas propriedades (atributos e métodos) e seus relacionamentos.
Feito por [Nelio Alves.](https://github.com/acenelios)

## Demonstração
### Tabuleiro inicial
Distribuição das peças no tabuleiro

### Jogando
Digita-se a posição da peça que será movida e em seguida a posição de destino da peça.
O prórpio programa destaca os movimentos possíveis para aquela peça.
### Cheque
O jogo emite um alerta de cheque, e exige que a proxima jogada seja defensiva.

### Cheque-mate
Quando ocorre um cheque-mate o programa é encerrado.
O vencedor e o tabuleiro final ficam impressos na tela.
## Como jogar
### Requisitos
- Ter uma versão recente do Java instalada (recomenda-se a LTS)
- Ter o JDK instalado
- Ter um terminal com cores instalado (sugestão: GIT Bash)### Executando
- Clone o repositório
- Identifique a pasta com os arquivos executáveis do projeto
- Abra essa pasta no terminal
- Execute a classe Program do pacote application (java application/Program)