TP_PDS2
Sistema para gestão de jogadores e execução de jogos clássicos
 
Loading...
Searching...
No Matches
🎮 Trabalho Prático PDS2 - Sistema de Jogos

C++ Version
License
Documentation

Sistema completo para gerenciamento de jogadores e execução de jogos clássicos, desenvolvido em C++11 com documentação Doxygen.

Menu Do Jogo

đź“‹ Tabela de ConteĂşdos

  • ✨ Funcionalidades
  • 🏗️ Arquitetura do Sistema
  • 🛠️ Instalação e Uso
  • 📚 Documentação
  • 🎯 Dificuldades e Soluções
  • đź“„ Licença

✨ Funcionalidades

đź§‘đź’» Sistema de Jogadores

  • Cadastro/remoção de jogadores com apelido Ăşnico.
  • Listagem detalhada com estatĂ­sticas por jogo.
  • PersistĂŞncia em arquivo texto.

🎲 Jogos Implementados

Jogo Tabuleiro Modo de VitĂłria CaracterĂ­sticas Especiais
Jogo da Velha 3x3 Linha/Coluna/Diagonal Detecção de empate
Connect4 Variável 4 em linha vertical/horizontal/diagonal Sistema de colunas
Reversi 8x8 Contagem de peças Mecânica de captura de peças

📊 Estatísticas

  • HistĂłrico individual por jogador.
  • VitĂłrias/derrotas por tipo de jogo.

🏗️ Arquitetura do Sistema

📦 TP_PDS2
├── 📂 include
│ ├── Cadastro.hpp # Gerenciamento de jogadores (cabeçalho)
│ ├── Tabuleiro.hpp # Interface base de tabuleiro (cabeçalho)
│ ├── Jogo.hpp # Interface base para jogos (cabeçalho)
│ ├── GerenciadorDeJogos.hpp # Controlador principal (cabeçalho)
│ ├── Jogo_Da_Velha.hpp # Implementação do Jogo Da Velha (cabeçalho)
│ ├── Reversi.hpp # Implementação do Reversi (cabeçalho)
│ └── Connect4.hpp # Implementação do Connect 4 (cabeçalho)
├── 📂 src
│ ├── Cadastro.cpp # Gerenciamento de jogadores (implementação)
│ ├── Tabuleiro.cpp # Interface base de tabuleiro (implementação)
│ ├── Jogo.cpp # Interface base para jogos (implementação)
│ ├── GerenciadorDeJogos.cpp # Controlador principal (implementação)
│ ├── Jogo_Da_Velha.cpp # Implementação do Jogo Da Velha (implementação)
│ ├── Reversi.cpp # Implementação do Reversi (implementação)
│ ├── Connect4.cpp # Implementação do Connect 4 (implementação)
│ └── main.cpp # Executor do programa
├── 📂 gamedata
│ └── logs_jogadores.txt # Banco de dados de jogadores
├── 📂 bin
│ └── main.exe # Executável
├── Makefile # Instruções de compilação

🛠️ Instalação e Uso

Requisitos

  • Compilador C++11 (g++ ou Clang).
  • Doxygen (para documentação).
  • Make (opcional, facilita compilação).

Compilação

git clone https://github.com/mateusacq/tp_pds2
make all

Execução

./bin/main

Gerar Documentação

doxygen Doxyfile
# Acesse docs/html/index.html

📚 Documentação

🔗 Acesse a Documentação Completa

🎯 Dificuldades e Soluções

Desafio Solução Implementada Tecnologia Utilizada
Persistência de dados Serialização em arquivo texto Streams C++
Validação de jogadas complexas Padrão Strategy Polimorfismo
Interface genérica para jogos Classe base abstrata Herança em C++

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.


Desenvolvido por Felipe Damasceno, Caio Onofre, Mateus Antinossi e Emmanuel Figueiredo