Sie sind auf Seite 1von 7

DESENVOLVIMENTO DE JOGOS DE MEMÓRIA

UTILIZANDO JAVA SWING


Cleyton Vanut Cordeiro de Magalhães, Ronnie Edson de Souza Santos, Richarlyson A. D’Emery
Universidade Federal Rural de Pernambuco (UFRPE)
Unidade Acadêmica de Serra Talhada (UAST)
Serra Talhada - Brasil
{cleyton.vanut, ronnie.gd, ricodemery}@gmail.com.br

RESUMO
As atividades lúdicas são atividades cujo objetivo é produzir prazer para os participantes quando é executada.
Os jogos são exemplos deste tipo de atividade possuindo grande influência no processo de desenvolvimento
das crianças. A popularização do computador nas últimas décadas coloca no cotidiano da sociedade um novo
ambiente de aprendizagem e relacionamento a partir de um espaço conhecido como virtual. O
desenvolvimento de jogos virtuais deve conter o máximo de requisitos do projeto de interface gráfica para
que possa viabilizar a construção do melhor ambiente lúdico quanto for possível. Este trabalho relata a
utilização do Java Swing, pacote que contém diversos componentes que permitem a criação de ambientes
gráficos, no desenvolvimento do Jogo da Memória.

PALAVRAS-CHAVE
Ambiente Virtual Lúdico, Jogos Infantis, Java Swing.

1. INTRODUÇÃO

A importância do processo de desenvolvimento e consolidação da identidade do ser humano é uma


questão de conhecimento geral da sociedade. A capacidade de aprendizagem colaborativa e a utilização de
meios diversos para obtenção de conhecimento começa na fase inicial da vida, no período conhecido como
infância (OLIVEIRA, 2006). É neste momento que as brincadeiras fornecem oportunidades de
desenvolvimento, onde através de atividades recreativas a criança experimenta, descobre, inventa, aprende e
desenvolve habilidades. Além do mais, as brincadeiras têm contribuição no estímulo da curiosidade, a
autoconfiança e a autonomia, proporcionando o desenvolvimento da linguagem, do pensamento e da
concentração.
O processo de formação de identidade do ser humano sofre influências diretas do meio em que o
indivíduo vive. A popularização do computador nas últimas décadas coloca no cotidiano da sociedade um
novo ambiente de aprendizagem e relacionamento a partir de um espaço conhecido como virtual. O
computador está presente na vida das crianças nos tempos atuais e tem grande participação no processo de
formação da personalidade, sendo um dos instrumentos mais eficientes na construção de ambientes
interativos para o aprendizado e a diversão.
As atividades lúdicas são atividades cujo objetivo é produzir prazer para os participantes quando é
executada. Para Piaget (1976) estas não são apenas uma forma de desafogo ou entretenimento para gastar
energia das crianças, mas meios que contribuem e enriquecem o desenvolvimento intelectual. Por meio do
computador é possível elaborar diversos maneiras de se trabalhar com o lúdico através dos jogos virtuais, que
podem simular diversos tipos de brincadeiras conhecidas, além de poder criar diversas outras.
Os jogos virtuais são muito importantes porque, segundo STAHL (1990):
• identificam a relação causa-efeito entre as respostas e as conseqüências no jogo;
• atraem e mantém o interesse e o entusiasmo;
• o ambiente pode variar em função do jogo e dos níveis de dificuldade;
• exploram efeitos auditivos e visuais;
• exploram a fantasia;
• o computador possui a capacidade de proporcionar um adversário "inteligente";
• oferecem sensibilidade, ou seja, pode-se mudar os parâmetros do jogo e assim variar o ambiente,
enfrentando objetivos diferentes de cada vez.

