Incluindo formas no terminal e também com SFML e OpenGL.
Não julgue a imagem! =) Essa foi uma das primeiras Pixel Art que eu fiz com LibreSprite ! 😃
Então, é Natal! Que tal aproveitarmos essa data ímpar do ano para treinarmos mais um pouquinho do nosso conhecimento em C++?
Nesse artigo vamos ver três formas de criarmos nossa Árvore de Natal com C++, incluindo formas no terminal e também com OpenGL e SFML. 🎄
1º Forma, a mais básica possível
Se criarmos um loop aninhado podemos desenhar diversas formas geométricas, no entanto, a mais treinada é um triângulo. No código abaixo, conseguimos fazer um triângulo reto, ou seja, para nossa solução, seria metade do problema resolvido.
Note que pus a função separada para que possamos customizar o tamanho do triângulo que queiramos
vim 01-christmas-tree.cpp
Após compilar e rodar teremos a possível saída abaixo:
Ou seja, somente algums básicas linhas! Se quiser um pouco maior, basta alterar a função drawTree() para 1,10 ou qualquer número que você queira:
E então, teremos um tamanho ligeiramente maior:
Mas, queremos mesmo ter um triâgulo equilátero(bom, não é tão equilátero assim, mas tá valendo! :) ), logo, adicionaremos mais dois loops dentro do loop principal com cálculos que crie a parte esquerda do triângulo e dê espaço à esquerda, além de remover o parâmetro min para que possamos mostrar todo o triângulo, veja o código para notar a diferença:
Agora ficou legal! Podemos ainda customizar o tamanho via argc e argv, mas isso aí fica com você! 😃
2º Forma - Uma Árvore de Natal mais estilosa e com animação!
Nessa outra forma vamos incrementar mais alguns caracteres ASCII para ficar mais legal, também vamos usar a biblioteca unistd.h para obtermos um lag(sleep) de 1 segundo na troca da aniimação, para mais detalhes veja o artigo: 4 Formas diferentes de usar sleep() em C++ .
Além também de adicioarmos CORES! Para isso vamos usar uma biblioteca que criamos aqui mesmo no blog, para mais detalhes veja o artigo: Crie sua própria biblioteca de cores para C++ . O legal dessa biblioteca é que ela é simples e funciona legal no LSP, veja o gif abaixo ele informando cada string, note que ele informa: sublinhado, itálico, normal, background e entre outros:
Ou seja, copie o código da postagem e salve em um arquivo de nome colors.hpp e deixe no mesmo diretório do código abaixo!
O código em resumo será:
vim 02-christmas-tree.cpp
Compile e rode: g++ 02-christmas-tree.cpp && ./a.out
A árvore possívelmente aparecerá assim:
3º Forma - Usando C++ com SFML e OpenGL
E por final temos com SFML e OpenGL, esse exemplo eu encontrei na internet, só fiz algumas modificaçãozinhas!
Leia o código para mais detalhes, mas antes prepare um diretório para os arquivos:
tree.hpp
tree.cpp
main.cpp
Makefile
Agora é só compilar e rodar:
Saída:
Show de bola, né?!
Queria desejar Boas Festas e um Feliz Natal para tod@s vocês!
Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!