Skip to content

🧠 CÉLEREBRO é um mini game de matemática para praticantes de neuróbica.

Notifications You must be signed in to change notification settings

DanielBrito/celerebro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Sobre o Jogo

Célerebro arte

CÉLEREBRO é um minigame que desenvolvi para praticar o conteúdo de programação que estava aprendendo na faculdade - e também porque gosto muito de jogos “neuróbicos”.

Tentei utilizar ao máximo diversos recursos que a poderosa linguagem C oferece, como estruturas de dados, alocação dinâmica, ponteiros, ordenação e manipulação de arquivos.

Com quase todo o sistema modelado, não gostei dos resultados da função geradora de números aleatórios. Por isso, decidi (re)começar praticamento do zero, utilizando outro método para tornar cada operação o mais esporádica possível. Para tal, fiz o uso de listas encadeadas e conceitos de produto cartesiano.

Muitas vezes, debugá-lo foi um desafio, pois não é fácil indentificar um erro de semântica, mas, graças ao gdb, corrigi vários problemas de segmentation fault. Apesar dos meus testes, pode ser que existam outros bugs que deixei passar.


▶️ Executando

Uma vez com o gcc instalado, é só abrir o terminal na pasta codigo, onde se encontra o arquivo Makefile, e digitar o comando make. Assim, todos os módulos serão carregados.

Para rodar o executável gerado, basta digitar o comando ./main.x.

Quem quiser ir além (no Linux)...

Para criar um comando para executar o jogo direto no terminal, de forma global:

1 - Criar um script com nome celerebro na pasta codigo com as seguintes linhas de comando:

#!/bin/bash
cd <endereço onde se encontra o ./main.x>
./main.x

Por exemplo:

#!/bin/bash
cd /home/danielbrito/games/celerebro/codigo
./main.x

2 - Copiar (ou mover) o script criado para a devida pasta:

sudo cp celerebro /usr/bin/

3 - Autorizar execução via linha de comando:

sudo chmod +x /usr/bin/celerebro

Pronto! Agora é só digitar o comando celerebro de qualquer diretório que o programa será executado.


🎮 Jogando

A tela de apresentação, bem como as outras "ilustrações" do jogo, foram todas geradas por um programa cujo algoritmo converte pixels em caracteres da tabela ASCII.

Após teclar ENTER, será exibido o menu principal, onde existem as opções de começar uma nova partida, verificar ranking, ler sobre neuróbica ou sair.

A opção principal é a "1 - Nova partida", pois ela leva a uma série de configurações que serão aplicadas nas operações a serem resolvidas, como tipo (adicão, subtração etc.), nível (fácil, médio, difícil etc.), bem como a quantidade de operações a serem respondidas.

Após o início da partida, as operações aparecem na tela e um cronômetro (em background) contabiliza o tempo.

Ao final, é exibido o resultado juntamente com uma lista de opções sobre o que fazer a seguir. Jogar novamente? Voltar ao menu? Exibir os erros? (Se houverem) Exibir ranking?

Se a opção escolhida for "Sair", é exibida uma tela de despedida com um incentivo para retornar uma próxima vez.


⚙️ Modificações

Para modificar o intervalo dos números em cada nível é só alterar os valores dos #define no arquivo operacao.c.


📺 Screencast

Confira o screencast neste vídeo que gravei para o meu canal.

Video cover


🖥️ Telas

Abertura

Tela Célerebro

Menu

Tela Célerebro

Nova Partida - Operação

Tela Célerebro

Nova Partida - Nível

Tela Célerebro

Contagem

Tela Célerebro

Partida

Tela Célerebro

Resultado

Tela Célerebro

Erros

Tela Célerebro

Neuróbica

Tela Célerebro

Ranking

Tela Célerebro