O documento discute bibliotecas de interface gráfica em C, como Allegro, que facilitam o desenvolvimento de jogos e programas gráficos. Apesar de ser possível criar interfaces simples usando caracteres da tabela ASCII, bibliotecas fornecem recursos gráficos avançados de forma mais fácil e rápida. O documento também fornece exemplos de jogos desenvolvidos com Allegro.
1. ’
Bibliotecas de interface gráfica em C
O que é interface gráfica
Uma interface tem diversos significados diferente, porem o quesito mais importante que se irá
exemplificar e estudar é na área de informática. Na área de tecnologia geralmente se refere a uma
forma de comunicação entre dois ambientes distintos entre si. Um exemplo é a comunicação entre
uma placa de vídeo e uma placa mãe que se da através de uma interface ou barramento.
Observando de modo geral interface gráfica é uma forma de interação entre o usuário do
computador e um programa por meio de uma tela ou representação visual, normalmente entendido
como a “tela” de um programa. Logo é o modo de dispor em uma interface itens para se apresentar,
como imagens, desenhos, barras, menus, etc.
Bibliotecas
Existem muitas bibliotecas gráficas, para diversas linguagens de programação, cada uma tendo uma
visão de pontos de vantagem e desvantagem. Muito dos pontos a serem analisados para estabelecer
qual é a melhor escolha, os critérios geralmente são,portabilidade, rapidez de execução, custo de
desenvolvimento, estabilidade do software a qual vai ser utilizada a interface, entre outros
requisitos.
As bibliotecas podem ser de dois tipos diferentes, aquelas acopladas a um sistema, e as
desacopladas, para exemplificar usaremos dois exemplos de bibliotecas, as API nativas e as
bibliotecas de terceiros, desconsiderado a de sistemas embarcados. As API nativas são sistemas
quem acabam por implementar certos recursos , como uma interface gráfica no próprio sistema ,
que é o caso do Windows cuja a parte gráfica se encontra dentro do núcleo do sistema. Já as
bibliotecas de terceiros são externos que você pode instalar em um sistema, geralmente, elas são
vistas como bibliotecas de nível inferior, que ainda assim conseguem disponibilizar maior conforto.
Cada biblioteca tem seus requisitos para instalação, grande parte delas apenas exige a linguagem de
programação correta e uma plataforma compatível e em alguns casos é possível se deparar com
instalações complexas como é o caso do “Graphapp” para o Windows, já em outros casos é possível
achar as instalações bem simples e diretas como o “Allegro” também para Windows.
Allegro:
Aleegro é uma de uma extensa quantidade de bibliotecas de interfaces gráficas que podem ser
encontradas para utilização, essa biblioteca possui seu código fonte aberto e normalmente é a mais
buscada quando o assunto é interface de jogos. Um dos motivos pelo qual é muito buscado, é o
independência da plataforma de operação, o mesmo código fonte , sem uma única mudança de
caracteres, deve compilar e executar corretamente em qualquer plataforma suportada.
O seu principal uso é no escopo da programação de jogos. Atualmente ela possui uma grande
comunidade pois além de possuir diversos recursos nativamente (gráficos 2D, 3D com OpenGL,
entrada de dados pelo teclado e mouse, RLE-Sprites, exibição de vídeos e controle de som) a API é
bastante extensível fazendo que com existam diversos addons disponíveis.
2. ’
A interface pública de acesso da biblioteca é escrita em C, porém há alguns extensores (não-oficiais)
para outras linguagem de programação. Internamente seu código fonte é escrito em uma mistura de
C, Assembly (drivers i386), C++ e Objective-C.
As principais plataformas suportadas são:
DOS/Watcom
Windows/MSVC
Windows/MinGW32
Windows/Cygwin
Windows/Borland
Linux (console)
Unix (X)
BeOS
QNX
Mac OS/MPW
Com bibliotecas de interface gráfica como Allegro, é muito mais simples o desenvolvimento de jogos,
além de expandir a forma que pode ser utilizada a programação em C, além de aperfeiçoar o
conhecimento em linguagens de programação me geral. Já existem diversos códigos de jogos criados
que podem ser achados facilmente, jogos clássicos como jogo da velha, forca, tetris, porem não se
limita a apenas esses, também existem alguns jogos com códigos mais extensos.
Jogo da velha desenvolvido em allegro
3. ’
Logro de uma interface gráfica:
Existem outras maneiras de criar jogos ou simular interfaces gráficas sem o uso direto de bibliotecas
gráficas, mas sim manipulando o uso de caracteres especiais ou mesmo caracteres normais. A
qualidade diminui obviamente porem a funcionalidade geralmente é igual, só variando de acordo
com uma boa criatividade para se usar os caracteres. A utilização desse método, porem só poderá
ser usado de uma boa maneira com jogos ou interfaces simples, como por exemplo, o jogo da velha
ou mesmo o brinquedo connect foursendo colocado como um jogo virtual.
Através da tabela ASCII é determinado quais os possíveis e mais adequados caracteres a serem
utilizados nessa manipulação de interface, por meio da numeração que representa tal caractere. Esta
tabela pode facilmente ser encontrada ou até mesmo ser acessado pelo próprio C através de um
código especifico.
tabela ASCII
A opção de fazer um logro de uma interface gráfica fica a critério do objetivo do desenvolvedor.A
qualidade gráfica será extremamente baixa quando utilizar tal método independente se for para
jogos ou não, é mais recomendado a utilização dessa técnica para aqueles que exigem apenas um
escopo ou meio de criar testes simples a ser utilizado nos códigos, ou até mesmo para problemas de
compatibilidade das bibliotecas com os compiladores, dessa forma é possível criar um código e testa-
lo até que o problema seja resolvido. Abaixo segue um exemplo do jogo connect fourusando este
meio de manipulação em C++.
4. ’
Logro de interface gráfica.
Conclusão:
O uso de bibliotecas é extremamente útil para agilizar, auxiliar, e melhorar códigos de programação,
sendo algumas vezes impossível criar bons programas ou jogos com qualidade sem biblioteca
alguma, como é o exemplo do uso de interface gráfica. Dependendo do programa ao qual se tem
interesse em criar será necessário certo conhecimento básico front-end e ainda saber utilizar bem
interfaces gráficas, que torna a aplicação de apreciação visual adequada e tornando a utilização sem
auxílios, por isso é necessário o conhecimento da utilização de bibliotecas e interfaces gráficas.
Referencia:
http://www.geocities.ws/weissengeist/allegro.html
http://pt.kioskea.net/faq/10999-bibliotecas-para-interfaces-graficas-gui
http://www.explorando.com.br/o-que-e-interface-grafica
https://sites.google.com/a/liesenberg.biz/cjogos/home/software/interfaces-graficas-em-c
Link jogo da velha:http://www.4shared.com/zip/20IFsbse/Jogo_da_Velha.html
Link jogo Connect four + codigo:
http://www.4shared.com/rar/9sbDtIPU/ConnectFour.htmlOu
https://mega.co.nz/#!NZtFEbbK!X8boEXuXo4Q7ZJY4BEhApyfZeBNhC-yhB8CyWGedU9g