minerva ufrj

A Biblioteca Gráfica Allegro

barra horizontal azul
©2002 - Tiago da Conceição Mota

Powered by vi

  1. A Biblioteca Gráfica Allegro
    1. Introdução
    2. Instalando o Allegro
      1. Com MinGw
      2. Com DJGPP
    3. Passos Básicos
  2. Programando com o Allegro
    1. Esquema de um Programa
    2. Programando com Exemplos
  3. Técnicas de Programação de Jogos
    1. Double Buffering
    2. Scrolling
    3. Sprites
    4. Detecção de Colisão
  4. Montando um Jogo Usando o Allegro
    1. Visão Geral do Jogo
    2. Definições e Outras Funções
    3. As Inicializações
    4. O Loop Principal
    5. As Finalizações
  5. As Funções do Allegro
  6. Programas Exemplo
barra horizontal azul

1. Introdução

Uma importante área da computação, mas que normalmente é deixada em segundo plano no meio acadêmico, é a de jogos. Os jogos, porém, constituem um ramo com grande potencial de exploração, devido ao uso de diversos elementos da computação em sua produção.

Além dos elementos mais aparentes para um leigo num jogo, como a inteligência artifical (com destaque para os jogos de tabuleiro) e a computação gráfica, outros estão "escondidos", como o de algoritmos (visando a eficiência para respostas mais rápidas pela máquina) e de estruturas de dados (facilitando ao criar uma abstração para os objetos utilizados nos jogos).

Assim, devido à complexidade e à completeza da área de jogos, entendemos que estes são fonte inesgotável de pesquisas e, portanto, devem ter maior foco no meio acadêmico.

O objetivo principal desta apostila, no entanto, é tentar ensinar a usar, pelo menos de maneira básica, a biblioteca Allegro, uma das mais populares ferramentas para confecção de jogos existente. Explicações de algumas técnicas de programação de jogos aparecerão naturalmente como necessidade para contornar determinados problemas e/ou simplificar determinadas tarefas.

Como efeito da programação de jogos utilizada nesta apostila, pretendemos criar uma nova mentalidade a respeito dos mesmos, mostrando a necessidade da pesquisa nessa área. Assim, como segundo objetivo e resultado do primeiro, esta apostila visa introduzir o aluno ao mundo da programação de jogos, que pode, nos próximos anos, tornar-se uma tendência no meio acadêmico, caso o preconceito em relação a ele seja superada.

A apostila está dividida em dois blocos: um didático e outro de referência.

O primeiro bloco, por sua vez, está subdividido em quatro partes: a primeira delas, da qual esta introdução faz parte, apenas ensina como instalar o Allegro e alguns passos básicos a serem tomados antes de começar a programar; a segunda ensina como usar as funções mais importantes do Allegro, sempre com exemplos que ilustrem o uso das mesmas; a terceira ensina algumas técnicas de programação de jogos que foram mostradas durante a segunda parte, ou que sejam interessantes para a confecção de um jogo básico; e a quarta ensina como montar um jogo utilizando as funções mostradas na segunda parte e algumas técnicas utilizadas na terceira.

O segundo bloco contém um guia de referência com as funções do Allegro mais úteis, e deve ser consultado quando as explicações do primeiro bloco não forem profundas o suficiente, ou quando se desejar saber, de forma rápida e eficiente, sobre o funcionamento de determinada função.

barra horizontal azul

2. Instalando o Allegro

Devido a restrições de compatibilidade com versões do sistema Windows a instalação com MinGW deve ser a preferida. Para quem usa o sistema Unix simplesmente siga os passos indicados no arquivo da bibliteca allegro.

2.1 Com MINGW

Para instalar o MinGw vá para como conseguir compiladores. Uma vez instalado o compilador é necessário trazer a biblioteca Allegro. Há uma versão compactada em binário para o compilador MinGw no site allegro.cc. Uma vez na página procure pelo link Files e não Downloads como na maioria das páginas. Basta então descompactar o arquivo no diretório onde foi instalado o compilador MinGw. Preste atenção que junto com os arquivos da biblioteca são trazidos três DLLs (all*.dll) que devem ser copiadas para o diretório apropriado do Windows. Estas dlls estarão no diretório principal do MinGw.

2.2 Com DJGPP

Primeiramente, entre no site allegro.cc para fazer o download da versão mais recente e estável. Caso exista algum arquivo de nome allxyz.zip (versão x.y.z) entre os arquivos de instalação do DJGPP/GCC, não será necessário baixá-lo novamente, ao menos que se deseje adquirir uma versão mais recente. A versão mais recente do Allegro, até a última atualização desta página, é a 4.0.2, que pode ser obtida clicando-se diretamente aqui.

Em seguida, crie um subdiretório dentro do diretório do DJGPP/GCC (normalmente C:\DJGPP\Allegro) e, então, extraia para este diretório os arquivos do arquivo .ZIP anteriormente mencionado (caso o arquivo .ZIP já possua uma indicação para criação do diretório Allegro, extraia o seu conteúdo para o diretório C:\DJGGP, por exemplo).

O próximo passo, e talvez o mais importante e (muito) demorado, é a compilação dos arquivos do Allegro, uma vez que o arquivo .ZIP é constituído apenas pelos arquivos-fonte.
Para isto, abra um Prompt do MS-DOS, mude para o diretório do Allegro e, em seguida, digite make. Caso ocorra algum erro durante o processo de compilação do Allegro, tente digitar make all. Se ainda assim ocorrerem erros, tente executar o make novamente. Ao final deste processo, digite make install para que o Allegro seja instalado de forma correta, fazendo com que o GCC/DJGPP possa utilizá-lo.

Após o make, é recomendável verificar se os arquivos allegro.h e liballeg.a estão, respectivamente, nos diretórios C:\DJGPP\Include e C:\DJGPP\Lib. Caso não estejam, copie-os manualmente a partir do diretório do Allegro.

Devido a alguns problemas com o make, resolvemos disponibilizar, também, um link para a biblioteca Allegro pré-compilada. Assim, clique aqui para baixar o arquivo e, depois, apenas extraia o seu conteúdo para o diretório do DJGPP (C:\DJGPP). Não é necessário o uso do make.

barra horizontal azul

3. Passos Básicos

Assim como se faz com qualquer outra biblioteca, é necessário incluir o arquivo de cabeçalho do Allegro. Para tal, APÓS todas as outras diretivas #include das bibliotecas padrão (ex: stdio.h, stdlib.h), inclua a seguinte linha:

    #include <allegro.h>

O próximo passo é fazer com que o compilador C possa linkar corretamente a biblioteca Allegro (liballeg.a).
Para tanto, os usuários do RHIDE devem ir ao menu Options->Libraries, adicionar a palavra alleg na primeira linha em branco e marcar o quadrado ao lado. Já para os usuários do GCC, é necessário adicionar o parâmetro -lalleg à linha de comando. Por exemplo:

    gcc -o jogo.exe jogo.c -Wall -lalleg

barra horizontal azul

Índice