/GAC106-Bagulhos-Sinistros

Trabalho prático da disciplina de Pratica de Programação Orientada a Objetos

Primary LanguageJavaMIT LicenseMIT

Bagulhos Sinistros

Entrega FinalTrabalhoSobre o JogoMapaJogabilidadeTecnologiasAutoresLicença


☑ Entrega Final

Nomes completos dos integrantes do grupo que realmente fizeram o trabalho:

  • Ana Beatriz Rodrigues Torres
  • Ingrid de Falchi
  • Larissa Narciso Oliveira
  • Samuel Luiz Freitas Ferreira

Tabela de Requisitos

Id Descrição Respostas
3.1 Número de ambientes (17)
3.2 Número de direções (7)
3.3 Trata itens e há itens que jogador não consegue pegar? (sim/não)
3.4 Tem máximo de itens que jogador não consegue carregar? (sim/não)
3.5 Jogador consegue usar itens? (sim/não)
3.6 Jogador consegue largar itens? (sim/não)
3.7 Jogo tem personagens (além do jogador)? (sim/não)
3.8 As duas funcionalidades adicionais implementadas foram: (Limite de tempo: 70 movimentos) (Ambientes com mais saídas bloqueadas: 3 saídas (Sala Delegacia - Laboratório - Mundo Invertido))
3.9 As duas palavras de comando adicionais são: (Analisar pistas nos ambientes)(Atacar Inimigo))
3.10 Os três passos (resumidos) de missão são: (A missão é uma investigação para encontrar o Will, deverá ser encontrado 3 pistas, sendo elas: 1- o desenho que está na escola, 2- a bicicleta que esta na floresta, e o 3- pisca-pisca que está na casa dos Byers. Após realizar a analise de todas as pistas, o jogador ganhará a laterna, onde ao usar ela na sala do Laboratorio, irá liberar o acesso ao Mundo Invertido, no castelo Byers do Mundo Invertido ele irá encontrar o Will.)
3.11 Jogo funciona no terminal e na interface gráfica (sim/não)
4.1 Atende passos obrigatórios do Exercício World of Zuul (sim/não)
4.5 Só há interação com usuário nas classes Terminal e Tela (sim/não)
4.7 Código usa polimorfismo de método (sim/não (apenas em coisas simples, como mudar Descrição))
4.8 A alteração de funcionalidade na interface gráfica foi: (texto de resposta)
4.9 Jogo usa arquivos para: (Exibir resultado, nome, quantidade de movimentos e data do jogo)
4.10 Código possui tratamento de exceção (sim/não)
4.11 Padrão de projeto implementado: (Singleton em Missão)
4.12 Diagrama de classes UML atualizado está na pasta doc? (sim/não)

📚 Trabalho

Trabalho Prático da disciplina de Prática de Programação Orientada a Objetos da Universidade Federal de Lavras (UFLA), lecionada pelo professor Julio Cesar Alves.

Baseado no jogo World of Zuul, um RPG por textos pelo terminal.

Para o gerenciamento do projeto, fluxo de trabalho e monitoramento de tarefas, foi utilizado a ferramenta Trello. Planejamos o trabalho como um todo, elaborando um bom Design de Classes e dividindo as tarefas entre os membros do grupo.

Jogabilidade

Do ponto de vista do jogador, ele poderá andar em 7 direções nos 17 ambientes. Além disso, ele terá uma missão para concluir o jogo, que consiste em analisar e coletar itens para encontrar Will. Caso o jogador ultrapasse 70 movimentos, o jogo irá finalizar.

Mais detalhes em Sobre o Jogo e Jogabilidade.

Conceitos

Para a construção do trabalho foram utilizados os conceitos estudados de Orientação a Objetos:

  • Relacionamentos de composição, agregação e associação: entre as classes Ambiente, Item e Personagem.
  • Herança: Coletavel e Pista herdam de Item e Principal, NPC e Monstro herdam de Personagem.
  • Polimorfismo:
    • Variável Polimórfica: itens na classe Ambiente que recebem tanto Item Coletavel quanto Item Pista.
    • Polimorfismo de Método: sobrescrição do método getDescricao() da classe Item pela classe Pista, adicionando uma informação que é um item especial.
  • Salvamento/carregamento de dados: será em um arquivo de texto, armazenando os dados:
    • Se ele ganhou ou perdeu;
    • Quantidade de movimentos;
    • Data que jogou.

🕹️ Sobre o Jogo

História:

Após o sumiço de Will Byers, um menino de 12 anos, o delegado Jim Hopper inicia uma investigação para encontrá-lo na cidade de Hawkins. Ele irá desvendar mistérios, com criaturas monstruosas e dimensões paralelas.

