You are here

Atividade 4

Geração de um Controlador Manual para o Ambiente Virtual

 

    Este aplicativo WebStart será utilizado para criar um socket de comunicação entre o Controlador Manual (cliente) e o ambiente virtual do WorldServer3D (servidor). O Controlador Manual deve criar uma nova criatura artificial, no ambiente do WorldServer3D, e permitir o seu controle por meio do envio de mensagens do Controlador para a criatura. O WorldServer3D disponibiliza alguns comandos úteis para realizar tais ações. Analisando o arquivo Main, do WorldServer3D, pode-se compreender a sintaxe de tais comandos. A seguir, são listados os comandos (mensagens) usados neste projeto:

startGame: Começa o Jogo (Game). A criatura já pode se mover.

shutdown: Encerra a aplicação do servidor.

new <X> <Y> <PITCH>: Cria uma nova criatura na posição definida por X e Y. A variável PITCH define o posicionamento angular da criatura criada.

camera <creature ID>: Liga o sensor visual (câmera) do robô (criatura virtual). A variável ID se refere à criatura que foi criada. Pode haver mais de uma criatura no ambiente virtual.

start <creature ID>: Liga o sistema motor da criatura.

stop <creature ID>: Pára o sistema motor da criatura.

refuel <creature ID>: Abastece a criatura com energia.

setgoTo <creature ID> <Vr> <Vl> <Xdirection> <Ydirection>: A criatura se move na direção do ponto (X,Y). Mas, ela não pára quando atinge esse ponto. A velocidade linear é a média aritmética de Vr e Vl.

    O projeto é composto por um Formulário ( ControleManual ) e por uma Classe ( Cliente ). O Formulário gera a parte visual do aplicativo, fornecendo a interface gráfica para o usuário. A Classe é responsável pela comunicação com o Ambiente Virtual, gerando os comandos para controlar a criatura virtual. A figura, a seguir, mostra a tela do WorldServer3D, após uma criatura virtual ter sido criada pelo Controlador Manual:

 

Formulário ControleManual

 

      A tela do Controlador Manual está exibida na figura acima. Este controlador possui botões que permitem instanciar uma nova criatura, controlá-la, e encerrar o aplicativo do ambiente WorldServer3D. Os comandos (botões) disponibilizados pelo formulário ControleManual estão listados abaixo:

StartGame: Realiza a conexão com o ambiente virtual e instancia uma criatura virtual no ambiente.

Shutdown: Encerra o ambiente virtual.

Up:  Move a criatura virtual para a parte superior do ambiente virtual.

Down:  Move a criatura virtual para a parte inferior do ambiente virtual.

Right:  Move a criatura virtual para a parte direita do ambiente virtual.

Left:  Move a criatura virtual para a parte esquerda do ambiente virtual.

Pause:  Faz a criatura virtual parar de se mover.

 

Classe Cliente

 

      Esta classe é responsável pela conexão do cliente com o servidor do Ambiente Virtual, além de possuir métodos para a instanciação de uma criatura virtual e sua movimentação. Esta classe possui os seguintes métodos:

 

Conectar:  Cria um socket de comunicação entre o cliente e o servidor, usando a porta 4011.

StartGame:  Envia mensagens para o servidor do Ambiente Virtual, iniciando o game e criando uma criatura virtual. Também habilita a câmera da criatura virtual, além de abastecê-la de energia.

Shutdown:  Encerra a aplicação do servidor do Ambiente Virtual.

Up:  Usa o comando setgoTo para mover a criatura para a parte superior do ambiente.

Down:  Usa o comando setgoTo para mover a criatura para a parte inferior do ambiente.

Right:  Usa o comando setgoTo para mover a criatura para a direita do ambiente.

Left:  Usa o comando setgoTo para mover a criatura para a esquerda do ambiente.

Pause:  Envia o comando stop para parar os motores da criatura virtual.

SendMessage:  Envia mensagens do cliente para o servidor do Ambiente Virtual.

 

       Arquivos Disponibilizados:

 

  Código Fonte: controlemanual.rar

  Controlador Manual: launch.jnlp

 

 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer