MINECRAFT - FGA - 2025/1 - Python Edition

Conteúdo:

  • 1 Módulo 2
    • 1.1 Esquema do Banco de Dados (DDL)
    • 1.2 Manipulação de Dados (DML)
    • 1.3 Linguagem de Consulta de Dados (DQL)
    • 1.4 DML: Geração de 1000 Chunks
    • 1.5 Vídeo de Demonstração
  • Instalação
    • Pré-requisitos
    • Instalação do Docker
    • Clonando o Repositório
    • Configuração do Ambiente
    • Verificação da Instalação
    • Solução de Problemas
      • Problema: Erro de conexão com banco de dados
      • Problema: Porta 5433 já em uso
      • Problema: Permissões no Linux
    • Próximos Passos
  • Início Rápido
    • Primeira Execução
    • Criando seu Primeiro Personagem
    • Navegando pelo Menu
    • Sistema de Movimento
    • Gerenciando Personagens
      • Listando Personagens
      • Selecionando um Personagem
      • Deletando um Personagem
    • Verificando o Status
    • Salvando Progresso
    • Saindo do Jogo
    • Próximos Passos
  • Guia do Usuário
    • Interface do Jogo
      • Tela Inicial
      • Menu Principal
    • Sistema de Personagens
      • Criação de Personagens
      • Gerenciamento de Personagens
        • Lista de Personagens
        • Seleção de Personagem
        • Deleção de Personagens
    • Sistema de Localização
      • Biomas Disponíveis
      • Mapas e Turnos
      • Chunks
    • Sistema de Status
      • Atributos do Personagem
      • Status Detalhado
    • Sistema de Persistência
      • Salvamento Automático
      • Salvamento Manual
      • Banco de Dados
    • Interface e Usabilidade
      • Cores e Emojis
      • Navegação
      • Tratamento de Erros
    • Dicas e Truques
      • Dicas Gerais
      • Boas Práticas
    • Próximos Passos
    • Sistema de Movimento
      • Movimento com Direções
      • Informação de Bioma Inteligente
      • Como Mover
    • Sistema de Localização
  • Modelos
    • Estrutura de Models
    • 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_jogador
        • PlayerSession.is_alive()
        • PlayerSession.nome
        • PlayerSession.take_damage()
        • PlayerSession.to_dict()
        • PlayerSession.vida_atual
        • PlayerSession.vida_max
        • PlayerSession.xp
    • 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_mapa_nome
        • Chunk.id_mapa_turno
        • Chunk.is_day()
        • Chunk.is_desert()
        • Chunk.is_forest()
        • Chunk.is_jungle()
        • Chunk.is_night()
        • Chunk.is_ocean()
        • Chunk.numero_chunk
    • Bioma
      • Bioma
        • Bioma.__eq__()
        • Bioma.__hash__()
        • Bioma.__repr__()
        • Bioma.__str__()
        • Bioma.nome
      • BiomaType
        • BiomaType.DESERTO
        • BiomaType.FLORESTA
        • BiomaType.OCEANO
        • BiomaType.SELVA
    • Mapa
      • Mapa
        • Mapa.__eq__()
        • Mapa.__hash__()
        • Mapa.__post_init__()
        • Mapa.__repr__()
        • Mapa.__str__()
        • Mapa.get_bioma_distribution()
        • Mapa.get_chunk_by_id()
        • Mapa.get_chunks()
        • Mapa.get_chunks_by_bioma()
        • Mapa.get_display_info()
        • Mapa.is_day_map()
        • Mapa.is_night_map()
        • Mapa.nome
        • Mapa.set_chunk_repository()
        • Mapa.turno
      • TurnoType
        • TurnoType.DIA
        • TurnoType.NOITE
    • Relacionamentos do Banco de Dados
    • Integração com o Sistema
    • Vantagens da Arquitetura de Models
    • Exemplos Completos
  • Referência da API
    • Módulos Principais
    • Módulo Models
      • Player
        • Player.__eq__()
        • Player.__hash__()
        • Player.__post_init__()
        • Player.__repr__()
        • Player.__str__()
        • Player.experiencia
        • Player.forca
        • Player.gain_experience()
        • Player.get_health_bar()
        • Player.get_health_percentage()
        • Player.heal()
        • Player.id_jogador
        • 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_jogador
        • 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_mapa_nome
        • Chunk.id_mapa_turno
        • Chunk.is_day()
        • Chunk.is_desert()
        • Chunk.is_forest()
        • Chunk.is_jungle()
        • Chunk.is_night()
        • Chunk.is_ocean()
        • Chunk.numero_chunk
      • Mapa
        • Mapa.__eq__()
        • Mapa.__hash__()
        • Mapa.__post_init__()
        • Mapa.__repr__()
        • Mapa.__str__()
        • Mapa.get_bioma_distribution()
        • Mapa.get_chunk_by_id()
        • Mapa.get_chunks()
        • Mapa.get_chunks_by_bioma()
        • Mapa.get_display_info()
        • Mapa.is_day_map()
        • Mapa.is_night_map()
        • Mapa.nome
        • Mapa.set_chunk_repository()
        • Mapa.turno
      • TurnoType
        • TurnoType.DIA
        • TurnoType.NOITE
      • exemplo_uso_repository()
      • Bioma
        • Bioma.__eq__()
        • Bioma.__hash__()
        • Bioma.__repr__()
        • Bioma.__str__()
        • Bioma.nome
      • BiomaType
        • BiomaType.DESERTO
        • BiomaType.FLORESTA
        • BiomaType.OCEANO
        • BiomaType.SELVA
      • Player
        • Player
      • Chunk
        • Chunk
      • Mapa
        • Mapa
      • Bioma
        • Bioma
    • Módulo Repositories
      • PlayerRepository
      • ChunkRepository
      • MapaRepository
      • BiomaRepository
    • Módulo Services
      • InterfaceService
      • GameService
    • Módulo player_manager
      • PlayerSession
      • Funções de Gerenciamento
      • Funções de Exibição
    • Módulo db_helpers
      • check_data_seeded()
      • check_database_connection()
      • check_map_with_1000_chunks()
      • check_tables_exist()
      • connection_db()
      • execute_sql_file()
      • initialize_database()
      • setup_database()
      • Conexão com Banco
        • connection_db()
      • Execução de SQL
        • execute_sql_file()
      • Verificações
        • check_database_connection()
        • check_tables_exist()
        • check_data_seeded()
      • Inicialização
        • initialize_database()
        • setup_database()
    • Módulo display
      • Interface Principal
      • Funções de Jogo
      • Gerenciamento de Personagens
      • Utilitários
    • Módulo Utils
      • check_data_seeded()
      • check_database_connection()
      • check_map_with_1000_chunks()
      • check_tables_exist()
      • connection_db()
      • execute_sql_file()
      • initialize_database()
      • setup_database()
      • Conexão com Banco
        • connection_db()
      • Execução de SQL
        • execute_sql_file()
      • Verificações
        • check_database_connection()
        • check_tables_exist()
        • check_data_seeded()
      • Inicialização
        • initialize_database()
        • setup_database()
    • Estrutura de Dados
      • Player
      • Chunk
      • Mapa
      • Bioma
    • Padrões de Uso
      • Gerenciamento de Jogadores
      • Gerenciamento de Chunks
      • Uso dos Services
    • Próximos Passos
  • Banco de Dados
    • Visão Geral
    • Configuração
      • Docker Compose
      • Conexão
    • Estrutura do Banco
      • Tabelas Principais
        • Bioma
        • Mapa
        • Chunk
        • Jogador
        • Inventario
    • Diagrama ER
    • Relacionamentos
      • Bioma → Chunk
      • Mapa → Chunk
      • Chunk → Jogador
      • Jogador → Inventario
    • Índices
    • Scripts de Inicialização
      • DDL (Data Definition Language)
      • DML (Data Manipulation Language)
      • DML com 1000 Chunks
    • Sistema de Verificação Automática
      • Verificação de Tabelas
      • Verificação de Dados Iniciais
      • Verificação do Mapa com 1000 Chunks
      • Lógica de Inicialização
    • Estrutura do Mapa de 1000 Chunks
      • Distribuição dos Biomas
      • Geração Automática
    • Dados Iniciais
      • Biomas
      • Mapas
      • Chunks (Básico - 4 chunks)
      • Chunks (Completo - 2000 chunks)
      • Personagens de Exemplo
      • Inventários de Exemplo
    • Queries Comuns
      • Buscar Personagem com Localização
      • Listar Todos os Personagens
      • Verificar Nome Único
      • Atualizar Dados do Personagem
      • Verificar Mapa com 1000 Chunks
    • Backup e Restauração
      • Backup Automático
      • Backup Manual
      • Restauração
    • Monitoramento
      • Verificar Status
      • Verificar Tabelas
      • Verificar Mapa Completo
    • Performance
      • Otimizações Implementadas
      • Monitoramento de Performance
    • Próximos Passos
    • Sistema de Jogo
    • Visão Geral
    • Localização dos Personagens
      • Sistema de Chunks
      • Biomas Disponíveis
      • Turnos
    • Inicialização de Personagens
      • Novos Personagens
      • Personagens Existentes
    • Sistema de Movimento
      • Chunks Adjacentes
      • Lógica de Movimento
    • Interface de Jogo
      • Tela Principal
      • Opções de Movimento
    • Sistema de Sessão
      • PlayerSession
      • Gerenciamento de Estado
    • Funções de Movimento
      • get_adjacent_chunks()
      • move_player_to_chunk()
      • ensure_player_location()
    • Queries de Movimento
      • Buscar Chunks Adjacentes
      • Mover Personagem
      • Buscar Chunk de Deserto
    • Exemplos de Uso
      • Criar Personagem no Deserto
      • Mover Personagem
      • Verificar Localização
    • Monitoramento de Jogo
      • Verificar Movimento
      • Estatísticas de Biomas
    • Performance
      • Otimizações de Movimento
      • Monitoramento de Performance
    • Próximos Passos
  • Álgebra Relacional
    • Operadores Fundamentais
    • Consultas Relacionais no Banco Minecraft
    • Consultas Compostas
  • Desenvolvimento
    • Estrutura do Projeto
    • Arquitetura
      • Padrão de Arquitetura
      • Fluxo de Dados
      • Padrão Repository
    • Configuração do Ambiente
      • Pré-requisitos
      • Configuração Local
      • Desenvolvimento com Docker
    • Estrutura do Código
      • Módulo Models
      • Módulo Repositories
      • Módulo Services
      • Módulo Interface
      • Módulo Utils
    • Padrões de Código
      • Convenções de Nomenclatura
      • Documentação
      • Tratamento de Erros
      • Validação de Dados
    • Testes
      • Estrutura de Testes
      • Tipos de Testes
      • Executando Testes
      • Configuração do Pytest
      • Cobertura de Código
    • Debugging
      • Logs
      • Debug no Container
      • Debug no VS Code
    • Deploy e CI/CD
      • GitHub Actions
      • Deploy Automático
    • Versionamento
      • Semantic Versioning
      • Changelog
      • Commits
    • Próximos Passos
  • Contribuindo
    • Tipos de Contribuição
    • Processo de Contribuição
      • Reportando Bugs
    • Template de Bug Report
    • Informações Necessárias
      • Desenvolvimento
    • Configuração do Ambiente
    • Criando uma Branch
      • Padrões de Código
    • Estilo de Código
    • Documentação
    • Tratamento de Erros
      • Testes
    • Organização dos Testes
    • Escrevendo Testes
    • Executando Testes
      • Commits
    • Convenções de Commit
    • Mensagens de Commit
      • Pull Requests
    • Criando um PR
      • Documentação
    • Atualizando Documentação
    • 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.