Skip to content

Repositório do grupo 4 do módulo funcional de paradigmas de programacao

License

Notifications You must be signed in to change notification settings

UnBParadigmas2023-2/2023.2_G4_Funcional

Repository files navigation

Haskell Checkers

Disciplina: FGA0210 - PARADIGMAS DE PROGRAMAÇÃO - T01
Nro do Grupo (de acordo com a Planilha de Divisão dos Grupos): 04
Paradigma: Funcional

Alunos

Matrícula Aluno
17/0085023 Carla Rocha Cangussú
20/0028472 Vinícius Assumpcao de Araújo
18/0063162 Daniel Primo de Melo
20/2029012 Josué Teixeira Santana
20/0020650 João Pedro de Camargo Vaz
18/0124099 Juliana Pereira Valle Gonçalves
20/0018248 Gabriel Roger Amorim da Cruz
19/0015721 Júlio César Martins França

Sobre

Este é um projeto de implementação do jogo de damas em Haskell. O jogo de damas é um clássico jogo de tabuleiro para dois jogadores, onde o objetivo é capturar todas as peças do adversário ou bloqueá-las de forma que não possam mais mover.

Funcionalidades Principais

  • Representação do tabuleiro de damas em um formato de matriz bidimensional.
  • Alternância de turnos entre os jogadores (preto e branco).
  • Validação de movimentos de peças de acordo com as regras do jogo.
  • Tratamento de capturas e movimentos especiais, como promoção de peças.
  • Verificação de vitória para determinar o vencedor do jogo.
  • Verificação de empate

Screenshots

Captura de Tela 2023-09-22 às 07 17 50 Captura de Tela 2023-09-22 às 07 19 53

Instalação

Linguagens: Haskell
Tecnologias: GHC, Cabal, Make

Uso

Certifique-se de ter o GHC (Glasgow Haskell Compiler) e também o Haskell instalado em seu sistema.

  1. Clone o repositório
git clone https://github.com/UnBParadigmas2023-2/2023.2_G4_Funcional.git
  1. Execute a aplicação
stack build
stack exec damas-exe

Após a execução destes comandos, você será capaz de visualizar a aplicação em execução no terminal.

Vídeo

Adicione 1 ou mais vídeos com a execução do projeto. Procure: (i) Introduzir o projeto; (ii) Mostrar passo a passo o código, explicando-o, e deixando claro o que é de terceiros, e o que é contribuição real da equipe; (iii) Apresentar particularidades do Paradigma, da Linguagem, e das Tecnologias, e (iV) Apresentar lições aprendidas, contribuições, pendências, e ideias para trabalhos futuros.

TEMPO: +/- 15min LINK PARA O VÍDEO DE APRESENTAÇÃO

Participações

Apresente, brevemente, como cada membro do grupo contribuiu para o projeto.

Nome do Membro Contribuição Significância da Contribuição para o Projeto (Excelente/Boa/Regular/Ruim/Nula)
Vinicius Assumpção Criação do esqueleto base que foi utilizado para a implementação do projeto, criacao inicial do menu, revisao das regras especiais e do menu final Excelente
João Pedro de Camargo Vaz Participação na criação e edição do esqueleto do jogo e criação de regras para validação de jogadas e de turnos Excelente
Gabriel Roger Amorim da Cruz Participação na criação de regras para validação de jogadas, criação de tratamentos para lidar com entradas inválidas/inesperadas do usuário, melhoria da interface e correção de erros Excelente
Josué Teixeira Santana Participação na criação de regras para validação da captura de peças e correção nas configurações da aplicação Excelente
Carla Rocha Cangussú Criação da regra de verificação simples de vitória e participação na criação da regra de verificação de empate simples Excelente
Juliana Pereira Valle Gonçalves Participação na criação da regra de verificação de empate simples Excelente
Daniel Primo de Melo Evolução das regras de captura, otimização do codigo fonte em cálculo de variáveis Excelente
Júlio César Martins frança Participação na criação da promoção de peças e do movimento e captura de peças promovidas Excelente

Outros

Desenvolver um projeto de jogo de damas em Haskell foi um desafio que proporcionou valiosas lições. A linguagem funcional pura destacou a importância da abstração e da elegância na programação, incentivando a pensar de maneira estruturada. Além disso, a familiarização com ferramentas como o Haskell Stack e o Haskelline foi essencial, enquanto o planejamento detalhado e a resolução de problemas contínuos demonstraram a necessidade de uma abordagem organizada e perseverante no desenvolvimento de software. Em resumo, essa experiência ampliou o entendimento da programação funcional, fortaleceu nossas habilidades de resolução de problemas e reforçou a importância do planejamento e da divisão de tarefas em projetos complexos.

Fontes

About

Repositório do grupo 4 do módulo funcional de paradigmas de programacao

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published