Primeiro programa em C com Allegro

Continuando a séria de posts sobre Allegro, vamos ver como iniciar um programa usando essa biblioteca. Que por sinal, é bem simples usando o Dev C++. 

No Dev C++, vamos no menu File > New > Project
Abrirá a seguinte tela:

Tela 1 - Escolhendo o tipo de projeto

Entre na aba MultiMedia, escolha Allegro application (static) e escolha a linguagem C ou C++, para este post vamos usar o C. Você pode também definir o nome do projeto, aqui definimos como Tutorial Allegro. Após, podemos clicar em Ok.

O Dev C++ pedirá que você escolha um diretório para salvar o projeto, e também o nome do arquivo do projeto, podemos deixar Tutorial Allegro.dev mesmo.

Após salvarmos, o Dev C++ já mostra um arquivo fonte, onde já foi iniciado a Allegro, por isso eu disse que o Dev facilita bastante nossa vida. :)
Vou comentar as linhas de código criadas pelo Dev.

C:
  1. #include
  2.  
  3. /* assinatura das funções para quando iniciar e sair da biblioteca, é bom usar para organizar a estrutura do código fonte. */
  4. void init();
  5. void deinit();
  6.  
  7. /* funcao principal do arquivo fonte */
  8. int main() {
  9. /* chamada da função init() para inicializar a biblioteca allegro */
  10. init();
  11.  
  12. /* loop onde sera criado o jogo/aplicação
  13. while (!key[KEY_ESC]) {
  14. /* put your code here */
  15. }
  16.  
  17. /* chamada da função para desiniciar a Allegro */
  18. deinit();
  19. /* return 0 para finalizar o programa */
  20. return 0;
  21. }
  22. END_OF_MAIN()
  23. /* macro para manter a vantagem de poder ser compilada em várias plataformas. Obs: coloquei o comentário depois, para não dar erro. */
  24.  
  25. void init() {
  26.  
  27. /* declaração de 2 variáveis, uma para guarder a profundidade de cores suportada pelo computador do usuário (depth) e outra para guardar a resolução/janela (res), ambas inteiras (int) */
  28.  
  29. int depth, res;
  30.  
  31. /* funcao da biblioteca para inicialá */
  32. allegro_init();
  33.  
  34. /* guarda a profundidade de cores que a maquina do usuário suporta em depth, retornada pela funcao desktop_color_depth() da Allegro */
  35. depth = desktop_color_depth();
  36.  
  37. /* se retornou 0, usar 32bits de cor */
  38. if (depth == 0) depth = 32;
  39.  
  40. /* setando a profundidade de cor para depth, a vantagem de se usar a mesma profundidade de cor do usuário é aumentar a velocidade, pois elimina a necessidade de conversões entre a usada na aplicação e a do usuário */
  41. set_color_depth(depth);
  42.  
  43. /* cria uma nova janela do tamanho 640x480 */
  44. res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
  45.  
  46. /* se res for 0, ocorreu um erro, entao mostra a mensagem de erro e sai do programa */
  47. if (res != 0) {
  48. allegro_message(allegro_error);
  49. exit(-1);
  50. }
  51.  
  52. /* aqui vamos iniciando tudo o que queremos usar do Allegro */
  53.  
  54. /* inicia o timer */
  55. install_timer();
  56.  
  57. /* inicia o teclado */
  58. install_keyboard();
  59.  
  60. /* inicia o mouse */
  61. install_mouse();
  62. /* add other initializations here */
  63. }
  64.  
  65. void deinit() {
  66.  
  67. /* limpa o buffer do teclado */
  68. clear_keybuf();
  69. /* add other deinitializations here */
  70. }

Para testarmos o programa, basta apertarmos F9. O Dev C++ pedirá para salvarmos o arquivo fonte. Podemos deixar o nome padrão main.c.

Se tudo ocorrer bem, e provavelmente ocorrerá, aparecerá a seguinte tela:

Tela 2 - Primeiro programa em Allegro Rodando

Bom, espero que tenham gostado. Qualquer dúvida comentem!

Até a próxima!

6 Comentários »

  1. Diego Nadalini Lopes said,

    Agosto 20, 2006 @ 22:01

    É isso ai Túlio você está de parabéns ,compartilhando seus conhecimentos e tentando destravar a mente daqueles que o cerébro está quase fundindo,rsrs.
    Abs.

  2. jean said,

    Setembro 13, 2007 @ 10:21

    Bom :D

  3. Ivair said,

    Outubro 7, 2007 @ 15:03

    Muito bom, este tutorial vai ajudar muito meus alunos de C.
    Túlio Você já é um Ninja.

  4. Tulio Faria said,

    Outubro 9, 2007 @ 15:29

    Olá pessoal,

    obrigado pelos elogios...

    Ivair, quanto mais eu aprendo mais eu acho que num sei nada... rs... Tô longe de ser um ninja :)

    Abraços,

  5. Walldemar said,

    Novembro 23, 2007 @ 22:56

    Bons dias,
    Valeu por todas as dicas, tem sido de grande auxilio.
    T +

    obs.: Falta um " */ " na linha 12 do seu código , sei porque copiei para ter ele gravado com os comentários e notei que faltou.

  6. Foster said,

    Junho 5, 2008 @ 20:53

    Boa noite!

    Criei vergonha na cara agora em começar aprender Allegro.

    Seu tutorial tá ótimo, facilitará e muito em meu aprendizado.

    Vlw!

RSS feed for comments on this post · URI do TrackBack

Deixe seu comentário