Skip to content

MateusViegasCode/Trabalho-Truco-POO

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gerenciador de Partidas de Truco

Alunos: Leandro Evaristo de Sousa
        Mateus Alves Viegas

📖 Sobre o Projeto

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:

  1. Interface de Console (TUI): Um menu interativo via terminal para todas as funcionalidades.
  2. 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.

✨ Funcionalidades

  • 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.

🛠️ Tecnologias Utilizadas

  • Java: Linguagem principal do projeto.
  • Java Swing: Biblioteca utilizada para a construção da interface gráfica (GUI).

📁 Estrutura do Projeto

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.java
    • RegraTrucoException.java
    • EntradaNaoNumericaException.java

🚀 Como Executar o Projeto

Pré-requisitos

  • É necessário ter o JDK (Java Development Kit) instalado em sua máquina.

Compilação e Execução via Terminal

  1. Navegue até a pasta raiz do seu projeto (a pasta que contém a pasta com).

  2. Compile todos os arquivos .java com o seguinte comando:

    javac com/model/*.java com/exception/*.java com/controller/*.java com/view/*.java
  3. 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

Execução via IDE

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).

🕹️ Como Usar

Interface de Console

  • 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.

Interface Gráfica (GUI)

  • 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 Ctrl e 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%