Além disto, o jogo é reconhecido como elemento que favorece a criança um ambiente agradável,
motivador, planejado e enriquecido, que possibilita a aprendizagem de várias habilidades (ANTUNES,
2000). Por isto, o desenvolvimento de um jogo deve conter o máximo de requisitos do projeto de interface
gráfica do usuário para que possa viabilizar a construção do melhor ambiente lúdico quanto for possível.
Uma GUI (Graphical user interface) dá ao aplicativo aparência e comportamento favorável para
que o processo de interação do usuário com o sistema ocorra da forma mais eficiente possível. Por fim uma
interface deve permitir ao usuário uma familiarização com o sistema, para utilizá-lo com mais produtividade.
Porém, construir interfaces gráficas não significa apenas saber como criar interações, ou seja, os primeiros
passos são meramente técnicos, trata-se de conhecer uma linguagem de construção de interfaces. Java é uma
linguagem de programação utilizada para desenvolver aplicativos corporativos de grande porte, aprimorar
funcionalidades de servidores web, fornecer aplicativos para dispositivos usados para o uso popular, como
celulares, e para muitos outros propósitos (DEITEL e DEITEL, 2005).
A API (Application Programming Interface) Java possui duas bibliotecas contendo diversos
componentes que permitem a criação de ambientes gráficos, o AWT (Abstract Window Toolkit), e o Swing
(SUN MICROSYSTENS, 2009). A programação de interfaces gráficas com o usuário utilizando Java inicio-
use com a utilização do AWT. Posteriormente foi criado o pacote Swing, que é completamente escrito em
Java e substitui, em parte, o AWT, fornecendo uma gama nova de componentes, ou JComponents sendo
considerado mais poderoso e portável. A diferença principal entre eles é que aplicativos implementados
utilizando Swing possuem a mesma aparência quando executado sobre diferentes plataformas, o que não
acontece ao utilizar o AWT, sendo que este utiliza a aparência do sistema operacional em que a aplicação é
executada.
Como o pacote Swing estende do AWT, existe uma grande semelhança entre os nomes de seus
componentes bastando apenas adicionar a letra "J" como prefixo ao nome do componente AWT para obter o
nome da classe correspondente em Swing. Por exemplo, as classe Button e Frame de AWT correspondem
respectivamente às classes JButton e JFrame em Swing.
O Java Swing é utilizado principalmente para a construção de aplicativos para desktop, mas os seus
componentes permitem ainda a elaboração de jogos que simulam brincadeiras bastante conhecidas e
divertidas no ponto de vista das crianças. Alguns podem ser bem simples, porém o Swing permite ainda a
criação de ambientes de animação em duas dimensões, ou seja, 2D.
Este trabalho relata a utilização do Java Swing no desenvolvimento de um jogo simples, o Jogo da
Memória. Este é um dos jogos mais conhecidos, sendo bastante eficiente para aumentar o esforço, o
raciocínio e a observação dos jogadores.

2. MATERIAL E MÉTODOS

O processo de desenvolvimento do Jogo da Memória ocorreu na disciplina Modelagem e


Programação Orientada a Objetos, no curso de Bacharelado em Sistemas de Informação na Unidade
Acadêmica de Serra Talhada da Universidade Federal Rural de Pernambuco. Foi solicitada a criação de um
jogo na linguagem Java, que fizesse utilização dos principais conteúdos ministrados na disciplina, dentre
eles, a API Swing.
É importante saber que durante o processo de construção de um programa Java é necessário,
primeiramente, importar os pacotes Java para tornar possível a execução do programa. Assim, as primeiras
linhas do código geralmente serão como esta: import javax.swing.*;
Como qualquer aplicação que possua uma interface gráfica, o desenvolvimento do primeiro nível do
jogo foi iniciado com a criação de um JFrame, o qual se trata de uma janela sem conteúdo em seu interior.
Após a configuração de seu tamanho, título e localização na tela utilizando os métodos setSize(), setTitle() e
setLocation(), a estratégia comumente adotada é adicionar ao JFrame, no método construtor da classe, os
componentes desejados. Neste caso, foram adicionados 20 JButtons, que são simplesmente botões, que ao
serem clicados, disparam algum tipo de evento determinado pelo programador.
Os gerenciadores de layout são fornecidos a fim de organizar componentes GUI em um contêiner
(Container). O FlowLayout é o gerenciador mais simples, ele organiza os componentes GUI da esquerda para
a direita na ordem que são adicionados enquanto BorderLayout distribui os componentes em cinco regiões:
norte, sul, leste, oeste e centro, que são definidas pelo programador. Para que os botões adicionados à janela
estivessem organizados de forma uniforme o gerenciador utilizado no Jogo da Memória foi o Gridlayout, que
divide o contêiner em forma de grade de forma que os componentes podem ser distribuídos em linhas e
colunas e por parâmetros é possível passar o número de linhas e colunas, assim como a distância entre os
componentes.
O próximo passo da implementação foi adicionar aos botões, as imagens a serem mostradas caso
algum deles seja clicado. Vale ressaltar que, por se tratar de um jogo lúdico, as imagens devem ser
apropriadas ao público alvo, nesse caso, crianças. Ao instanciar um objeto da classe ImageIcon é necessário
passar por parâmetro qual o endereço em que está localizada a imagem, para que assim, o aplicativo possa
encontrá-la e manipulá-la durante a execução do mesmo.
As imagens e os botões foram adicionados em vetores para que a manipulação destes seja mais
prática. Com o intuito de que cada vez que o jogo for iniciado as imagens sejam misturadas, foi utilizado o
método shuffle() da classe Collections, que mistura o conteúdo do vetor das imagens garantindo que o jogo
não se torne monótono trazendo as mesmas imagens sempre nas mesmas posições.
Para obter um maior controle sobre a aplicação também foi criado um menu, utilizando os
componentes JMenu, JMenuItem e JMenuBar. No menu estão as opções para iniciar uma nova partida, obter
informações sobre o jogo, bem como uma opção para parar a execução da aplicação.
O passo seguinte é incorporar funcionalidades aos componentes adicionados, através dos Listeners
que são normalmente interfaces que um objeto tem que implementar para poder receber determinado evento,
ou seja, a ação gerada ao clicar sobre a imagem. A classe Listener para eventos relacionados a botões é a
ActionListener que possui o método actionPerformed(), que atribui aos botões funcionalidades quando
clicados.
Os outros níveis do jogo foram construídos seguindo a mesma metodologia do primeiro nível, desde
a criação do JFrame até a implementação dos eventos. Vale ressaltar que a complexidade do jogo poderá ser
aumentada, fazendo com que o número de imagens seja maior, o tempo de exibição para memorização seja
menor, o número de tentativas seja menor, entre outros.

