Skip to content

Graphical Interface

Beatriz Franco Martins Souza edited this page May 7, 2015 · 2 revisions

Para o desenvolvimento da interface gráfica, um conjunto de ferramentas foi utilizada. A seguir, é apresentada uma descrição das bibliotecas utilizadas para desenhar a interface gráfica utilizando a linguagem Java.

A biblioteca LWJGL é uma solução apontada diretamente para programadores Java profissionais e amadores para permitir jogos de qualidade comercial. Fornece aos desenvolvedores acesso à bibliotecas específicas de plataforma alto desempenho, tais como OpenGL (Open Library Graphics) , OpenCL (Open Computing Language) e OpenAL (Open Library Audio) permitindo renderizar jogos 2D ou 3D com alta qualidade através de uma API simples. Está disponível sob uma licença BSD , o que significa que é de código aberto e disponível gratuitamente, sem nenhum custo.

O framework Slick2D é um conjunto de ferramentas e utilitários envolvidos em torno do LWJGL para facilitar ainda mais a sua aplicação. É focado no desenvolvimento de jogos 2D, seja de visão ortogonal ou isométrica. Assim como a LWJGL, é de código aberto e está disponível sob a licença BSD.

O Tiled Map Editor foi utilizado para validar e testar os mapas (cenários) gerados dinamicamente a partir do jogo desenvolvido. Nesse trabalho foi criado um gerador de mapas no formato padrão TMX. Esse formato foi selecionado para este jogo por ser bastante flexível, permitindo descrever mapas com qualquer tamanho de piso, qualquer quantidade de camadas, qualquer número de conjuntos de pisos e permite que propriedades personalizadas sejam definidas na maioria dos elementos.

A arquitetura da interface foi definida levando em consideração a separação de preocupações.

Foram criados 4 pacotes:

  • br.ufes.ia.wumpus, composto da classe MundoWumpus.java, que contém o núcleo da interface (Slick 2D), a interpretação de comandos, a renderização de gráficos. É o ponto de entrada do jogo e classe principal.
  • br.ufes.ia.wumpus.dominio, composto da classe Jogador.java, que é onde se encontram atributos de definição de jogadores de acordo com os estados informados pela resposta do núcleo em Prolog.
  • br.ufes.ia.wumpus.prolog, composto de classes que são responsáveis por executar o motor do jogo escrito em Prolog, efetuar conversões de tipos e preparar os dados para serem invocados pela classe principal.
  • br.ufes.ia.wumpus.util, composto de classes de apoio ao jogo, como estrutura de dados, recuperação de conteúdo web (Json) e geração dinâmica de mapa gráfico no formato TMX.

De modo geral, o conjunto dessa arquitetura forma a interface gráfica do jogo que permite abstrair o modo textual do jogo no Prolog fornecendo uma interface amigável de interação com o usuário.

Clone this wiki locally