{"id":24642579,"url":"https://github.com/levibd/chess-system-java","last_synced_at":"2025-03-20T13:34:57.783Z","repository":{"id":253731779,"uuid":"844345217","full_name":"Levibd/chess-system-java","owner":"Levibd","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-06T01:01:47.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-06T02:19:10.746Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Levibd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-19T04:07:33.000Z","updated_at":"2025-03-06T01:01:49.000Z","dependencies_parsed_at":"2025-03-06T02:19:12.020Z","dependency_job_id":"53e012f7-4b48-4243-a29e-e02084a66978","html_url":"https://github.com/Levibd/chess-system-java","commit_stats":null,"previous_names":["levibd/chess-system-java"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Levibd%2Fchess-system-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Levibd%2Fchess-system-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Levibd%2Fchess-system-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Levibd%2Fchess-system-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Levibd","download_url":"https://codeload.github.com/Levibd/chess-system-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244619560,"owners_count":20482431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-25T13:12:07.395Z","updated_at":"2025-03-20T13:34:57.777Z","avatar_url":"https://github.com/Levibd.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Chess System Java ♟️\n\nEste é um projeto desenvolvido como parte do curso do **Nelio Alves**, focado na criação de um sistema de xadrez utilizando **Java**. O objetivo principal foi aplicar conceitos de programação orientada a objetos (POO), como herança, polimorfismo, encapsulamento, e manipulação de matrizes, além de reforçar a lógica de programação e boas práticas de design de software.\n\n---\n\n## 📜 Descrição\n\nO **Chess System Java** é uma aplicação baseada em console que simula um jogo de xadrez. A aplicação permite:  \n- Configurar e visualizar um tabuleiro de xadrez.  \n- Movimentar peças de acordo com as regras do jogo.  \n- Detectar jogadas especiais, como **roque**, **promoção de peão** e **xeque**.  \n- Gerenciar turnos e alternar entre os jogadores.  \n- Identificar situações de **xeque-mate** e encerrar a partida.  \n\nEste projeto foi desenvolvido como um estudo para reforçar conceitos de POO e estruturas de dados.\n\n---\n\n## 🛠️ Tecnologias Utilizadas\n\n- **Java 17+**  \n- Desenvolvimento baseado em **IDE Eclipse** (ou outra IDE, se aplicável).  \n\n---\n\n## 🛠️ Estrutura do Projeto\n\nO projeto segue uma estrutura modular, com as principais classes organizadas em pacotes como:  \n- **boardgame**: Classes responsáveis por abstrair o tabuleiro e as peças genéricas.  \n- **chess**: Classes específicas das regras e peças do xadrez.  \n- **application**: Classe principal com o programa executável.  \n\n---\n\n## 🚀 Como Executar\n\n1. Clone este repositório:  \n   ```bash\n   git clone https://github.com/seu-usuario/chess-system-java.git\n   cd chess-system-java\n   ```\n\n2. Importe o projeto para sua IDE preferida (Eclipse, IntelliJ, etc.).  \n\n3. Compile e execute a aplicação:  \n   - A aplicação será executada no console.  \n   - Siga as instruções exibidas para movimentar peças e jogar a partida.  \n\n---\n\n## 🖼️ Demonstração\n\n### Inicialização do Tabuleiro  \n```\n8  r n b q k b n r\n7  p p p p p p p p\n6  - - - - - - - -\n5  - - - - - - - -\n4  - - - - - - - -\n3  - - - - - - - -\n2  P P P P P P P P\n1  R N B Q K B N R\n   a b c d e f g h\n```\n\n### Movendo uma peça  \n- Insira as coordenadas de origem e destino:  \n  ```\n  Origem: e2  \n  Destino: e4  \n  ```\n- O tabuleiro será atualizado após cada jogada.  \n\n---\n\n## 📦 Funcionalidades em Destaque\n\n- **Validação de Movimentos**: O sistema valida se a jogada é permitida antes de realizá-la.  \n- **Tratamento de Exceções**: Feedback claro para entradas inválidas, como posições fora do tabuleiro ou jogadas ilegais.  \n- **Jogadas Especiais**: Suporte a regras específicas do xadrez, como **roque** e **promoção de peão**.  \n\n---\n\n## 🎯 Aprendizados e Conceitos Aplicados\n\n- Programação Orientada a Objetos: Herança, polimorfismo e encapsulamento.  \n- Manipulação de matrizes para representar o tabuleiro.  \n- Uso de exceções para tratar situações inválidas.  \n- Design modular com separação de responsabilidades.  \n\n---\n\n## 🤝 Contribuição\n\nEmbora este projeto seja de caráter educacional, contribuições são bem-vindas! Caso deseje sugerir melhorias ou criar novas funcionalidades, sinta-se à vontade para abrir uma **Issue** ou enviar um **Pull Request**.\n\n---\n\n## 📝 Licença\n\nEste projeto foi desenvolvido como parte de um curso e segue um objetivo educacional. Consulte o curso original do **Nelio Alves** para mais informações sobre o conteúdo abordado.\n\n---\n\n## 📫 Contato\n\n- **Autor**: Levi Braga Dantas  \n- **E-mail**: [levibdantas@gmail.com](mailto:seu-email@example.com)  \n- **LinkedIn**: [https://www.linkedin.com/in/levi-dantas-a088a318b/](https://linkedin.com/in/seu-perfil)\n\n---\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevibd%2Fchess-system-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevibd%2Fchess-system-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevibd%2Fchess-system-java/lists"}