3. RESULTADOS E DISCUSSÃO

Os jogos da memória, além de muito divertidos, são passatempos ideais para o estímulo do
raciocínio e do poder de observação das pessoas, pois trabalham principalmente com o estímulo à percepção
visual.
“Memoranimal” foi o nome dado ao resultado da implementação do Jogo da Memória utilizando a
API Swing, devido ao tema escolhido: animais. São as imagens que animam o jogo que chamam mais
atenção, pois se tratam de uma mistura de bichos que se transformam em uma nova criatura bastante
diferente. Isto torna o aplicativo muito mais divertido.
A interface foi projetada para ser intuitiva a fim de facilitar a comunicação com o usuário e o
protótipo do jogo possui três níveis de dificuldade: fácil, médio e difícil. As figuras Fig. 1, Fig. 2, Fig. 3 e
Fig. 4 apresentam o Memoranimal.

Figura 1. Nível fácil do jogo da memória Memoranimal


com as imagens não visíveis.

Figura 2. Nível fácil do jogo da memória


Memoranimal após solucionado.

No nível fácil (Fig. 2), ao iniciar partida, o jogador terá 5 segundos para memorizar 10 pares de
figuras e tentar atingir o objetivo do jogo com o mínimo de erros possível. O número de jogadas erradas será
contabilizado durante a partida, sendo constantemente atualizado em um JTextField no painel superior da
tela. Ao finalizar o jogo, quando todas as imagens estiverem expostas, o aplicativo mostrará uma mensagem
com o total de erros cometidos na partida.
O nível médio (Fig. 3) segue o mesmo esquema do anterior, porém com o número de figuras maior,
15 pares ao todo, e o tempo de memorização ao iniciar o jogo também será maior, correspondente a 8
segundos. Neste caso, a cada acerto serão creditados 10 pontos ao placar do jogador, enquanto isso cada erro
implicará no decréscimo de 5 pontos do placar. A pontuação também é atualizada no painel superior da
janela. No final de cada partida, quando todos os pares forem encontrados, o aplicativo mostrará uma
mensagem com o total de pontos acumulados pelo jogador.

Figura 3. Nível médio do jogo da memória


Memoranimal após solucionado.

O nível difícil (Fig. 4) possui regras diferentes em relação aos outros níveis. Serão 15 segundos para
memorizar 8 pares de imagens e quando a partida começar um único erro reiniciará o jogo. Neste nível não
existe pontuação, o grande desafio é memorizar e descobrir todas as figuras sem cometer nenhum único erro.
Isto ajuda a estimular ainda mais a atenção do jogador.
Figura 4. Nível difícil do jogo da memória
Memoranimal após solucionado.

