🟩 MINECRAFT - FGA - 2025/1 - Python Edition
Bem-vindo à documentação do MINECRAFT - FGA - 2025/1, desenvolvido para a disciplina de Sistemas de Banco de Dados 1 (SBD1) — 2025.1.
Este projeto recria o MINECRAFT - FGA - 2025/1 utilizando SQL e Python, com ambiente isolado via Docker para facilitar a execução e portabilidade.
Conteúdo:
- 1. Módulo 1
- 1.1. Diagrama Entidade-Relacionamento (DER)
- 1.2. Modelo Relacional
- 1.3. Dicionário de Dados Completo
- 1.4. Tabela: Heroi
- 1.5. Tabela: Aldeao
- 1.6. Tabela: Chefao
- 1.7. Tabela: Tropa
- 1.8. Tabela: Instancia_tropa
- 1.9. Tabela: Piglin
- 1.10. Tabela: Fantasma_construtor e Fantasma_minerador
- 1.11. Tabela: Anfitriao
- 1.12. Tabela: Mapa
- 1.13. Tabela: Chunk
- 1.14. Tabela: Bioma
- 1.15. Tabela: Vila_aldeao
- 1.16. Tabela: Casa_aldeao
- 1.17. Tabela: Fortaleza
- 1.18. Tabela: Estrutura
- 1.19. Tabelas de Construções Específicas
- 1.20. Tabela: Inventario
- 1.21. Tabela: Bau
- 1.22. Tabela: Item
- 1.23. Tabela: instancia_item
- 1.24. Tabela: Missao
- 1.25. Tabela: Dialogo
- 2. Módulo 2
- 3. Módulo 3
- 4. Minecraft Legends
- 5. Instalação
- 6. Início Rápido
- 6.1. Primeira Execução
- 6.2. Criando seu Primeiro Personagem
- 6.3. Navegando pelo Menu
- 6.4. Sistema de Movimento
- 6.5. Biomas Disponíveis
- 6.6. Gerenciando Personagens
- 6.7. Verificando o Status
- 6.8. Salvando Progresso
- 6.9. Resolução de Problemas
- 6.10. Estrutura do Mundo
- 6.11. Saindo do Jogo
- 6.12. Próximos Passos
- 6.13. Funcionalidades Avançadas
- 7. Guia do Usuário
- 8. Modelos
- 9. Referência da API
- 10. Banco de Dados
- 10.1. Visão Geral
- 10.2. Configuração
- 10.3. Estrutura do Banco
- 10.4. Diagrama ER
- 10.5. Relacionamentos
- 10.6. Índices
- 10.7. Scripts de Inicialização
- 10.8. Sistema de Verificação Automática
- 10.9. Estrutura do Mapa de 1000 Chunks
- 10.10. Dados Iniciais
- 10.11. Queries Comuns
- 10.12. Backup e Restauração
- 10.13. Monitoramento
- 10.14. Performance
- 10.15. Próximos Passos
- 10.16. Sistema de Jogo
- 10.17. Visão Geral
- 10.18. Localização dos Personagens
- 10.19. Inicialização de Personagens
- 10.20. Sistema de Movimento
- 10.21. Interface de Jogo
- 10.22. Sistema de Sessão
- 10.23. Funções de Movimento
- 10.24. Queries de Movimento
- 10.25. Exemplos de Uso
- 10.26. Monitoramento de Jogo
- 10.27. Performance
- 10.28. Próximos Passos
- 11. Álgebra Relacional
- 11.1. Operadores Fundamentais
- 11.2. Estrutura Atual do Banco de Dados
- 11.3. Consultas Básicas
- 11.4. Consultas de Filtragem
- 11.5. Consultas com Junções
- 11.6. Consultas de Agregação (Conceitual)
- 11.7. Consultas Avançadas
- 11.8. Consultas de Diferença e União
- 11.9. Consultas de Otimização de Jogabilidade
- 11.10. Equivalências de Consulta
- 11.11. Considerações de Performance
- 11.12. Aplicações Práticas
- 12. Desenvolvimento
- 13. Contribuindo
- 13.1. Tipos de Contribuição
- 13.2. Processo de Contribuição
- 13.3. Template de Bug Report
- 13.4. Informações Necessárias
- 13.5. Configuração do Ambiente
- 13.6. Criando uma Branch
- 13.7. Estilo de Código
- 13.8. Documentação
- 13.9. Tratamento de Erros
- 13.10. Organização dos Testes
- 13.11. Escrevendo Testes
- 13.12. Executando Testes
- 13.13. Convenções de Commit
- 13.14. Mensagens de Commit
- 13.15. Criando um PR
- 13.16. Atualizando Documentação
- 13.17. Estrutura de Documentação
Características Principais
🎮 Interface de Jogo: Sistema de menus interativo com personagens
👥 Gerenciamento de Personagens: Criação, seleção e gerenciamento de personagens
🗺️ Sistema de Localização: Biomas, mapas e chunks
💾 Persistência de Dados: Banco PostgreSQL com Docker
🎨 Interface Colorida: Terminal colorido com emojis
🔄 Sistema de Sessão: Gerenciamento global de personagem ativo
🏗️ Arquitetura de Models: Estrutura organizada com models bem definidas
Tecnologias Utilizadas
Python 3.10+: Linguagem principal
PostgreSQL: Banco de dados
Docker & Docker Compose: Containerização
psycopg2: Driver PostgreSQL para Python
colorama: Cores no terminal
Sphinx: Documentação