Objetivo:

Encontrar Will Byers no Mundo Invertido.

Jogador Principal:

Jim Hopper.

Personagem Secundários (NPC):

Joyce Byers, Will Byers, Eleven, Dustin , Nancy.

Missão:

Na investigação, deverá ser analisado alguns itens para descobrir onde está o Will.

  1. O desenho irá ser uma pista de onde o Will está
  2. A bicicleta irá mostrar que o Will estava perto do Laboratório
  3. O pisca-pisca na casa da Joyce irá indicar que ele está no Mundo Invertido

Com a análise dessas 3 pistas, o jogador ganhará um item adicional (Lanterna), que irá liberar o acesso ao Mundo Invertido.

Alguns itens que ajudará no Mundo Invertido:

  1. Arma
  2. Balas
  3. Lanterna

No Mundo invertido, o jogador irá encontrar o Demogorgon, ele poderá derrota-lo, andando para frente ele irá chegar ao Castelo Byers do Mundo Invertido, e lá irá encontar o Will.

Game Over:

70 movimentos.

Armazenamento:

Coldre do Jim Hopper.

Limite do armazenamento:

3 tipos de itens. (Extra: Lanterna)

Gênero:

RPG Investigação Sobrenatural.


🗺️ Mapa


Mapa


🖥️ Jogabilidade

Ambiente Itens Ação Personagens Direções
Centro - - - Esquerda: Ferro Velho
Frente: Escola
Trás: Delegacia
Delegacia Chave Usar chave - Corredor: Escritório
Trás: Casa Mike
Frente: Centro
Escritório Balas Usar chave
Pegar balas
- Corredor: Delegacia
Escola Desenho Analisar desenho Adolescentes Trás: Centro
Ferro Velho Alicate Pegar alicate Crianças Direita: Centro
Esquerda: Trailer Jim
Casa Mike - - - Escada: Porão
Frente: Delegacia
Porão - - Eleven Escada: Casa Mike
Trailer Jim Revolver
Balas
Pegar revolver
Pegar balas
- Direta: Ferro Velho
Esquerda: Floresta Sombria
Frente: Casa Byers
Floresta Sombria Bicicleta Analisar bicicleta - Direta: Trailer Jim
Frente: Castelo Byers
Casa Byers Pisca-Pisca Analisar Pisca-Pisca Joyce Trás: Trailer Jim
Esquerda: Castelo Byers
Castelo Byers - - - Trás: Floresta Sombria
Direita: Casa Byers
Frente: Floresta Sombria Fundo
Floresta Sombria (Fundo) - Usar alicate - Trás: Castelo Byers
Frente: Laboratório
Laboratório - - - Escada: Sala
Tras: Floresta
Sala - Usar lanterna - Escada: Laboratório
Portal: Laboratório - Mundo Invertido
Laboratório - Mundo Invertido - - Portal: Sala
Frente: Floresta Sombria - Mundo Invertido
Floresta Sombria - Mundo Invertido - Demogorgon Trás: Laboratório - Mundo Invertido
Frente: Castelo Byers - Mundo Invertido
Castelo Byers - Mundo Invertido - Will Byers Trás: Laboratório - Mundo Invertido

Direções:

  • Direita
  • Esquerda
  • Frente
  • Trás
  • Portal
  • Corredor
  • Escada

Itens:

Coletáveis:

  • Chave
  • Arma
  • Bala
  • Lanterna
  • Alicate

Não coletáveis (Pistas):

  • Desenho
  • Bicicleta Will
  • Pisca-Pisca

Funcionalidades:

  • Limite de tempo ao jogo.
  • Ambientes com mais saídas bloqueadas.
  • Extra: Inimigos e forma de derrota-lo.

Palavras de Comando:

  • Ir
  • Ajuda
  • Sair
  • Observar
  • Pegar
  • Largar
  • Usar
  • Analisar
  • Atacar Inimigo

Ações:

  • Pegar
    • Itens coletáveis
  • Largar
    • Itens coletáveis
  • Usar
    • Alicate
    • Chave
    • Lanterna
  • Analisar
    • Desenho
    • Bicicleta
    • Pisca-Pisca
  • Atacar Inimigo
    • Revolver + Bala

🛠️ Tecnologias

Java Java 11
VSCode VSCode
Trello Trello

👥 Autores

Ana Torres Ingrid Falchi Larissa Narciso Samuel Ferreira

📜 Licença

O projeto publicado em 2022 sobre a licença MIT.

Open in Visual Studio Code