4. CONCLUSÃO

A interface gráfica fornece interação do usuário com o sistema. Quase todo sistema moderno tem
alguma forma de interface, seja gráfica, dirigida por linha de comando, ou baseada em comando de voz
(SINTES, 2002). No caso de jogos de computador, a interface deve ser apresentada com a maior quantidade
de recursos visuais possíveis.
O projeto de interface de um jogo pode ser extravagante, atraente ou dinâmico, mas o que é 
realmente relevante é o conceito, o conteúdo e a consistência presente no aplicativo. Um jogo eletrônico só 
pode obter sucesso se as estratégias empregadas em seu projeto produzirem soluções apropriadas às ações 
esperadas pelo usuário, que não espera apenas pelo sistema em funcionamento, espera que o jogo carregue 
também substância, beleza e cumplicidade (MACEDO FILHO, 2007). Um bom jogo deve conter estas 
características para que forneça ao usuário funcionalidade com um suporte estável e um ambiente agradável 
capaz de ser sempre revisitado e reaproveitado. 
Sendo um dos pacotes gráficos do Java, o Swing possui as mesmas vantagens associadas à
linguagem, como portabilidade, robustez, segurança, dinamismo e alto desempenho. Além disso, outra
grande vantagem do Swing, inclusive em relação ao AWT é que a interface gráfica não fica sujeito a bugs do
sistema operacional já que possui componentes independentes de plataforma. O Swing é composto por
componentes de mais alto nível e permite que as aplicações possuam diferentes tipos de visuais. Logo, mais
uma das vantagens da utilização do Swing no desenvolvimento deste tipo de jogo é que ele possui uma
grande quantidade de controles extras, como áreas de texto que podem mostrar conteúdo HTML, por
exemplo.
A maior vantagem, no entanto, seria a disponibilidade dos botões com suportes a imagens, sliders e
selecionadores de cores, sendo possível também alterar o tipo de borda na maior parte dos componentes
tendo-se controle até mesmo de como serão desenhados os mínimos detalhes da apresentação da interface.
Pode-se concluir que o Java Swing é uma boa ferramenta para o desenvolvimento de jogos virtuais
simples, uma vez que os componentes disponíveis dão suporte à construção de interfaces de diversos tipos e
para diversas funcionalidades e situações.
5. REFERÊNCIAS

OLIVEIRA, E. S. G. 2006. Criança e Computador: Interação que impulsiona o desenvolvimento e


a aprendizagem. Universidade do Estado do Rio de Janeiro, RJ, Brasil.

PIAGET, J. 1976. Psicologia e Pedagogia. Trad. Por Dirceu Accioly Lindoso e Rosa Maria Ribeiro da Silva.
Rio de Janeiro, Forense Universitária.

STAHL, M. M. 1990.  Software Educacional: Características dos Tipos Básicos.  Simpósio Brasileiro de 


Informática na Educação, 1. Ed., RJ.

ANTUNES, C. 200. Jogos para a estimulação das múltiplas inteligências. 8ª ed. Petrópolis, R.J: Vozes.

DEITEL, H. M.; DEITEL, P. J. 2005. Java. Como Programar. 6ª ed. São Paulo: Pearson Education do
Brasil.

Sun Microsystems. [Online] Sumário do pacote AWT. Disponível em


<http://java.sun.com/j2se/1.4.2/docs/api/java/awt/package-summary.html>. Acesso em 04 jul 2009.

Sun Microsystems. Descrição do pacote Swing. Disponível em:


<http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/package-summary.html#package_description>. Acesso
em 04 jul 2009.

SINTES, A. 2002. Aprenda Programação Orientada a Objetos em 21 dias. Tradução João Eduardo
Nóbrega Tortello. São Paulo: Pearson Education do Brasil.
MACEDO FILHO, M. D. 2007. A Relevância de Interface s Gráficas Amigáveis para Jogos Eletrônicos 
Funcionais. Disponível em: <http://www.comunidadesvirtuais.pro.br/novastrilhas/textos/ manoelfilho.pdf >.
Acesso em 15 jul. 2009.

Das könnte Ihnen auch gefallen