![]() |
Este projeto é um jogo do tipo Tower Defense , desenvolvido em C# utilizando a engine Unity . Inspirado nos Objetivos de Desenvolvimento Sustentável (ODS) , o jogo busca conscientizar os jogadores sobre os impactos ambientais causados pelo garimpo ilegal . Através de mecânicas envolventes, os jogadores devem proteger o meio ambiente posicionando torres estratégicas para deter inimigos que representam ameaças ao ecossistema.
| Tecnologia | Descrição |
|---|---|
| Unity | Motor gráfico para desenvolvimento do jogo |
| C# | Linguagem de programação utilizada |
| Física do Unity | Sistema de física para movimentação e colisão |
| IA para inimigos | Algoritmos para movimentação e tomada de decisões dos inimigos |
O objetivo do jogo é impedir o avanço de inimigos que representam agentes do garimpo ilegal. O jogador deve posicionar torres estrategicamente para deter esses inimigos antes que alcancem seus objetivos destrutivos.
- Torres : Posicione-as em pontos estratégicos para atacar os inimigos.
- Inimigos : Representam ameaças ao meio ambiente e seguem rotas pré-definidas.
- Recursos : Ganhe pontos ao derrotar inimigos e use-os para melhorar suas defesas.
Abaixo está um trecho de código que gerencia a busca pelo inimigo mais próximo dentro do alcance da torre:
void Start() { InvokeRepeating("UpdateTarget", 0f, 0.5f); }
void UpdateTarget() { GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); float shortestDistance = Mathf.Infinity; GameObject nearestEnemy = null;
foreach (GameObject enemy in enemies)
{
float distanceToEnemy = Vector3.Distance(transform.position, enemy.transform.position);
if (distanceToEnemy < shortestDistance)
{
shortestDistance = distanceToEnemy;
nearestEnemy = enemy;
}
}
if (nearestEnemy != null && shortestDistance <= range)
{
target = nearestEnemy.transform;
}
}
Esse código faz com que a torre atualize seu alvo a cada 0.5 segundos, buscando o inimigo mais próximo dentro do seu raio de alcance.
Exemplo de definição de um inimigo no Inspector do Unity:
<img src=(MegaApiDotnetCore\Funai/Menu/Assets/Images/Yaml.png)
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/enemies |
Retorna a lista de inimigos |
| POST | /api/enemies |
Cria um novo inimigo |
| PUT | /api/enemies/{id} |
Atualiza os dados de um inimigo |
| DELETE | /api/enemies/{id} |
Remove um inimigo |
- Algoritmos de pathfinding para movimentação dos inimigos.
- Sistema de detecção de colisão para interações entre torres e inimigos.
- Balanceamento de jogo para ajustar dificuldade progressiva.
- Otimização de desempenho para rodar bem em diferentes dispositivos.
| Dependência | Descrição |
|---|---|
| UnityEngine | Biblioteca principal do Unity |
| Cinemachine | Sistema avançado de câmeras |
| TextMeshPro | Sistema de texto avançado |
- Baixe e instale o Unity (versão recomendada: 2021 ou superior).
- Clone este repositório ou baixe os arquivos do projeto.
- Abra o Unity Hub e importe o projeto.
- Execute a cena principal para testar o jogo.
Contribuições são bem-vindas! Se você deseja sugerir melhorias, corrigir bugs ou adicionar novas funcionalidades, siga os passos abaixo:
Faça um fork deste repositório.
- Crie uma branch com sua feature (git checkout -b feature/nova-funcionalidade).
- Commit suas mudanças (git commit -m 'Adiciona nova funcionalidade').
- Envie para o repositório remoto (git push origin feature/nova-funcionalidade).
- Abra um pull request.
Este projeto é distribuído sob a licença MIT. Para mais informações, consulte o arquivo LICENSE.
