MINECRAFT - FGA - 2025/1 - Python Edition

Conteúdo:

  • 1. Módulo 1
    • 1.1. Diagrama Entidade-Relacionamento (DER)
    • 1.2. Modelo Relacional
    • 1.3. Dicionário de Dados Completo
      • 1.3.1. Tabelas de Personagens e Entidades Vivas
    • 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.11.1. Tabelas de Mundo e Ambiente
    • 1.12. Tabela: Mapa
    • 1.13. Tabela: Chunk
    • 1.14. Tabela: Bioma
      • 1.14.1. Tabelas de Estruturas e Construções
    • 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.19.1. Tabelas de Itens e Interação
    • 1.20. Tabela: Inventario
    • 1.21. Tabela: Bau
    • 1.22. Tabela: Item
    • 1.23. Tabela: instancia_item
      • 1.23.1. Tabelas de Jogo e Missões
    • 1.24. Tabela: Missao
    • 1.25. Tabela: Dialogo
      • 1.25.1. Tabelas de Especialização (Herança)
  • 2. Módulo 2
    • 2.1. Vídeo de Demonstração
    • 2.2. Esquema do Banco de Dados (DDL)
    • 2.3. Manipulação de Dados (DML)
    • 2.4. Linguagem de Consulta de Dados (DQL)
    • 2.5. DML: Geração de 1000 Chunks
  • 3. Módulo 3
    • 3.1. Triggers e Procedures (T-SQL)
    • 3.2. Trigger de Verificação de Especialização de Aldeão
    • 3.3. Trigger de Limpeza de Especialização Antiga
    • 3.4. Vídeo de Demonstração
  • 4. Minecraft Legends
    • 4.1. Entidades minecraft legends
      • 4.1.1. História
      • 4.1.2. Roteiro possível
      • 4.1.3. Heroi
      • 4.1.4. Entidades
      • 4.1.5. Missões secundárias
      • 4.1.6. Missão principal
      • 4.1.7. Missões Bonus
      • 4.1.8. Tropas
      • 4.1.9. Fantasmas
      • 4.1.10. Piglins
      • 4.1.11. Fortaleza dos piglins
      • 4.1.12. Vila dos villagers
      • 4.1.13. Observações
      • 4.1.14. DER
  • 5. Instalação
    • 5.1. Pré-requisitos
    • 5.2. Instalação do Docker
    • 5.3. Clonando o Repositório
    • 5.4. Configuração do Ambiente
    • 5.5. Verificação da Instalação
    • 5.6. Solução de Problemas
      • 5.6.1. Problema: Erro de conexão com banco de dados
      • 5.6.2. Problema: Porta 5433 já em uso
      • 5.6.3. Problema: Permissões no Linux
    • 5.7. Próximos Passos
  • 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.6.1. Listando Personagens
      • 6.6.2. Selecionando um Personagem
      • 6.6.3. Deletando um Personagem
    • 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
    • 7.1. Interface do Jogo
      • 7.1.1. Tela Inicial
      • 7.1.2. Menu Principal
    • 7.2. Sistema de Personagens
      • 7.2.1. Criação de Personagens
      • 7.2.2. Gerenciamento de Personagens
        • 7.2.2.1. Lista de Personagens
        • 7.2.2.2. Seleção de Personagem
        • 7.2.2.3. Deleção de Personagens
    • 7.3. Sistema de Localização
      • 7.3.1. Biomas Disponíveis
      • 7.3.2. Mapas e Turnos
      • 7.3.3. Chunks
    • 7.4. Sistema de Status
      • 7.4.1. Atributos do Personagem
      • 7.4.2. Status Detalhado
    • 7.5. Sistema de Persistência
      • 7.5.1. Salvamento Automático
      • 7.5.2. Salvamento Manual
      • 7.5.3. Banco de Dados
    • 7.6. Interface e Usabilidade
      • 7.6.1. Cores e Emojis
      • 7.6.2. Navegação
      • 7.6.3. Tratamento de Erros
    • 7.7. Dicas e Truques
      • 7.7.1. Dicas Gerais
      • 7.7.2. Boas Práticas
    • 7.8. Próximos Passos
    • 7.9. Sistema de Movimento
      • 7.9.1. Movimento com Direções
      • 7.9.2. Informação de Bioma Inteligente
      • 7.9.3. Como Mover
    • 7.10. Sistema de Localização
  • 8. Modelos
    • 8.1. Estrutura de Models
    • 8.2. Player
      • Player
        • Player.__eq__()
        • Player.__hash__()
        • Player.__post_init__()
        • Player.__repr__()
        • Player.__str__()
        • Player.current_chunk_id
        • Player.experiencia
        • Player.forca
        • Player.gain_experience()
        • Player.get_health_bar()
        • Player.get_health_percentage()
        • Player.heal()
        • Player.id_player
        • Player.inventario
        • Player.is_alive()
        • Player.level_up()
        • Player.localizacao
        • Player.nivel
        • Player.nome
        • Player.take_damage()
        • Player.vida_atual
        • Player.vida_maxima
    • 8.3. PlayerSession
      • PlayerSession
        • PlayerSession.__repr__()
        • PlayerSession.__str__()
        • PlayerSession.can_move()
        • PlayerSession.chunk_bioma
        • PlayerSession.chunk_mapa_nome
        • PlayerSession.chunk_mapa_turno
        • PlayerSession.forca
        • PlayerSession.gain_xp()
        • PlayerSession.get_health_bar()
        • PlayerSession.get_health_percentage()
        • PlayerSession.get_location_display()
        • PlayerSession.heal()
        • PlayerSession.id_chunk_atual
        • PlayerSession.id_player
        • PlayerSession.is_alive()
        • PlayerSession.nome
        • PlayerSession.take_damage()
        • PlayerSession.to_dict()
        • PlayerSession.vida_atual
        • PlayerSession.vida_max
        • PlayerSession.xp
    • 8.4. Chunk
      • Chunk
        • Chunk.__eq__()
        • Chunk.__hash__()
        • Chunk.__repr__()
        • Chunk.__str__()
        • Chunk.belongs_to_map()
        • Chunk.get_adjacent_chunk_ids()
        • Chunk.get_bioma_type()
        • Chunk.get_display_name()
        • Chunk.get_map_key()
        • Chunk.id_bioma
        • Chunk.id_chunk
        • Chunk.id_mapa
        • Chunk.is_day()
        • Chunk.is_desert()
        • Chunk.is_forest()
        • Chunk.is_jungle()
        • Chunk.is_night()
        • Chunk.is_ocean()
        • Chunk.x
        • Chunk.y
    • 8.5. Bioma
      • Bioma
        • Bioma.__eq__()
        • Bioma.__hash__()
        • Bioma.__repr__()
        • Bioma.__str__()
        • Bioma.descricao
        • Bioma.id_bioma
        • Bioma.nome
      • BiomaType
        • BiomaType.DESERTO
        • BiomaType.FLORESTA
        • BiomaType.OCEANO
        • BiomaType.SELVA
    • 8.6. Mapa
      • Mapa
        • Mapa.__eq__()
        • Mapa.__hash__()
        • Mapa.__post_init__()
        • Mapa.__repr__()
        • Mapa.__str__()
        • Mapa.chunks
        • Mapa.get_bioma_distribution()
        • Mapa.get_chunk_by_id()
        • Mapa.get_chunks()
        • Mapa.get_chunks_by_bioma()
        • Mapa.get_display_info()
        • Mapa.id_mapa
        • Mapa.is_day_map()
        • Mapa.is_night_map()
        • Mapa.nome
        • Mapa.set_chunk_repository()
        • Mapa.turno
      • TurnoType
        • TurnoType.DIA
        • TurnoType.NOITE
    • 8.7. Item
      • Item
        • Item.__hash__()
        • Item.durabilidade
        • Item.id_item
        • Item.nome
        • Item.poder
        • Item.tipo
    • 8.8. InventoryEntry
      • InventoryEntry
        • InventoryEntry.id
        • InventoryEntry.item_id
        • InventoryEntry.player_id
        • InventoryEntry.quantidade
    • 8.9. Relacionamentos do Banco de Dados
    • 8.10. Integração com o Sistema
    • 8.11. Vantagens da Arquitetura de Models
    • 8.12. Padrões de Uso
    • 8.13. Exemplos Avançados
  • 9. Referência da API
    • 9.1. Módulos Principais
    • 9.2. Módulo Models
      • Player
        • Player.__eq__()
        • Player.__hash__()
        • Player.__post_init__()
        • Player.__repr__()
        • Player.__str__()
        • Player.current_chunk_id
        • Player.experiencia
        • Player.forca
        • Player.gain_experience()
        • Player.get_health_bar()
        • Player.get_health_percentage()
        • Player.heal()
        • Player.id_player
        • Player.inventario
        • Player.is_alive()
        • Player.level_up()
        • Player.localizacao
        • Player.nivel
        • Player.nome
        • Player.take_damage()
        • Player.vida_atual
        • Player.vida_maxima
      • PlayerSession
        • PlayerSession.__repr__()
        • PlayerSession.__str__()
        • PlayerSession.can_move()
        • PlayerSession.chunk_bioma
        • PlayerSession.chunk_mapa_nome
        • PlayerSession.chunk_mapa_turno
        • PlayerSession.forca
        • PlayerSession.gain_xp()
        • PlayerSession.get_health_bar()
        • PlayerSession.get_health_percentage()
        • PlayerSession.get_location_display()
        • PlayerSession.heal()
        • PlayerSession.id_chunk_atual
        • PlayerSession.id_player
        • PlayerSession.is_alive()
        • PlayerSession.nome
        • PlayerSession.take_damage()
        • PlayerSession.to_dict()
        • PlayerSession.vida_atual
        • PlayerSession.vida_max
        • PlayerSession.xp
      • Chunk
        • Chunk.__eq__()
        • Chunk.__hash__()
        • Chunk.__repr__()
        • Chunk.__str__()
        • Chunk.belongs_to_map()
        • Chunk.get_adjacent_chunk_ids()
        • Chunk.get_bioma_type()
        • Chunk.get_display_name()
        • Chunk.get_map_key()
        • Chunk.id_bioma
        • Chunk.id_chunk
        • Chunk.id_mapa
        • Chunk.is_day()
        • Chunk.is_desert()
        • Chunk.is_forest()
        • Chunk.is_jungle()
        • Chunk.is_night()
        • Chunk.is_ocean()
        • Chunk.x
        • Chunk.y
      • Mapa
        • Mapa.__eq__()
        • Mapa.__hash__()
        • Mapa.__post_init__()
        • Mapa.__repr__()
        • Mapa.__str__()
        • Mapa.chunks
        • Mapa.get_bioma_distribution()
        • Mapa.get_chunk_by_id()
        • Mapa.get_chunks()
        • Mapa.get_chunks_by_bioma()
        • Mapa.get_display_info()
        • Mapa.id_mapa
        • Mapa.is_day_map()
        • Mapa.is_night_map()
        • Mapa.nome
        • Mapa.set_chunk_repository()
        • Mapa.turno
      • TurnoType
        • TurnoType.DIA
        • TurnoType.NOITE
      • Bioma
        • Bioma.__eq__()
        • Bioma.__hash__()
        • Bioma.__repr__()
        • Bioma.__str__()
        • Bioma.descricao
        • Bioma.id_bioma
        • Bioma.nome
      • BiomaType
        • BiomaType.DESERTO
        • BiomaType.FLORESTA
        • BiomaType.OCEANO
        • BiomaType.SELVA
      • 9.2.1. Player
        • Player
      • 9.2.2. Chunk
        • Chunk
      • 9.2.3. Mapa
        • Mapa
      • 9.2.4. Bioma
        • Bioma
    • 9.3. Módulo Repositories
      • 9.3.1. PlayerRepository
      • 9.3.2. ChunkRepository
      • 9.3.3. MapaRepository
      • 9.3.4. BiomaRepository
    • 9.4. Módulo Services
      • 9.4.1. InterfaceService
      • 9.4.2. GameService
    • 9.5. Módulo player_manager
      • 9.5.1. PlayerSession
      • 9.5.2. Funções de Gerenciamento
      • 9.5.3. Funções de Exibição
    • 9.6. Módulo db_helpers
      • check_data_seeded()
      • check_database_connection()
      • check_map_with_1000_chunks()
      • check_new_structure_tables()
      • check_tables_exist()
      • connection_db()
      • execute_sql_file()
      • initialize_database()
      • setup_database()
      • 9.6.1. Conexão com Banco
        • connection_db()
      • 9.6.2. Execução de SQL
        • execute_sql_file()
      • 9.6.3. Verificações
        • check_database_connection()
        • check_tables_exist()
        • check_data_seeded()
      • 9.6.4. Inicialização
        • initialize_database()
        • setup_database()
    • 9.7. Módulo display
      • 9.7.1. Interface Principal
      • 9.7.2. Funções de Jogo
      • 9.7.3. Gerenciamento de Personagens
      • 9.7.4. Utilitários
    • 9.8. Módulo Utils
      • check_data_seeded()
      • check_database_connection()
      • check_map_with_1000_chunks()
      • check_new_structure_tables()
      • check_tables_exist()
      • connection_db()
      • execute_sql_file()
      • initialize_database()
      • setup_database()
      • 9.8.1. Conexão com Banco
        • connection_db()
      • 9.8.2. Execução de SQL
        • execute_sql_file()
      • 9.8.3. Verificações
        • check_database_connection()
        • check_tables_exist()
        • check_data_seeded()
      • 9.8.4. Inicialização
        • initialize_database()
        • setup_database()
    • 9.9. Estrutura de Dados
      • 9.9.1. Player
      • 9.9.2. Chunk
      • 9.9.3. Mapa
      • 9.9.4. Bioma
    • 9.10. Padrões de Uso
      • 9.10.1. Gerenciamento de Jogadores
      • 9.10.2. Gerenciamento de Chunks
      • 9.10.3. Uso dos Services
    • 9.11. Próximos Passos
  • 10. Banco de Dados
    • 10.1. Visão Geral
    • 10.2. Configuração
      • 10.2.1. Docker Compose
      • 10.2.2. Conexão
    • 10.3. Estrutura do Banco
      • 10.3.1. Tabelas Principais
        • 10.3.1.1. Bioma
        • 10.3.1.2. Mapa
        • 10.3.1.3. Chunk
        • 10.3.1.4. Jogador
        • 10.3.1.5. Inventario
    • 10.4. Diagrama ER
    • 10.5. Relacionamentos
      • 10.5.1. Bioma → Chunk
      • 10.5.2. Mapa → Chunk
      • 10.5.3. Chunk → Jogador
      • 10.5.4. Jogador → Inventario
    • 10.6. Índices
    • 10.7. Scripts de Inicialização
      • 10.7.1. DDL (Data Definition Language)
      • 10.7.2. DML (Data Manipulation Language)
      • 10.7.3. DML com 1000 Chunks
    • 10.8. Sistema de Verificação Automática
      • 10.8.1. Verificação de Tabelas
      • 10.8.2. Verificação de Dados Iniciais
      • 10.8.3. Verificação do Mapa com 1000 Chunks
      • 10.8.4. Lógica de Inicialização
    • 10.9. Estrutura do Mapa de 1000 Chunks
      • 10.9.1. Distribuição dos Biomas
      • 10.9.2. Geração Automática
    • 10.10. Dados Iniciais
      • 10.10.1. Biomas
      • 10.10.2. Mapas
      • 10.10.3. Chunks (Básico - 4 chunks)
      • 10.10.4. Chunks (Completo - 2000 chunks)
      • 10.10.5. Personagens de Exemplo
      • 10.10.6. Inventários de Exemplo
    • 10.11. Queries Comuns
      • 10.11.1. Buscar Personagem com Localização
      • 10.11.2. Listar Todos os Personagens
      • 10.11.3. Verificar Nome Único
      • 10.11.4. Atualizar Dados do Personagem
      • 10.11.5. Verificar Mapa com 1000 Chunks
    • 10.12. Backup e Restauração
      • 10.12.1. Backup Automático
      • 10.12.2. Backup Manual
      • 10.12.3. Restauração
    • 10.13. Monitoramento
      • 10.13.1. Verificar Status
      • 10.13.2. Verificar Tabelas
      • 10.13.3. Verificar Mapa Completo
    • 10.14. Performance
      • 10.14.1. Otimizações Implementadas
      • 10.14.2. Monitoramento de Performance
    • 10.15. Próximos Passos
    • 10.16. Sistema de Jogo
    • 10.17. Visão Geral
    • 10.18. Localização dos Personagens
      • 10.18.1. Sistema de Chunks
      • 10.18.2. Biomas Disponíveis
      • 10.18.3. Turnos
    • 10.19. Inicialização de Personagens
      • 10.19.1. Novos Personagens
      • 10.19.2. Personagens Existentes
    • 10.20. Sistema de Movimento
      • 10.20.1. Chunks Adjacentes
      • 10.20.2. Lógica de Movimento
    • 10.21. Interface de Jogo
      • 10.21.1. Tela Principal
      • 10.21.2. Opções de Movimento
    • 10.22. Sistema de Sessão
      • 10.22.1. PlayerSession
      • 10.22.2. Gerenciamento de Estado
    • 10.23. Funções de Movimento
      • 10.23.1. get_adjacent_chunks()
      • 10.23.2. move_player_to_chunk()
      • 10.23.3. ensure_player_location()
    • 10.24. Queries de Movimento
      • 10.24.1. Buscar Chunks Adjacentes
      • 10.24.2. Mover Personagem
      • 10.24.3. Buscar Chunk de Deserto
    • 10.25. Exemplos de Uso
      • 10.25.1. Criar Personagem no Deserto
      • 10.25.2. Mover Personagem
      • 10.25.3. Verificar Localização
    • 10.26. Monitoramento de Jogo
      • 10.26.1. Verificar Movimento
      • 10.26.2. Estatísticas de Biomas
    • 10.27. Performance
      • 10.27.1. Otimizações de Movimento
      • 10.27.2. Monitoramento de 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
    • 12.1. Estrutura do Projeto
    • 12.2. Arquitetura
      • 12.2.1. Padrão de Arquitetura
      • 12.2.2. Fluxo de Dados
      • 12.2.3. Padrão Repository
    • 12.3. Configuração do Ambiente
      • 12.3.1. Pré-requisitos
      • 12.3.2. Configuração Local
      • 12.3.3. Desenvolvimento com Docker
    • 12.4. Estrutura do Código
      • 12.4.1. Módulo Models
      • 12.4.2. Módulo Repositories
      • 12.4.3. Módulo Services
      • 12.4.4. Módulo Interface
      • 12.4.5. Módulo Utils
    • 12.5. Padrões de Código
      • 12.5.1. Convenções de Nomenclatura
      • 12.5.2. Documentação
      • 12.5.3. Tratamento de Erros
      • 12.5.4. Validação de Dados
    • 12.6. Testes
      • 12.6.1. Estrutura de Testes
      • 12.6.2. Tipos de Testes
      • 12.6.3. Executando Testes
      • 12.6.4. Configuração do Pytest
      • 12.6.5. Cobertura de Código
    • 12.7. Debugging
      • 12.7.1. Logs
      • 12.7.2. Debug no Container
      • 12.7.3. Debug no VS Code
    • 12.8. Deploy e CI/CD
      • 12.8.1. GitHub Actions
      • 12.8.2. Deploy Automático
    • 12.9. Versionamento
      • 12.9.1. Semantic Versioning
      • 12.9.2. Changelog
      • 12.9.3. Commits
    • 12.10. Próximos Passos
  • 13. Contribuindo
    • 13.1. Tipos de Contribuição
    • 13.2. Processo de Contribuição
      • 13.2.1. Reportando Bugs
    • 13.3. Template de Bug Report
    • 13.4. Informações Necessárias
      • 13.4.1. Desenvolvimento
    • 13.5. Configuração do Ambiente
    • 13.6. Criando uma Branch
      • 13.6.1. Padrões de Código
    • 13.7. Estilo de Código
    • 13.8. Documentação
    • 13.9. Tratamento de Erros
      • 13.9.1. Testes
    • 13.10. Organização dos Testes
    • 13.11. Escrevendo Testes
    • 13.12. Executando Testes
      • 13.12.1. Commits
    • 13.13. Convenções de Commit
    • 13.14. Mensagens de Commit
      • 13.14.1. Pull Requests
    • 13.15. Criando um PR
      • 13.15.1. Documentação
    • 13.16. Atualizando Documentação
    • 13.17. Estrutura de Documentação
MINECRAFT - FGA - 2025/1 - Python Edition
  • Search


© Copyright 2025, SBD1 - Universidade de Brasília.

Built with Sphinx using a theme provided by Read the Docs.