https://github.com/lfenzo/terminal-super-trunfo
Implementação de terminal do jogo Super Trunfo com tema de sustentabilidade
https://github.com/lfenzo/terminal-super-trunfo
julia terminal-game
Last synced: 8 months ago
JSON representation
Implementação de terminal do jogo Super Trunfo com tema de sustentabilidade
- Host: GitHub
- URL: https://github.com/lfenzo/terminal-super-trunfo
- Owner: lfenzo
- Created: 2022-04-28T21:54:27.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-29T18:12:28.000Z (about 4 years ago)
- Last Synced: 2025-01-18T09:32:38.629Z (over 1 year ago)
- Topics: julia, terminal-game
- Language: Julia
- Homepage:
- Size: 226 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Super Trunfo
Implementação do jogo Super Trunfo com tema de sustentabilidade como Projeto Prático
da disciplina de Sustentabilidade e Computação no primeiro semestre de 2022. O jogo
é composto por 32 cartas cada qual correspondente a um equipamento eletro-eletrônico
utilizado no dia a dia. Cada carta possui 5 atributos que caracterizam o equipamento.

O objetivo do jogo é fazer com que o adversário fique sem nenhuma carta, a cada
rodada são comparadas as duas cartas que estão nas mãos dos jogadores. O jogador
que ganhou a ultima rodada escolhe um atributo que será utilizado na comparação
e dependendo do resultado da rodada ela pode perder uma carta, ganhar a carta o
oponente ou, em caso de empate, ambas as cartas dos jogadors voltam para o baralho.
## Utilização
Assumindo que a `julia` já esta instalada e o repositório já foi clonado, abra
o terminal na raiz do repositório inicie a `juila` no modo interativo digitando:
```bash
$ julia
```
em seguida ative o ambiente correspondente ao projeto SuperTrunfo, para fazer isso
entre no modo gerenciamento de pacotes digitando `]` apenas uma vez. Você verá que
`pkg` em azul à esquerda. Em seguida digite:
```julia
pkg> activate SuperTrunfo
```
Uma vez que o comando terminar de executar você verá `(SuperTrunfo)` escrito à
esquerda do `pkg`, depois disso basta apertar *backspace* para voltar ao modo
interativo.
Por fim, para executar o jogo utilize:
```julia
julia> include("play.jl")
```
## Implementação
O jogo foi implementado utilizando Julia (v1.7.2) com auxilio do [Term.jl](https://github.com/FedeClaudi/Term.jl), a representação das cartas e dos jogadores é feita por meio dos tipos
`Card` e `Player`, respectivamente. Também foram utilizados os pacotes [DataFrames.jl](https://github.com/JuliaData/DataFrames.jl) e [DataStructures.jl](https://github.com/JuliaCollections/DataStructures.jl) para fucionalidades auxiliares.
Os conteúdos do repositório estáo organizados da
seguinte maneira:
| **Item** | **Descrição** |
|-----|--- |
| [`SuperTrunfo/src/SuperTrunfo.jl`](https://github.com/lfenzo/terminal-super-trunfo/blob/master/SuperTrunfo/src/SuperTrunfo.jl) | Módulo com definições de tipos além das funções auxiliares utilizadas pelo jogo. |
| [`baralho.csv`](https://github.com/lfenzo/terminal-super-trunfo/blob/master/baralho.csv) | Arquivo `.csv` contendo os atributos das cartas disponíveis no jogo.|
| [`play.jl`](https://github.com/lfenzo/terminal-super-trunfo/blob/master/play.jl) | Função principal contendo o loop principal utilizado no |
| [`generate_data.jl`](https://github.com/lfenzo/terminal-super-trunfo/blob/master/generate_data.jl) | Durente o desenvolviemnto do jogo este script foi utilizados simulação as cartas por meio da geração de valores pseudo-aleatórios em cada um dos atributos das cartas. |