Skip to content

Paradigmas-de-Programacao/T1_HASKELL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paradigmas de Programação - Trabalho 1 Haskell

Integrantes

Aluno Matrícula
Iago Vasconcelos de Carvalho 15/0011849
Caio Felipe Dias Nunes 14/0133305

Descrição do projeto

O que é o Haskell RPG?

  • A ideia para o desenvolvimento desse projeto era ser capaz de desenvolver uma aplicação na linguagem haskell utilizando os fundamentos dos paradigmas funcionais, permitindo o ganho de conhecimento quanto aos conceitos de modularização de código em haskell, implementação de árvores binárias e recursividade.
  • O Haskell RPG foi idealizado como um game que pudesse permitir ao jogador se aventurar em um mapa ao estilo de um text-based rpg, com combates em turnos. Com o desenvolvimento do projeto e a maneira que diversos aspectos do gerenciamento do mapa estava sendo realizada, notamos que seria possível adaptar o código para que qualquer pessoa pudesse utilizar um arquivo .txt para editar e criar mapas e monstros, criando assim a sua própria aventura.

Como foi feito o Haskell RPG?

  • O jogo foi desenvolvido a partir da abstração do funcionamento de um mapa onde o jogador pode seguir por diferentes caminhos após uma batalha ou sala percorrida, mapeando esses caminhos para uma árvore binária.
  • O mapa do jogo é gerado a partir de dois arquivos .txt onde a linha central do arquivo mapa determina a sala inicial do jogo e se uma sala é do tipo batalha, enquanto o outro arquivo passa as descrições, caminhos e monstros presentes nesse mapa. As salas descritas abaixo ou acima da sala principal correspondem as salas direita e esquerda respectivamente. Cada Sala é passada para um tipo de dado Room, tratada e passada novamente para uma árvore binária.
  • A batalha é realizada através de turnos e utiliza um sistema de precedência de ataques para determinar um vencedor.

Instruções de instalação

  • Para a utilização da aplicação é necessário primeiramente que você possua as dependências do ghci instaladas, para isso utilize o comando:

    $ sudo apt-get install haskell-platform
    $ sudo apt-get install cabal
    $ cabal update

  • Após isso é necessário que vocẽ clone o repositório, entre no diretório T1_Haskell e execute o seguinte comando:

    $ ghci Main.hs

  • Utilize o comando abaixo para iniciar o jogo:

    $ menu

Comodidades/Regras de desenvolvimento

Devido ao contexto de tempo reduzido em que Haskell-RPG foi desenvolvido, alguns regras foram definidas para desenvolvimento do projeto, bem como algumas decisões foram tomadas para facilitar o trabalho dos desenvolvedores e otimizar o tempo de maneira à focar no contexto da disciplina, mas não abrindo mão de usufruir de algumas features divertidas.

  • Todos os arquivos .txt devem ter a mesma quantidade de linhas, referentes a quantidade de nós na árvore do jogo.
  • Todas as salas tem um atributo "style" que define que ela é uma sala de "Texto" apenas (tomada de decisão, escolhas do jogador) ou uma sala de "Batalha", quando existe uma luta. Use estes dois nomes como style da sala, somente.
  • Todas as salas tem um monstro, mesmo que não sejam uma sala de batalha. Isso facilitou a estruturação do jogo num tipo de dado fixo chamado "Room". Nas situações em que as salas serão de textos, os monstros possuem o nome "N" e tem todos os seus atributos com valor "1".
  • Devido a falta de tempo, foram desenvolvidas 3 classes que possuem atributos diferentes, mas a história do jogo é idêntica para os 3.
  • A história não está completa.
  • Todos os tipos de monstro utilizados tem uma imagem em forma de texto por padrão. Caso for utilizar um tipo de monstro diferente, aparecerá "SEM IMAGEM" na tela de jogo.

About

Trabalho 1 Paradigmas de Programação

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published