Jogo do Labirinto no Terminal

Este é um pequeno programa que fiz há uns anos atrás. É apenas uma versão de jogo do labirinto em C. Você pode criar uma matriz de caracteres num arquivo chamado matrizLabirinto.txt e depois executar o jogo. Para compilar: $ gcc -o labirintoC labirintoC.c Para executar: $ ./labirintoC Você pode baixar o pacote tar.gz e ver uma matriz de exemplo. Se for criar a sua lembre que, a condição para ler a matriz é: ela deve ter o mesmo número de colunas. Ou seja, as linhas do matrizLabirinto.txt devem ter a mesma quantidade de caracteres. Os caracteres usados são o '.' (ponto) para caminho vazio, e o '#' para parede sólida, '@' é o jogador e a saída do labirinto é o 'E'.

Por: Samuel Leonardo


Jogo Super Mario Bros 3 (com gráficos)

Este foi/era um projeto que eu tinha planos de terminar há alguns anos, mais ou menos 2017. Era apenas um clone simples do jogo Super Mario Bros 3 de NES. O código está feio, porém dá pra entender alguma coisa e tirar uma base de como funciona colisão, máquinas de estados etc. Pra compilar: Instale as libs: $ sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev Você precisa do cmake para poder gerar o make file. Depois, entre na pasta chora_engine-2-master e execute: $ cmake ./ $ make Em seguida, baixe e extraia o arquivo SuperMarioBros3.tar.gz. Entre na pasta do jogo e execute: $ make NOTA: pode ser preciso que você recompile o projeto que está dentro do SuperMarioBros3/lib/SimpleJSON. Apenas entre nessa pasta e dê um: make clean && make O pacote tar.gz trás uma versão pré-compilada para 64bits, bastando apenas executar caso você já tenha as libs instaladas.

Por: Samuel Leonardo


Mini Analisador Léxico que conta palavras numa string

Neste programa está um código bem pequeno para contar palavras numa string. Com ele, você pode inclusive adaptar e contar palavras num arquivo txt, desde que não se use pontuações ou outros caracteres como \n e \t. Eu fiz ele bem simples para apenas alguém se interessar pelo estudo de compiladores. Sugiro a leitura dos livros: - compiladores princípios técnicas e ferramentas (ótimo livro, muito prático) - linguagens formais e autômatos do autor Paulo Blauth Menezes (muito teórico este livro) Instruções: - modifique a string 'str' para ver como se comporta o lexer - leia os comentários para mais instruções

Por: Samuel Leonardo


Gerador de exercícios para matemática

Hi-mundo! Segue um programa que fiz às pressas pra um amigo meu da internet. Levei pouco mais de 7 dias para aprontar a base, e 15 dias para deixar como está agora. IMPORTANTE: - não coloque este programa no seu site, pois ele tem falhas de segurança. Não tem problema executar no computador por um browser, mas não é seguro colocar tal código num site. No momento, estou preparando uma versão feita em ReactJS e não terá mais problemas de segurança. O programa vem com um teste diagnóstico, vulgo "joguinho" onde é possível fazer contas da tabuada e verificar seu desempenho no final. O programa é autoexplicativo. Se você tiver uma ideia de melhoria, ou se isso lhe servir em algo, deixa um comentário aí em baixo. A mais nova versão deste programa feita em react estará disponível no repositório: https://github.com/cpusam/gemah Acesse lá para ver se existe uma versão mais recente. Para executar o programa: 1. Extraia o arquivo zip 2. Entre na pasta e abra com o Firefox (de preferência) o arquivo "gerador.html" Valeu!

Por: Samuel Leonardo


MeikeNeime - Programa gerador de nomes aleatórios

Fala aí gente do fundo da caverna. Chegou a hora de nomear aquele seu programinha que vai lhe render o primeiro milhão (nem que seja assado). Este programa gera nomes aleatórios baseado num algoritmo que eu vi num grupo de leitura do Facebook. Desde o início achei o algoritmo simples para ser feito em papel, mas como we are programmers, a gente cria tudo automatizado magicamente no computador. Como diria aquela senhora lá: não é magia, é tecnologia, ligue diabo! Manual do programa: Para ver um help e exemplo de execução, apenas rode: $ ./meikeneime Para compilar, apenas execute um "make" (no mínimo precisa do c++11). NOTA: execute algumas vezes seguidas e avalie se a saída te agrada, se soa bem falando a palavra etc. Exemplos de nomes que eu consegui gerar: nome = meji nome = julavil nome = bini nome = monupa nome = dirupt nome = mijis nome = jeen nome = pijika nome = mania (algumas vezes faz sentido)

Por: Samuel Leonardo