Skip to content

douglasalves0/nim-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Jogo do nim

Nim é um gênio que perdeu todos os seus desejos para o mercado financeiro, agora ele só tem moedas. Porém, ele está disposto a da-las para você caso você seja bom o suficiente para vencê-lo no jogo dele.

                                                                                            /}
                                                                                         ./`|´\
                                                                                         |_~?¬_`\
                                                                                          ¬^Ö `>/
                                                                                          ~~~ /_
                                                                                        - )¨/    ¨-
      $$                                                                             ,-´ _ _    /  \
      $$                                                                             >-'´  ~`\_/   |
      $$                                                                            ( _ .´  `-´  -´/
      $$                                                          @                  `'´  `¬_   _//
      $$                                                         ( )                   |     ¨'¨_/
      $$                                                        /===\                   \      /
      $$                                               ,-`-._.-´¨¨¨¨ ¨¬_..---.           \     |
      $$      $$                      $$              ((¨,¨\ ¨-._____.--¨ .¬--\..^,     .,)    /
      $$      $$              $$      $$               \'-°^\::          /     '{  3   {¨.:   /
      $$      $$              $$      $$                      \    _    /          ¨~.´'y`,¨\~¨
      $$      $$      $$      $$      $$                       ¨¨\- -/¨¨              ¨¬.{ .3´
      $$      $$      $$      $$      $$                       _,-´ `-_                   ¨
     [--]    [--]    [--]    [--]    [--]                      `-------´

No jogo de nim várias moedas são distribuídas em pilhas diferentes, duas pessoas competem retirando entre 1 a 3 moedas por vez. O jogador que tirar a última moeda da última pilha ganha o jogo e fica com a última moeda

GDD

PLP

Este github é produto do projeto em grupo da matéria paradigmas de linguagens de programação. Ao longo do período esse jogo será desenvolvido por 5 pessoas em duas linguagens de programação com paradigmas diferentes

  • haskell (paradigma funcional)
  • prolog (paradigma logico)

Arquitetura

A arquitetura e conexão entre os módulos da aplicação usada para basear a implementação está representada nesse fluxograma, definindo o que cada função/módulo faz e suas devidas entradas e saídas.

image

Link para o mapa: https://excalidraw.com/#json=cwhNg7nB5eGvZCaGwaVOZ,P9ILKHqmtWaUl6-FTzPr0g

Legenda

Nós:

  • Azul = Funções de utilidades (Funções que printam na tela, retornam as pilhas feitas, retornam as dificuldades, não necessariamente possuem a lógica do jogo por trás);
  • Amarelo = Funções de lógica do jogo (Funções que possuem a lógica do jogo por trás, onde o jogo acontece);
  • Vermelho = Funções de validação de entrada (Funções que validam as entradas dos jogadores);
  • Roxo = Funções das engines de bot (Funções que representam o bot e seus cálculos);
  • Verde = Fluxograma do jogo (Caminhos que podem ser tomados).

Textos:

  • Preto = Textos de explicação da função (O que ela faz e como ela faz);
  • Laranja = Textos de explicação da entrada da função (Variáveis, nomes e seus tipos);
  • Verde = Textos de explicação da saída (Qual o tipo da saída e o que aquela saída representará no jogo).

Jogando em Haskell

Para conseguir executar o código em haskell é necessário baixar a biblioteca Random

cabal install --lib random

Após isso é possível jogá-lo sem nem precisar compilar, usando esse código dentro da pasta src:

runghc StartGame.hs

Jogando em Prolog

Para conseguir executar o código em Prolog é recomendável baixar a versão mais atualizada: Link para baixar: https://www.swi-prolog.org/download/stable

Após isso é possível jogá-lo sem nem precisar compilar, usando esse código dentro da pasta src:

swipl -q -f StartGame.pl


Equipe

Nome Matrícula E-mail
Douglas Alves de Sousa 121111728 [email protected]
Gabriel Pombo Almeida Cirne Diniz 121111468 [email protected]
Guilherme Silva Toledo 121110792 [email protected]
Jackson Alves da Silva Souza 121110759 [email protected]
Mayara Brito Pinheiro 121110615 [email protected]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published