https://github.com/andersonhsporto/ft-so_long
POC of a 2D game made in ANSI C
https://github.com/andersonhsporto/ft-so_long
2d-game 42 42sp ansi-c c makefile minilibx mlx norminette so-long so-long42 solong
Last synced: 13 days ago
JSON representation
POC of a 2D game made in ANSI C
- Host: GitHub
- URL: https://github.com/andersonhsporto/ft-so_long
- Owner: andersonhsporto
- License: mit
- Created: 2021-09-26T03:36:13.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-03T01:34:41.000Z (11 months ago)
- Last Synced: 2025-04-15T12:18:33.479Z (13 days ago)
- Topics: 2d-game, 42, 42sp, ansi-c, c, makefile, minilibx, mlx, norminette, so-long, so-long42, solong
- Language: C
- Homepage:
- Size: 2.62 MB
- Stars: 24
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README-pt-br.md
- License: LICENSE
Awesome Lists containing this project
README
# so_long
To read this file in English click [here](https://github.com/andersonhsporto/ft-so_long/blob/main/README.md)
Щоб прочитати цей файл українською, перейдіть за посиланням [here](https://github.com/andersonhsporto/ft-so_long/blob/main/README-uk.md)
## Descrição
Projeto da trilha de fundamentos da escola 42. O objetivo é criar uma prova de conceito de um jogo 2D utilizando a biblioteca gráfica MinilibX e a linguagem ANSI C.
Este projeto é um jogo simples em que o jogador deve coletar todos os itens no mapa e chegar à saída. O jogador só pode se mover horizontalmente e verticalmente, o mapa é composto por paredes, espaços vazios, itens colecionáveis e a saída. O jogador perde se colidir com um inimigo.
### MLX
O MinilibX é uma simples API de programação de X-Window em C, projetada para estudantes e adequada para iniciantes.
## Estilo de código
O estilo de código utilizado neste projeto é o [Norminette](https://github.com/42School/norminette), criado pela escola 42 e usado em todos os projetos relacionados à linguagem ANSI C no contexto da escola.
## Instalação
Antes de compilar o projeto, é necessário instalar a biblioteca MLX. Um guia pode ser encontrado no repositório da [MinilibX](https://github.com/42Paris/minilibx-linux).
Este projeto também usa a biblioteca externa [Libft](https://github.com/andersonhsporto/ft-libft), também desenvolvida durante a trilha de fundamentos da escola 42. Para clonar este projeto e esta biblioteca, use o seguinte comando:
```sh
git clone --recursive https://github.com/andersonhsporto/ft-so_long.git
```** este comando irá clonar o projeto e o submódulo Libft **
Este projeto é dividido em duas partes, o **mandatório** e o **bônus**.
Para compilar a parte **mandatório** (movimentação do personagem e coleta de itens) use:
```sh
make
```
Para compilar a parte **bônus** (animação, contador de movimentos e inimigos) use:
```sh
make bonus
```
## Utilização
Depois de compilar o projeto, o arquivo executável com o nome **so_long** será criado, para executar o jogo chame o executável utilizando o caminho do mapa como argumento:
Exemplo:
```sh
./so_long map.ber
```
** alguns mapas e o mapa utilizado para gerar a imagem do cabeçalho podem ser encontrados na pasta maps **## Referências
* [Harm Smits - MiniLibX](https://harm-smits.github.io/42docs/libs/minilibx)
* [MiniLibX](https://github.com/42Paris/minilibx-linux)## Informações de contato
Se você tiver alguma dúvida, sugestão ou crítica, entre em contato comigo através do [e-mail](mailto:[email protected]) ou pelo [LinkedIn](https://www.linkedin.com/in/andersonhsporto/). Feedbacks são sempre bem-vindos =D
## Contribuição
Se você quiser contribuir com este projeto, clone este repositório e envie uma pull request com suas modificações e eu ficarei feliz em analisar e aceitar :D toda sugestão é bem-vinda!