Skip to content

Brunocor26/ChessFX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChessFX - Xadrez em JavaFX

O ChessFX é uma aplicação de xadrez desenvolvida em Java utilizando a biblioteca JavaFX para a interface gráfica. O projeto implementa as regras fundamentais do xadrez, permitindo partidas entre dois jogadores locais ou contra uma Inteligência Artificial (IA) simples.

🚀 Funcionalidades

  • Modos de Jogo: Suporta partidas localmente (Humano vs Humano) e um modo Humano vs IA.

  • Regras Completas: Inclui movimentos especiais como:

  • Roque (Grande e Pequeno).

  • En Passant.

  • Promoção de Peão através de uma janela interativa.

  • Sistema de Relógio: Cada jogador tem um tempo limite (ex: 10 minutos) que é decrementado durante o seu turno.

  • Cemitério de Peças: Visualização das peças capturadas por cada jogador.

  • Personalização: Permite a alteração do tema do tabuleiro (Castanho, Azul ou Verde) e do estilo das peças através de ficheiros CSS.

  • Efeitos Sonoros: Sons integrados para movimentos, capturas e fim de jogo.

  • IA Básica: Um motor de jogo que avalia as capturas disponíveis para decidir o melhor movimento.

🛠️ Tecnologias Utilizadas

  • Java: Linguagem principal do projeto.
  • JavaFX: Utilizado para a interface de utilizador (UI) e gestão de eventos.
  • FXML: Para a definição da estrutura das vistas (menus, tabuleiros).
  • CSS: Para a estilização dinâmica dos temas do jogo.

📂 Estrutura do Projeto (src)

  • ChessFX.java: Classe principal que inicia a aplicação e carrega o menu inicial.
  • controller/: Contém a lógica de controlo, incluindo o BoardController.java (lógica do tabuleiro) e gestão de turnos.
  • models/: Classes que representam as peças (Rei, Rainha, Torre, Bispo, Cavalo, Peão) e as suas regras de movimento.
  • view/: Ficheiros FXML que definem a interface visual (Menu, Tabuleiro, Promoção).
  • resources/: Recursos multimédia como imagens (peças e tabuleiros), sons e fontes.

🎮 Como Jogar

  1. Iniciar: Execute a classe ChessFX.
  2. Configurar: No menu inicial, escolha o tema visual pretendido e se deseja jogar contra a IA.
  3. Movimentar: Clique numa peça para ver os seus movimentos válidos (destacados no tabuleiro) e clique na casa de destino para completar a jogada.
  4. Vencer: O jogo termina por xeque-mate, esgotamento de tempo ou desistência de um dos jogadores.

Projeto desenvolvido em ambiente NetBeans e no âmbito da UC de Interação Humana com o Computador.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors