You are here

1ª Aula - Controle manual via Java

Atividade 1: Contato com o Web-site da disciplina

Ok, Login e password recebidos e testados.

Atividade 2: Uso e Gerenciamento da Página de Relatórios

  • Criação de uma nova página a partir da página principal
  • Criação de um link a partir da página principal, para a nova página criada
  • Upload de um arquivo genérico para o servidor de arquivos do sistema
  • Criação de um link para o arquivo objeto do upload

Foi criada uma página e foi incuido um link na pagina principal para acesso a pagina criada.

Também foi feito o upload de um arquivo genérico para o servidor do sistema e foi criado o link para o arquivo. Não foi possivel fazer o upload de um arquivo com a extensão .jar, provavelmente devido a questões de segurança.

link para acesso ao arquivo genérico

/gudwin/sites/faculty.dca.fee.unicamp.br.gudwin/files/users/2015-8/1aula/build.xml

 

Atividade 3: Download e Compilação do Código do WorldServer3D

foi feito o download do código fonte do WorldServer3D.

Atividade 4: Geração de um Controlador Manual para o Ambiente Virtual

Para fazer o controle manual da criatura, foi desenvolvido um controlador simples para esta tarefa.

O arquivo executável do World Server 3D está disponível neste link:

/gudwin/sites/faculty.dca.fee.unicamp.br.gudwin/files/users/2015-8/1aula/worldserver3d/launch.jnlp

O arquivo executável está disponível neste link:

/gudwin/sites/faculty.dca.fee.unicamp.br.gudwin/files/users/2015-8/1aula/controlador/launch.jnlp

Abaixo é mostrado o código fonte do controlador:

package ws3dproxy;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import ws3dproxy.model.Creature;
import static ws3dproxy.util.Constants.M_PI;

/**
 *
 * @author rodrigo
 */
public class main {
    
     public static WS3DProxy proxy = null;
     public static Creature creature = null;
     public static String comando;

    public static void main(String[] args) throws CommandExecException {
    
        boolean continua =true;   
        comando = "";
        
        //estabelece a conexão com com o WS3D
        proxy = new WS3DProxy("127.0.0.1", 4011);
      
        //inicia a criatura no ambiente
        creature = proxy.createCreature(100, 100, 2);
        ThreadPanel abc = new ThreadPanel();
        Thread a = new Thread(abc);
        a.start();
        
        while(continua){
            
            if (comando != null){    
                switch (comando) {
                    case "w":
                        creature.move(1, 1, -M_PI/2);
                        creature.start();
                        break;
                    case "d":
                        creature.move(1, 1 , 0);
                        creature.start();
                        break;
                    case "a":
                        creature.move(1, 1, M_PI);
                        creature.start();
                        break;
                    case "s":
                        creature.move(1, 1, M_PI/2);
                        creature.start();
                        break;
                    case " ":
                        creature.stop();
                        continua = false;
                        break;
                    case "help":
                        System.out.println("a - move a esquerda");
                        System.out.println("d - move a direita");
                        System.out.println("w - move para a frente");
                        System.out.println("s - move para baixo");
                        System.out.println("<ESPAÇO> - Sair");
                }
            }
        }
    }
    
    public static class ThreadPanel implements Runnable{
        @Override
        public void run() {
            while(true){
                JFrame frame = new JFrame();
                comando = JOptionPane.showInputDialog(frame, "w = cima\n" + "a = esquerda\n" + "d = direita\n" + "s = baixo\n" + "<ESPAÇO> = Stop\n");
                if(comando.equals(" "))
                    break;
            }
        }
    }
}

O código fonte do controlador Manual está disponível neste link.

/gudwin/sites/faculty.dca.fee.unicamp.br.gudwin/files/users/2015-8/1aula/ver5.zip

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer