Quando eu estava aprendendo a programar em C, eu fiz vários pequenos projetos para colocar meu conhecimento à prova.
É muito bom olhar estes códigos antigos e perceber que aprendi muito nestes anos. Também é prazeroso ver que mesmo sem conhecer quase nada, consegui fazer muitas coisas divertidas.
Uma das primeiras coisas que fiz em C, foi um jogo de labirinto para terminal do Windows. Fiquei inacreditavelmente feliz e me achando muito inteligente por conseguir fazer um jogo assim.
Após algum tempo já programando, depois de conhecer a biblioteca SDL para criar jogos gráficos em C, o joguinho de labirinto chegou na sua terceira versão: DuDuRoX.
Como agora estou aprendendo Haskell e quero manter a tradição, irei criar um novo DuDuRoX nesta linguagem: DuDuHoX. Notem a pequena variação no nome demonstrando minha imensa criatividade.
Quem quiser acompanhar o progresso e fazer comentários, todo o código está disponível no GitHub (link no parágrafo acima).
Bastantes coisas já estão funcionando, até já é possível jogar. Quem quiser experimentar, é só baixar a plataforma Haskell, fazer um clone do repositório, executar o comando cabal install na pasta do jogo e ele estará disponível no seu terminal como "DuDuHoX".
Quem quiser dar uma olhada em códigos antigos, meus primeiros passos na programação estão postados no site Viva O Linux:
- Jogo da Velha com GOTO: Primeiro código que coloco no site e o primeiro comentário foi muito encorajador: "quem usa goto vai para o inferno".
- Jogo da Velha sem GOTO: Quero ver alguém me mandar pro inferno agora... hahaha
- Jogo da Velha com I.A. invencível (console): I.A. com força bruta.
- Jogo da Velha com I.A. invencível (gráfico): Primeiros contatos com SDL.
- Agenda telefônica: Primeiros contatos com alocação dinâmica de memória.
Alguns códigos mais "avançados", acabei não compartilhando, porém tenho eles salvos no meu computador, se alguém se interessar posso compartilhar também:
- MultiMines: Jogo de campo minado.
- HChess: Jogo de xadrez.
- ObjectDetector: Tratador de imagem para realçar as bordas de objetos.
- LConv: Conversor de "linguagens", a partir de uma pseudo-linguagem, o usuário conseguia definir regras de criptografia e aplicar a textos.
- GATesting: Algoritmo genético para encontrar qualquer formula matemática que trouxesse como resultado o valor informado.
Nenhum comentário:
Postar um comentário