🎮 Como jogar Prision Break Game
Este guia apresenta um passo a passo completo para iniciar e executar o Prision Break Game, detalhando o funcionamento de cada etapa do processo de inicialização.
📦 1. Clonagem do Repositório
Primeiramente, é necessário baixar os arquivos do projeto para a sua máquina local. Para isso, utilize o seguinte comando:
git clone https://github.com/SBD1/2025.1_Prision_Break.git
cd ./2025.1_Prision_Break/game
A pasta game/ contém todos os arquivos essenciais para o funcionamento do sistema:
Dockerfile
: define como a aplicação Python será empacotada.
docker-compose.yml
: coordena o banco de dados e a aplicação no Docker.
Pasta sql/
: armazena os scripts SQL que configuram o banco.
app_console.py
: o jogo em si, rodado no terminal.
🗃️ 2. Scripts de Banco de Dados
Na pasta sql/, há dois arquivos principais:
01_schema.sql
: contém os comandos CREATE TABLE, definindo a estrutura do banco de dados.
02_data.sql
: contém os comandos INSERT INTO, populando o banco com dados iniciais, como missões, salas, agentes e jogadores.
⚠️ Esses arquivos são executados automaticamente pelo Docker, quando o contêiner PostgreSQL é inicializado pela primeira vez.
A ordem de execução é garantida pelo prefixo 01_, 02_, etc.
🐳 3. Iniciando com Docker
Na raiz da pasta game/, execute o seguinte comando para subir os contêineres do banco e da aplicação:
docker compose up -d --build
O que esse comando faz:
docker compose up
: Inicializa todos os serviços definidos no docker-compose.yml.
-d (detached)
: Executa os serviços em segundo plano.
--build
: Força a reconstrução das imagens (caso tenham sido alteradas).
Durante essa etapa:
- O Docker baixa a imagem oficial do PostgreSQL (caso não exista localmente).
- Cria uma imagem personalizada da aplicação Python.
- Executa os scripts SQL automaticamente ao iniciar o banco.
- Deixa o contêiner da aplicação rodando (sem fechar), pronto para receber comandos interativos.
🕹️ 4. Acessando o Console do Jogo
Após os contêineres estarem ativos, o jogo pode ser iniciado no modo interativo com o comando:
docker exec -it prision_break_app_container python app_console.py
Esse comando:
- Acessa o terminal da aplicação dentro do contêiner.
- Executa o script app_console.py, que inicializa o menu do jogo.
Ao finalizar o uso do jogo, você pode encerrar todos os contêineres e liberar os recursos do sistema com:
docker compose down
🛠️ Observações Técnicas
Certifique-se de que o Docker Desktop está rodando antes de iniciar o projeto.
Se ocorrerem erros, utilize:
docker compose logs
Para verificar os detalhes da execução e diagnosticar possíveis falhas.
📑 Histórico de Versões
Versão | Data | Descrição | Autor(es) |
---|---|---|---|
1.0 |
20/05/2025 | Criação do readme do game | Marllon Cardoso |
1.1 |
22/05/2025 | Correção do comando usado para construir o docker | Maria Alice Silva |
1.2 |
07/07/2025 | Criação da página de instrução | Mayara Oliveira |