Pular para conteúdo

Lord of The Rings Terminal Game

Capa

Figura 1: Capa oficial do Jogo

O Lord of The Rings Terminal Game é inspirado no universo de Senhor dos Aneis criado por J. R. R. Tolkien. Nosso objetivo é recriar a essência da série de filmes, com foco em mecânicas de exploração, gerenciamento e combate.


Sobre o Projeto

Em Lord of The Rings Terminal Game, você assume o papel de um aventureiro, um hobbit que vive em paz na sua vila, porém, avido para viver novas aventuras e explorar a magnitude do mundo. Nosso projeto adapta essa experiência para o terminal, com funcionalidades como:

  • Exploração de masmorras: Navegue pelas masmorras, enfrentando desafios e coletando itens valiosos.
  • Combate contra monstros: Enfrente uma variedade de inimigos com diferentes habilidades e comportamentos.
  • Sistema de armas e armaduras: Equipe-se com armas e armaduras que podem possuir diferentes efeitos.
  • Efeitos e habilidades especiais: Utilize habilidades e efeitos únicos para derrotar inimigos e superar obstáculos.
  • Gerenciamento de inventário: Organize os itens coletados durante as explorações e decida o que vender ou guardar.
  • Progressão do personagem: Melhore as habilidades e desbloqueie novos equipamentos e funcionalidades.

A aplicação é desenvolvida em Python, com a lógica de dados estruturada em PostgreSQL, utilizando SQL puro para modelagem, triggers, views e controle de acesso.


Contribuidores:


Felipe das Neves

202046102

Gabriel Felipe

190106956

Lucas Soares

202017700

Fernanda Vaz

221007715

Yan Luca

211031889

Estrutura do Projeto

O projeto está organizado em três ambientes principais:

  • game/cli: Código da interface em terminal (Python), responsável pela interação do usuário com o sistema.
  • game/sql: Lógica do banco de dados (PostgreSQL), incluindo tabelas, seeds, views, triggers e controles de acesso.
  • apps/docs: Documentação do projeto, criada com MkDocs, explicando o funcionamento, decisões de arquitetura, DER/MER e instruções de uso.

Essa estrutura modular facilita o desenvolvimento e a manutenção do projeto.


Como Executar

Requisitos

  • Python 3.8 ou superior
  • PostgreSQL 12 ou superior
  • Banco de dados configurado com as tabelas do arquivo DDL.sql

Instalação

  1. Clone o repositório

Obs.: Pode ser interessante você suber ir máquina virtual para manter a integridade do SO; Caso queira aqui está o passo a passo para a virtualização usando o python no ambiente windows:

python -m venv venv

Inicializar a máquina virtual:

venv/Scripts/activate

Após:

  1. Instale as dependências:
pip install -r requirements.txt
  1. Configure o banco de dados:

    • Crie um banco de dados chamado senhor_dos_aneis
    • Execute o arquivo DDL.sql para criar as tabelas
    • Execute o arquivo DML.sql para inserir os dados iniciais
  2. Configure as credenciais do banco de dados no arquivo main.py:

self.conn = psycopg2.connect(
    dbname="senhor_dos_aneis",
    user="seu_usuario",
    password="sua_senha",
    host="localhost",
    port="5432"
)

Executando o Jogo

Para iniciar o jogo, execute:

python main.py

Funcionalidades

  • Criação de personagem com diferentes classes (Guerreiro, Mago, Arqueiro, Sacerdote)
  • Sistema de exploração de cenários
  • Sistema de inventário
  • Sistema de status e características
  • Salvamento automático do progresso

Controles

  • Use os números para navegar pelos menus
  • Pressione ENTER para confirmar suas escolhas
  • Use as setas do teclado para explorar os cenários

Tabela de Versionamento

Versão Data Descrição Autor(es) Revisor(es)
1.0 02/04/2025 Criação da página 'Home', contendo informações sobre o projeto Felipe das Neves Todos os Integrantes
1.1 15/06/2025 Desenvolvimento do tópico de execução do jogo Lucas Soares Felipe das Neves