Repositorio criado para o desenvolvimento do jogo do terceiro semetre (2019-1) para as disciplinas de POO (Programação orientada à objetos) e PF (Programação funcional).
O projeto é basicamente uma união entre o trabalho final da disciplina de POO e de PF, sendo que em cada uma é necessário implementar um jogo. Para isso foi criada uma estrutura para unir as duas linguagens (Java e Haskell) por meio de uma ponte feita em C. Toda lógica do jogo será implementada em Java enquanto a lógica dos jogos de carta (Blackjack, etc) será implementada em Haskell.
Um fato importante de ressaltar é que a lógica do jogo em si não influencia diretamente a lógica dos jogos de carta, fazendo assim que o programa em Haskell possa ser compilado separadamente e rodado usando a função main do respectivo jogo.
Mais informações sobre as pastas do projeto estão inclusas nas próprias porém podem ser definidas brevemente da seguinte maneira:
-
src: Contém o codigo fonte e arquivos de build.
-
assets: Contém todas as imagens e qualquer tipo de arquivo necessário ao funcionamento do projeto que não seja codigo fonte
-
bin: Contém os arquivos finais (resultado da compilação)
-
resources: Contém imagens utilizadas e arquivos mencionados nos readmes (que não pertencem ao projeto)
Seguem as dependências do projeto (apenas as versões testadas)
- GHC (== 8.0.1)
- openJDK (== 1.8.0_181)
- GCC (== 6.3.0) -> Usado pelo GHC
- Haxe (== 3.4.7)
- format (== 3.4.2)
Para compilar somente o necessário para rodar o projeto basta ir à pasta que
contém o código fonte e rodar o comando make run
, ja para compilar
tudo (make run
+ testes + bibliotecas Haskell como executáveis) é necessário
rodar o comando make all
e para rodar sem recompilar use make justrun
.