- Visão Geral do Projeto
- Sobre o Lost in Space
- Uso da GraphLib
- Colisão
- Mouse
- Labirinto randômico
- Tecnologias e Ferramentas utilizadas
- Configurações de Ambiente e Execução
- Desenvolvedoras
- Referências
O objetivo central do Problema 3 foi desenvolver um jogo multiplayer em C, utilizando a biblioteca desenvolvida no Problema 2. A descrição completa do problema juntamente com os requisitos pode ser acessada em Descrição do problema.pdf.
A ideia do jogo foi inspirada em um mangá conhecido como: Astra Lost in Space. Dessa forma, temos um labirinto e dois jogadores representados por naves alienígenas O objetivo é que os jogadores andem pelo labirinto a procura desse buraco negro, ganha quem encontrar o buraco negro primeiro em menos tempo, porém no meio do caminho podem aparecer algumas surpresas…
Vocês são dois aliens perdidos pelo espaço que tem o objetivo de voltar para casa através de um buraco negro, porém o buraco negro suporta somente uma nave que levará ao planeta natal… Dessa forma, vocês estão perdidos no espaço a proucura do buraco negro que os levará para casa, porém somente um irá voltar!
Elemento | Funcionalidade |
---|---|
Nave 1 | Nave a ser movimentada com o acelerômetro. |
Nave 2 | Nave a ser movimentada com o mouse. |
Buraco negro | Ponto final do jogo. |
Estrela | Os elementos passivos que vão aparecer pelo labirinto, caso toque em um jogador, ele volta para o início. |
Labirinto | Labirinto que se autogera, assim, toda partida temos um labirinto diferente. |
Com intuito de tornar a jogo mais desafiador e diverso, a geração do labirinto foi implementada de forma randômica. Para tornar isso possível, utilizamos o Algorimo Depth First Search (DFS) e a ideia partiu do artigo de Rômulo C. Menezes Jr [3].
Primeiro o labirinto é inicializado com todas as posições sinalizadas como parede ('#'). Em seguida, é chamada a função recursiva geraLabirinto(int x, int y).
O algoritmo funciona marcando um ponto inicial, explorando recursivamente caminhos adjacentes aleatórios. Quando não há mais caminhos válidos, o algoritmo retorna ao estado anterior para continuar a exploração.
- Hardwares:
- Kit de Desenvolvimento DE1-SoC
- Monitor
- Mouse
- Linguagens: Assembly e C
- Ambiente de Desenvolvimento: Visual Studio Code
- Compilador: GCC
- Controle de Versão: Git
- Ferramenta de Sistema: Terminal Linux (Ubuntu)
Para ter acesso ao projeto, clone o repositório disponível na plataforma GitHub utilizando o seguinte comando no terminal Linux:
git clone https:
Após clonar o repositório, conecte-se à placa via SSH utilizando o seu respectivo IP. Por exemplo, se o IP for 10.0.0.120
, use o seguinte comando:
ssh aluno@10.0.0.120
Em seguida, transfira a pasta clonada do seu computador para o sistema de arquivos da placa:
mv Lost-in-Space/[caminho do destino]
Para compilar e executar o projeto desenvolvido, navegue até o diretório onde está o repositório e execute o comando:
make
O comando make
gerará o arquivo de compilação e o executará. Se a operação for bem-sucedida, a tela inicial do Joguinho deverá aparecer no monitor ao qual a placa está conectada.
aluno
.
Brenda Araújo 👨💻 |
Naylane Ribeiro 👨💻 |
Sara Souza 👨💻 |
- [1] FPGAcademy. (2024) https://fpgacademy.org/
- [2] Trabalho de Conclusão de Curso de Gabriel Sá Barreto Alves. (2024) https://drive.google.com/file/d/1MlIlpB9TSnoPGEMkocr36EH9-CFz8psO/view
- [3] Artigo de Rômulo C. Menezes Jr http://www.de.ufpb.br/~labteve/publi/2012_cmac2.pdf