Lode Runner



Baixar 3.83 Mb.
Página18/19
Encontro07.10.2019
Tamanho3.83 Mb.
1   ...   11   12   13   14   15   16   17   18   19

Editor no PC

O editor do PC foi implementado em J2SE (Java 2 Standard Edition) para facilitar a modelagem orientada a objetos e facilitar futuras coesões entre as classes do jogo e do editor. Com um editor implementado no PC é possível a equipe de desenvolvimento ficar bem mais a vontades com relação a problemas de memória, performance e espaço físico. Sendo possível a implementação de um número bem maior de funcionalidades.


O level designer é o maior interessado neste tipo de editor, pois ele passa a ter um ambiente mais confortável, com mais funcionalidade e provavelmente mais robusto para trabalhar. Uma das principais vantagens deste editor é o tamanho da tela do computador, com ela o criador dos níveis pode ter uma visão completa do cenário que está construindo.
Para construir um novo conjunto de níveis (jogo) o usuário primeiramente deve escolher a opção “New Game” no menu “File” e uma tela onde o usuário deverá informar o nome do jogo e o skin a ser utilizado no mesmo irá aparecer em forma de um dialog (Figura 39 - New Game).


Figura 39 - New Game


Após informa o nome e o skin desejado o usuário poderá realmente criar o cenário desejado (Figura 40 - PC Editor).




Figura 40 - PC Editor


Os requisitos implementados neste editor são:


[RF001] - Paletas de componentes

O editor contém uma paleta com todos os componentes possíveis de serem inseridos no cenário. Para inserir um objeto no cenário o usuário deve clicar e arrastar o componente até o local desejado no cenário (drag and drop) ou simplesmente dar clicar em cima do componente e depois outro click no local que quiser inseri-lo. Caso deseje apagar um objeto inserido o usuário deve clicar sobre um item inserido no cenário e depois pressionar a tecla “delete”.


[RF002] – Persistência

A persistência dos níveis criados é armazenada em arquivos binários para facilitar o acoplamento ao jogo. Através do menu “File” ou pela barra de atalhos o usuário poderá salvar ou abrir seus conjuntos de níveis.


[RF004] - Armazenamento de Mensagens

Para cada estágio o criador do mesmo pode armazenar uma mensagem texto com a história do nível, dica para o jogador vencer aquele nível, ou até mesmo texto que sirva de provocação aos jogadores.


[RF005] - Troca Automática do layout dos tiles

Ao criar um novo jogo o usuário pode selecionar o background que deseja utilizar. Para que o layout do jogo ficar combinando o editor faz automaticamente a troca da imagem utilizada em alguns tiles.

[RF012] - Checar se o estágio é válido

Antes de salvar o estágio o editor faz uma verificação que exige que o herói, o portão e ao menos um ouro tenham sido inseridos no cenário. O editor também não permite que mais de um herói ou portão sejam inseridos nem mais que cinco fantasmas sejam inseridos.


[RF014] - Nomear jogos e níveis

Além de permitir ao usuário nomear os seus jogos, o editor do PC também permite dar nome a cada nível que está sendo criado.


Ao desenvolver para PC não se têm as mesmas dificuldades de espaço e memória que são encontradas em um celular. Pode-se assim elaborar uma arquitetura com um número maior de classes e mais bem elaborada.
A as classes foram divididas em 2 pacotes. O pacote “editor” para armazenar classes responsáveis pela estrutura dos dados e pela persistência dos mesmos e o pacote “editor.gui” que contém as classes responsáveis pela interface gráfica da aplicação.
As classes responsáveis pela estrutura e pela persistência da aplicação são (Figura 41 - Classes do pacote “editor”):


  • editor.Level: Esta classe representa logicamente um nível. Ela contém atributos como: Identificador, nome, mensagem e a matriz que representará logicamente o cenário.

  • editor.Game: É responsável por armazenar a estrutura lógica de um conjunto de níveis, sendo assim ele possui uma lista de objetos do tipo “Level”, o nome do jogo e o tipo de skin escolhido pelo usuário.

  • editor.Persistence: Mantém métodos capazes de manter a persistência dos grupos de níveis em arquivos.

  • editor.ConstantEditor: Armazena algumas constantes utilizadas no código. Essas constantes podem ser strings, bytes, inteiros ou imagens.




Figura 41 - Classes do pacote “editor”


As classes que fazem a interface com o usuário são (Figura 42 - Classes do pacote "editor.gui"):




  • editor.gui.ImageItem: A classe ImageItem só existe para que seja possível implementar “drag and drop”. Ela herda da classe “javax.swing.JLabel” e seu construtor recebe o nome do item que o objeto deve representar e um objeto do tipo “javax.swing.Icon” para representar a imagem a ser mostrada na tela.

  • editor.gui.Scene: Esta classe prover graficamente a representação do cenário que está sendo criado.

  • editor.gui.Skins: É uma classe criada apenas para desenhar as imagens dos skins utilizados pelo editor. Logicamente ela não tem representatividade alguma.

  • editor.gui.DialogGame: Como o seu nome já diz esta classe representa o dialog onde o usuário informa ao sistema que deseja criar um novo jogo, ela faz a interface entre o usuário e o sistema informando qual o nome do grupo de níveis dado pelo usuário e qual skin o mesmo selecionou.

  • editor.gui.FrameEditor: Representa a tela principal do editor é responsável pela navegação entre os níveis, mostrar a paleta de componentes, permitir ao usuário entrar com os dados que representam cada nível e responder aos principais eventos do usuário. Ela possui uma instancia da classe “editor.gui.Scene” para mostrar o cenário que está sendo criado.

  • editor.gui.AboutBox: É responsável por exibir a tela de about do editor.

  • editor.gui.Application: Esta é a classe principal, a aplicação deve ser iniciada a partir dela.

Figura 42 - Classes do pacote "editor.gui"


Alguns requisitos não foram implementados em nenhum dos editores, alguns devido a sua complexidade e outros porque não se faziam necessários ao jogo.





1   ...   11   12   13   14   15   16   17   18   19


©aneste.org 2017
enviar mensagem

    Página principal