Alunos: Leandro Evaristo de Sousa
Mateus Alves Viegas
Este é um sistema completo em Java para gerenciar e simular partidas do popular jogo de cartas Truco. O projeto permite o cadastro de jogadores, a formação de duplas e a execução de partidas completas, seguindo regras específicas como a "Mão de 11" e a jogada "no escuro".
O sistema foi desenvolvido com uma arquitetura que separa a lógica do jogo, os modelos de dados e a interface do usuário, e oferece duas maneiras de interação:
- Interface de Console (TUI): Um menu interativo via terminal para todas as funcionalidades.
- Interface Gráfica (GUI): Uma janela criada com Java Swing para um gerenciamento mais visual.
Além disso, cada partida jogada gera automaticamente um arquivo de log .txt com o registro detalhado de todas as ações, desde as cartas distribuídas até o placar final.
- Gerenciamento de Jogadores e Duplas: Cadastre jogadores e forme duplas para as partidas.
- Duas Interfaces de Uso:
- Menu completo via console.
- Janela interativa com interface gráfica (Swing).
- Lógica de Truco Completa:
- Sistema de rodadas (melhor de três).
- Lógica para pedir "Truco", "Seis", "Nove" e "Doze".
- Validação de regras, como a Mão de 11, que impede o pedido de truco e pode resultar em vitória do adversário.
- Jogada Tática "No Escuro": Permite que um jogador descarte uma carta, tratando-a como a mais fraca da rodada para salvar cartas melhores.
- Log Automático de Partidas: Cada partida é salva em um arquivo
.txtúnico com data e hora, registrando todas as jogadas e eventos. - Tratamento de Exceções: O sistema é robusto e guia o usuário com mensagens de erro claras para entradas inválidas ou quebra de regras.
- Java: Linguagem principal do projeto.
- Java Swing: Biblioteca utilizada para a construção da interface gráfica (GUI).
O código-fonte está organizado em pacotes para manter uma arquitetura limpa e organizada:
com.controller: Contém as classes que gerenciam a lógica e o fluxo do programa.Main.java: Ponto de entrada da aplicação via console.SistemaTruco.java: Controla o menu do console e o gerenciamento geral.Partida.java: O coração do projeto, onde toda a lógica de uma partida de truco acontece.
com.model: Contém as classes que representam os dados do sistema.Jogador.java: Modela um jogador.Dupla.java: Modela uma dupla de jogadores.Manilha.java: Controla o baralho, a força das cartas e regras associadas.Historico.java: Gerencia a criação e escrita dos arquivos de log.
com.view: Contém as classes responsáveis pela interface gráfica.TrucoGUI.java: Define e controla a janela principal da aplicação.
com.exception: Contém as classes de exceções customizadas para tratamento de erros.OpcaoInvalidaException.javaRegraTrucoException.javaEntradaNaoNumericaException.java
- É necessário ter o JDK (Java Development Kit) instalado em sua máquina.
-
Navegue até a pasta raiz do seu projeto (a pasta que contém a pasta
com). -
Compile todos os arquivos
.javacom o seguinte comando:javac com/model/*.java com/exception/*.java com/controller/*.java com/view/*.java
-
Após a compilação, você pode executar o sistema de duas formas:
- Para iniciar a interface de Console:
java com.controller.Main
- Para iniciar a Interface Gráfica (GUI):
java com.view.TrucoGUI
- Para iniciar a interface de Console:
Você pode importar o projeto em uma IDE como IntelliJ IDEA, Eclipse ou VS Code e executar diretamente o método main da classe Main.java (para o console) ou TrucoGUI.java (para a interface gráfica).
- Ao executar
Main.java, um menu com opções numéricas será exibido. - Siga as instruções: cadastre pelo menos 4 jogadores, depois crie 2 duplas e, por fim, inicie a partida.
- Ao executar
TrucoGUI.java, uma janela será aberta. - Passo 1: No painel superior, adicione os jogadores um por um.
- Passo 2: No painel à esquerda, dê um nome para a dupla, selecione dois jogadores diferentes nas caixas de seleção e clique em "Criar Dupla". Repita para a segunda dupla.
- Passo 3: Na tabela central, as duplas criadas aparecerão. Selecione as duas duplas que irão jogar (clique na primeira, segure
Ctrle clique na segunda). - Passo 4: Clique no botão "Iniciar Partida entre Duplas Selecionadas".
- Importante: A partida em si acontecerá na janela do terminal de onde você executou o programa. A interface gráfica serve para gerenciar os dados e iniciar o jogo. Ao final da partida, o placar na tabela será atualizado.