Campo Minado CLI 2024

Desenvolvimento de uma releitura customizada do clássico jogo Campo Minado para ambiente de console (CLI). O projeto foca no gerenciamento de matrizes dinâmicas em tempo de execução, algoritmos de varredura iterativa para expansão de estados e controle estrito de regras de negócio para viabilidade de gameplay.

Linguagem(ns)

C++ Nativo

Conceitos abordados

Alocação de Matrizes Dinâmicas, Algoritmos de Varredura de Vizinhança, Animação Procedural em CLI e Fluxos de Controle Automatizados.

Tech Stack

C++Win32 APISTL (Vectors)Memory ManagementCLI Engine

Sobre o projeto

/projects/campo-minado/demo.mp4

Campo Minado CLI: Algoritmos de Expansão e Alocação Dinâmica em C++ 💣⚙️

Desenvolver um Campo Minado em ambiente de terminal exige ir muito além da exibição de caracteres: o desafio real está na gestão eficiente de memória e na garantia de uma experiência justa e fluida para o jogador. Nesta implementação em C++, foquei em resolver problemas clássicos de arquitetura de software e UX em linha de comando: - Matrizes Dinâmicas Bidimensionais: utilizei a estrutura std::vector<std::vector<T>> para permitir que o jogador defina livremente o tamanho do tabuleiro no setup inicial, superando as limitações de rigidez de arrays estáticos nativos. - Algoritmo de Expansão Iterativa ("Triple-Check"): criei uma rotina de varredura adjacente para revelar automaticamente e em cascata os blocos vazios (casas '0'). Para elevar a UX no terminal, integrei a função Sleep() para cadenciar a abertura das casas, gerando um efeito visual de animação procedural. - Garantia de Primeira Jogada Segura (Lazy Initialization): o gabarito de minas só é gerado após o primeiro clique do usuário, recalculando posições probabilísticas para garantir que o jogador nunca perca na primeira jogada. - Validação Matemática de Gameplay: implementei travas lógicas que impedem configurações onde a densidade de minas ultrapasse 50% da área útil do tabuleiro, assegurando o balanceamento do jogo.

contato

Gostou deste projeto? Vamos criar algo juntos

Estou disponível para projetos freelance e oportunidades presenciais, híbridas ou remotas. Vamos conversar sobre o que você quer construir.

← Ver outros projetos