So_long
Jogo 2D em C inspirado em arcade clássico, construído com MinilibX para demonstrar rendering, gestão de eventos, validação rigorosa de mapas e uma experiência de jogo polida. A versão bonus adiciona inimigos autónomos, reforçando a componente de lógica e controlo em tempo real.
O que o projeto faz
- Carrega mapas .ber e valida formato, paredes, jogador, saída e coletáveis.
- Desenha o cenário e atualiza o estado do jogo em cada frame.
- Controla movimentação do jogador, contagem de movimentos e recolha de itens.
- Bloqueia a saída até que todos os itens sejam recolhidos.
- No modo bonus, adiciona inimigos com movimento autónomo e condição de derrota.
Por que é relevante
Este projeto mostra domínio prático de programação gráfica em C: leitura e validação de dados de entrada, ciclo de eventos, rendering com sprites, controlo de colisão e feedback em tempo real. A versão bonus eleva o desafio com lógica adicional para inimigos e estados de jogo.
Aprendizados
- Estruturar um game loop simples e previsível.
- Validar mapas com regras rígidas antes da execução.
- Gerir assets, sprites e estados visuais em MinilibX.
- Adicionar comportamento autónomo em inimigos para enriquecer a jogabilidade.
Demonstrações
O repositório inclui uma demonstração animada do jogo; abaixo fica o visual principal do projeto e o ponto de entrada para o código-fonte.
Modo bonus
Inimigos autónomos, estados de perda e maior densidade de lógica de jogo para uma apresentação mais completa.
Resumo técnico
- Base em C com Makefile e dependências de libft + MinilibX.
- Validação de mapa com paredes, acessibilidade e contagem de objetos.
- Sprites para jogador, saída, moedas e inimigos no modo bonus.
- Fluxo de interação por teclado e atualização contínua do estado visual.